Переустановите libpam-runtime:
sudo apt-get --reinstall install libpam-runtime libpam-modules
Если вы не можете использовать sudo, используйте корневую оболочку в режиме восстановления. Вы должны использовать проводное соединение и введите:
apt-get --reinstall install libpam-runtime libpam-modules
Вы можете использовать корневую оболочку и скопировать тот же файл, который был сохранен в другом месте, скопированном из другой системы или очистите пакет и установите его.
Вы можете ...
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» для повторной установки диспетчера пакетов (и вручную также необходимо установить все зависимости).
Однажды, когда я запустил 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?) Многие современные дистрибутивы определены и построены в основном на инфраструктуре, предоставляемой их менеджером пакетов по выбору.
Технически, apt не может удалить apt ... потому что apt не знает, как удалить, установить или обновить пакеты. Задачи по установке, удалению, обновлению, настройке пакетов оставляются на dpkg. Хотя вы можете сказать apt удалить пакет под названием «apt», то, что он делает, проверяет обратные зависимости apt-пакета, обратите внимание на эти пакеты и заказы dpkg, чтобы удалить их. Это можно увидеть в других ответах.
Даже без apt вы можете использовать dpkg для установки, удаления или обновления пакетов, просто будет больно отслеживать зависимости и обновления, которые необходимы raison d'être of apt.
Конечно, вы можете. 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 удален и не было текущей резервной копии, то да, менеджер пакетов не будет исправлен в этой системе.
Я клянусь, что недавно видел 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 ".*".