Могу ли я удалить apt с apt?

Переустановите libpam-runtime:

sudo apt-get --reinstall install libpam-runtime libpam-modules

Если вы не можете использовать sudo, используйте корневую оболочку в режиме восстановления. Вы должны использовать проводное соединение и введите:

apt-get --reinstall install libpam-runtime libpam-modules

Вы можете использовать корневую оболочку и скопировать тот же файл, который был сохранен в другом месте, скопированном из другой системы или очистите пакет и установите его.

1
задан 20 January 2016 в 02:18

5 ответов

Вы можете ...

sudo apt-get remove apt
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be REMOVED:
  apt apt-utils apturl nautilus-share python3-software-properties
  software-center software-properties-common software-properties-gtk
  ubuntu-desktop ubuntu-extras-keyring ubuntu-minimal unattended-upgrades
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt
0 upgraded, 0 newly installed, 12 to remove and 0 not upgraded.
After this operation, 9,031 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
?] Yes, do as I say!
(Reading database ... 179817 files and directories currently installed.)
Removing ubuntu-desktop (1.327) ...
Removing nautilus-share (0.7.3-1ubuntu5) ...
Removing apturl (0.5.2ubuntu4) ...
dpkg: warning: while removing apturl, directory '/usr/lib/python3/dist-packages/AptUrl/gtk/backend' not empty so not removed
Removing software-properties-gtk (0.94) ...
dpkg: warning: while removing software-properties-gtk, directory '/usr/lib/python3/dist-packages/softwareproperties/gtk' not empty so not removed
Removing software-properties-common (0.94) ...
Removing python3-software-properties (0.94) ...
Removing unattended-upgrades (0.82.8) ...
Removing ubuntu-minimal (1.327) ...
Removing apt-utils (1.0.9.2ubuntu2) ...
Removing software-center (13.10-0ubuntu4.1) ...
Removing ubuntu-extras-keyring (2010.09.27) ...
OK
Removing apt (1.0.9.2ubuntu2) ...
Processing triggers for man-db (2.7.0.2-2) ...
Processing triggers for gconf2 (3.2.6-2ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu2) ...
Processing triggers for bamfdaemon (0.5.1+14.10.20140925-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.55ubuntu1) ...
Processing triggers for dbus (1.8.8-1ubuntu2) ...
Processing triggers for libc-bin (2.19-10ubuntu2) ...

и будете предупреждены, что вы собираетесь сделать что-то очень разрушительное. Должен сказать ... список пакетов выглядит ужасно для экономии пространства менее 6000 кб: D

Он заканчивается, но нет пути назад, используя «apt-get». Ubuntu Software Center больше не будет работать, и вам нужно будет использовать «dpkg» для повторной установки диспетчера пакетов (и вручную также необходимо установить все зависимости).

29
ответ дан 23 May 2018 в 14:13
  • 1
    необходимо будет использовать "dpkg" для переустановки диспетчера пакетов (и вручную также необходимо установить все зависимости) , так, другими словами, sudo apt-get remember-what-2002-was-like – user1717828 17 January 2016 в 19:18
  • 2
    Не могли бы вы загрузиться в Live CD, а затем chroot и apt-get, как и Arch? – Sparhawk 18 January 2016 в 03:17
  • 3
    @Sparhawk Не уверен, к чему вы стремитесь; после вас, вы находитесь в корне вашей нормальной системы и будете искать apt-get там, который вы удалили. Я думаю, apt-get (или, возможно, это dpkg) позволяет указать альтернативный корневой каталог, но я не могу быстро найти, как вы это сделаете. – Michael Kjörling 18 January 2016 в 19:12
  • 4
    Ни один из пакетов, которые он удаляет, особенно «страшно» ИМО, за исключением, конечно, самого себя. – Random832 18 January 2016 в 22:48
  • 5
    @ MichaelKjörling Я думал, что вы можете запустить ручной путь к apt-get, установив новый «root», но я забыл, что вам понадобятся все файлы config / cache. Возможно, ваше возможное предложение будет более чистым (если есть такой вариант). – Sparhawk 19 January 2016 в 02:13

Однажды, когда я запустил CoreUbuntu, я установил баггированный пакет из источника, который apt решил устаревать apt. В следующий раз, когда я побежал apt autoremove, я фактически не просмотрел список программного обеспечения, которое нужно удалить, и apt был в списке.

Представьте мое удивление в следующий раз, когда я набрал apt install <package-name> и получил The program 'apt' is currently not installed. You can install it by typing: sudo apt-get install apt.

К счастью, по какой-то причине autoremove не удалил ни одного из apt поэтому все, что мне нужно было сделать, это архив wget apt .deb и переустановить с помощью dpkg -i.

Как показано в других ответах, если вы удалите apt с помощью apt, у вас будет больше проблем из-за зависимостей, которые он пытается решить.

Мне кажется интересным, но это действительно так (конечно, для Debian, и, возможно, Fedora / openSUSE?) Многие современные дистрибутивы определены и построены в основном на инфраструктуре, предоставляемой их менеджером пакетов по выбору.

11
ответ дан 23 May 2018 в 14:13
  • 1
    Бьюсь об заклад, причина, по которой apt не удаляла зависимостей, заключается в том, что установленный вами багги-пакет перечислил их по мере необходимости. Имеет смысл, если этот пакет предназначен для замены. – Dmitry Grigoryev 18 January 2016 в 20:35

Технически, apt не может удалить apt ... потому что apt не знает, как удалить, установить или обновить пакеты. Задачи по установке, удалению, обновлению, настройке пакетов оставляются на dpkg. Хотя вы можете сказать apt удалить пакет под названием «apt», то, что он делает, проверяет обратные зависимости apt-пакета, обратите внимание на эти пакеты и заказы dpkg, чтобы удалить их. Это можно увидеть в других ответах.

Даже без apt вы можете использовать dpkg для установки, удаления или обновления пакетов, просто будет больно отслеживать зависимости и обновления, которые необходимы raison d'être of apt.

5
ответ дан 23 May 2018 в 14:13

Конечно, вы можете. Apt и dpkg сами являются пакетами, и они должны быть обновлены через них, поэтому есть положения для удаления; в противном случае /var/lib/dpkg/info/dpkg.prerm и /var/lib/dpkg/info/dpkg.postrm не будут иметь причины для существования:)

Если вы случайно удалили их таким образом, чтобы вы остались без dpkg, вы все равно могли бы вручную распаковать архив .db для dpkg, если только вы также избавился от binutils, tar, gzip / bzip2.

--purge на любых пакетах, связанных с apt toolchain, может дать вам неприятные проблемы; трудно определить, что принадлежит определенным файлам в /var/lib/dpkg. Если /var/lib/dpkg/status удален и не было текущей резервной копии, то да, менеджер пакетов не будет исправлен в этой системе.

1
ответ дан 23 May 2018 в 14:13

Я клянусь, что недавно видел apt двоичные файлы под /usr/local/bin в системе на основе Ubuntu, но их нет в моей текущей системе Ubuntu MATE 15.04 (они находятся в /usr/bin с большей частью другие двоичные файлы). Если это было в /usr/local/bin, то, вероятно, было бы невозможно удалить его с помощью apt, поскольку файлы в /usr/local/bin должны игнорироваться диспетчером пакетов. Должен признать, что добавление apt (и dpkg) в /usr/local/bin было бы хорошей идеей.

Более интересный вопрос: что произойдет, если вы удалите dpkg? Разумеется, dpkg указан как пакет apt, но я не буду пытаться удалить его сейчас (на данный момент у меня нет виртуальной машины). Теоретически можно также удалить его с помощью dpkg. Я собираюсь принять обоснованное предположение, что единственный способ переустановить его - это сделать это вручную, а затем надеяться, что он подберет существующие файлы конфигурации (так что вам не нужно вручную вручную сообщать системе какие пакеты установлены), а затем сообщите, что пакет dpkg теперь установлен снова.

(Шутка :). Пользовательский эквивалент Debian # rm -rf / - # apt-get purge ".*".

-1
ответ дан 23 May 2018 в 14:13
  • 1
    Если что-либо из официального дистрибутива заканчивается в / usr / local / bin, укажите ошибку в этом пакете. – rackandboneman 20 January 2016 в 14:42
  • 2
    Дело в том, что это не из пакета; он был установлен отдельно от менеджера пакетов с явным намерением избежать «apt-get remove apt». и "apt-get remove dpkg" проблемы. Я думаю, что это был Linux Mint, который я использовал в качестве своей основной системы. – Micheal Johnson 20 January 2016 в 18:34

Другие вопросы по тегам:

Похожие вопросы: