Я хочу выполнить эту команду (см. раздел 4
отсюда https://help.ubuntu.com/community/AptGet/Howto#Removal_commands):
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
Я использую sudo
вначале, но так или иначе я получаю ошибку:
user@user-desktop:~$ sudo dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
[sudo] password for user:
dpkg: error: requested operation requires superuser privilege
Почему sudo
не работает? Что еще я должен ввести?
попробуйте войти в систему как root, чтобы получить сверхдержаву, вы можете сделать это, набрав:
sudo -i
затем напишите ( copy / paste :: Ctrl + C / Ctrl + Shift + V < - вставить в терминал ) вашу команду в терминале, и она должна работать
sudo -i dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
Это может запустить вашу команду с привилегиями ROUTE . Судо и рут разные. В работе
sudo
относится только к одной команде, а не ко всему конвейеру. В вашем случае команда выполнялась с правами суперпользователя dpkg -l
, что необязательно.
Напротив, команда, действительно требующая доступа суперпользователя в вашем конвейере, - dpkg --purge
, поэтому добавьте sudo
непосредственно к ней.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs sudo dpkg --purge
Кстати, awk
может фильтровать строки, используя регулярные выражения , как это делает grep
, поэтому вы можете сохранить одну команду:
dpkg -l | awk '/^rc/{print $2}' | xargs sudo dpkg --purge