Рейтинг:3

apt забыл о более чем 1000 пакетов, и я не могу переустановить

флаг us

я бегу 20.04.2 LTS (Фокальная ямка)

я не бежал способность на пару дней. Он всегда работал нормально, но когда я попробовал его сейчас, он начал выдавать мне диалоговое окно «e Examine» каждый раз, когда я запускал его. Когда я набираю «е», он запускается на 10–20 минут, и в верхней части страницы отображается следующее:

открытый: ааа; закрытый: ббб; отложить: ccc; конфликт: ддд

Где 'aaa', 'bbb', 'ccc', 'ddd' увеличивают числовые значения... а 'aaa' и 'bbb' быстро увеличиваются, до более чем 50 000.

Спустя некоторое время, способность просто выходит.

В этот момент, если я бегу dpkg --configure -a, он быстро возвращается в командную строку без ошибок. Но потом, когда я бегу apt-получить установку -f, я получаю список из более чем 1000 имен пакетов, за которыми следует это...

Используйте «sudo apt autoremove», чтобы удалить их.
0 обновлено, 0 установлено заново, 0 удалено и 0 не обновлено.

Большинство из этих пакетов (вероятно, все они на самом деле) являются элементами, которые я использую изо дня в день, и их не следует удалять.

А также, если я зафиксирую огромный список пакетов, которые отображаются, когда я делаю apt-получить установку -f, и если я создам тысячу или около того метко установить PKG команды для каждого из этих имен пакетов, а затем запускаю это, я просто получаю несколько списков тех же тысяч или около того пакетов для каждой из этих команд, за которыми следует одно и то же сообщение «использовать sudo apt autoremove» после каждого метко установить PKG запустить.

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

Тем не менее, я действительно не хочу тратить время, пытаясь понять Почему это произошло. Я просто хочу исправить это, чтобы все эти пакеты снова были правильно установлены и управлялись через подходящий.

Может ли кто-нибудь указать мне на документы, которые могут мне помочь, или, возможно, предложить решение?

Заранее большое спасибо.

PS: мой /etc/apt/sources.list не менялся в течение нескольких недель, и в нем нет файлов. /etc/apt/source.list.d изменился за долгое время. Собственно, ничего под /и т.д./подходящий кажется, изменилось с тех пор, как пару месяцев назад.

PPS*: Вот последняя дюжина или около того строк /var/log/apt/history.log ...

Дата начала: 2021-07-24 20:01:24
Запрошено: ljz (1000)
Установите: linux-headers-5.4.0-80-generic:amd64 (5.4.0-80.90, автоматически), linux-modules-5.4.0-80-generic:amd64 (5.4.0-80.90, автоматически), linux- заголовки-5.4.0-80: amd64 (5.4.0-80.90, автоматически), linux-image-5.4.0-80-generic: amd64 (5.4.0-80.90, автоматически), linux-modules-extra-5.4. 0-80-универсальный: amd64 (5.4.0-80.90, автоматический)
Обновление: networkd-dispatcher:amd64 (2.0.1-1, 2.1-2~ubuntu20.04.1), linux-headers-generic:amd64 (5.4.0.77.80, 5.4.0.80.84), linux-libc-dev: amd64 (5.4.0-77.86, 5.4.0-80.90), libcurl4:amd64 (7.68.0-1ubuntu2.5, 7.68.0-1ubuntu2.6), ruby2.7:amd64 (2.7.0-5ubuntu1.4, 2.7.0-5ubuntu1.5), libsystemd0:amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), linux-image-generic:amd64 (5.4.0.77.80, 5.4.0.80.84), libsystemd-dev :amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), python3-pip:amd64 (20.0.2-5ubuntu1.5, 20.0.2-5ubuntu1.6), udev:amd64 (245.4-4ubuntu3.7, 245.4 -4ubuntu3.11), ruby2.7-dev:amd64 (2.7.0-5ubuntu1.4, 2.7.0-5ubuntu1.5), ruby2.7-doc:amd64 (2.7.0-5ubuntu1.4, 2.7.0 -5ubuntu1.5), libudev1:amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), systemd-timesyncd:amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), libxnvctrl0:amd64 (460.73.01- 0ubuntu0.20.04.1, 470.57.01-0ubuntu0.20.04.1), libglib2.0-dev-bin:amd64 (2.64.6-1~ubuntu20.04.3, 2.64.6-1~ubuntu20.04.4), libruby2. 7:amd64 (2.7.0-5ubuntu1.4, 2.7.0-5ubuntu1.5), системаd -sysv:amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), libglib2.0-bin:amd64 (2.64.6-1~ubuntu20.04.3, 2.64.6-1~ubuntu20.04.4), libpam-systemd :amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), libglib2.0-dev:amd64 (2.64.6-1~ubuntu20.04.3, 2.64.6-1~ubuntu20.04.4), libglib2.0-doc :amd64 (2.64.6-1~ubuntu20.04.3, 2.64.6-1~ubuntu20.04.4), systemd:amd64 (245.4-4ubuntu3.7, 245.4-4ubuntu3.11), libnss-systemd:amd64 (245.4-4ubuntu3 .7, 245.4-4ubuntu3.11), libglib2.0-data:amd64 (2.64.6-1~ubuntu20.04.3, 2.64.6-1~ubuntu20.04.4), curl:amd64 (7.68.0-1ubuntu2.5 , 7.68.0-1ubuntu2.6), linux-generic:amd64 (5.4.0.77.80, 5.4.0.80.84), python-pip-whl:amd64 (20.0.2-5ubuntu1.5, 20.0.2-5ubuntu1 .6), libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.3, 2.64.6-1~ubuntu20.04.4), libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.5, 7.68.0 -1убунту2.6)
Дата окончания: 2021-07-24 20:02:46

Дата начала: 2021-07-25 19:31:25
Запрошено: ljz (1000)
Удалить: linux-modules-extra-5.4.0-74-generic: amd64 (5.4.0-74.83), linux-modules-extra-5.4.0-73-generic: amd64 (5.4.0-73.82)
Дата окончания: 2021-07-25 19:31:28

Дата начала: 27.07.2021 18:56:53
Запрошено: ljz (1000)
Обновление: libaspell15:amd64 (0.60.8-1build1, 0.60.8-1ubuntu0.1), aspell:amd64 (0.60.8-1build1, 0.60.8-1ubuntu0.1), libmysqlclient21:amd64 (8.0.25-0ubuntu0. 20.04.1, 8.0.26-0ubuntu0.20.04.2), teamviewer: amd64 (15.19.3, 15.20.3)
Дата окончания: 27.07.2021 18:57:05

способность работал нормально около 24 июля 2021 г., поэтому что бы ни сломало мою настройку, должно быть, это произошло после этого.

Вывод поиск sudo aptitude? сломан

iB anydesk — самое быстрое программное обеспечение для удаленного рабочего стола на рынке.                
iBA apt — менеджер пакетов командной строки                                       
iBA aptitude - менеджер пакетов на основе терминала                                    
iBA base-files — разные файлы базовой системы Debian                            
iBA base-passwd — мастер-пароль и групповые файлы базовой системы Debian                
iBA bash — GNU Bourne Again SHell                                            
iBA bsdutils — основные утилиты из 4.4BSD-Lite                                  
iB chromium-common — веб-браузер — общие ресурсы, используемые пакетами chromium      
iB chromium-sandbox — веб-браузер — песочница безопасности setuid для хрома                
iB containerd.io — открытая и надежная среда выполнения контейнеров                            
iBA coreutils — основные утилиты GNU                                                
iBA dash — POSIX-совместимая оболочка                                             
iBA debianutils — различные утилиты, характерные для Debian.                        
iBA diffutils - Утилиты для сравнения файлов                                         
iBA dpkg — система управления пакетами Debian.                                  
iBA e2fsprogs - утилиты файловой системы ext2/ext3/ext4                              
iBA fdisk - набор утилит для разметки                              
iBA findutils — утилиты для поиска файлов — find, xargs                          
iB google-chrome-stable — веб-браузер от Google                                       
iBA grep — GNU grep, egrep и fgrep                                         
iBA gzip — утилиты сжатия GNU                                         
iBA hostname - утилита для установки/отображения имени хоста или доменного имени                  
iBA libc-bin — библиотека GNU C: двоичные файлы                                           
iBA libcurl3-gnutls — простая в использовании библиотека передачи URL-адресов на стороне клиента (разновидность GnuTLS)     
iBA libglib2.0-0 - библиотека GLib подпрограмм C                                        
iBA libnss-systemd — модуль nss, обеспечивающий динамическое разрешение имен пользователей и групп.       
iBA libpam-systemd — системный и сервисный менеджер — модуль PAM                           
iBA libsystemd0 — служебная библиотека systemd                                           
iBA libudev1 — разделяемая библиотека libudev                                            
iBA linux-base — базовый пакет образа Linux                                          
iBA linux-headers-5.4.0-80-generic — заголовки ядра Linux для версии 5.4.0 на 64-битной x86 SMP          
iBA linux-image-5.4.0-80-generic — Подписанный общий образ ядра                                       
iBA linux-image-generic — общий образ ядра Linux                                        
iBA linux-modules-extra-5.4.0-80-generic — дополнительные модули ядра Linux для версии 5.4.0 на 64-битной x86 SMP    
Вход в iBA - инструменты для входа в систему                                                
iBA mount — инструменты для монтирования файловых систем и управления ими.                   
iBA ncurses-bin — программы для терминала и справочные страницы                           
iB net.downloadhelper.coapp — приложение-компаньон Video DownloadHelper                                
iBA networkd-dispatcher — Диспетчерская служба для изменения статуса соединения systemd-networkd 
iB ocenaudio — Ocenaudio — быстрый кроссплатформенный аудиоредактор.                 
iBpalemoon - эффективный и простой в использовании веб-браузер на основе Firefox              
iBA perl-base — минимальная система Perl                                               
iB rpi-imager — утилита обработки изображений Raspberry Pi                                      
iBA sed — потоковый редактор GNU для фильтрации/преобразования текста                 
iB signal-desktop — Обмен личными сообщениями с рабочего стола                               
iB signal-desktop-beta — Обмен личными сообщениями с рабочего стола                               
iBA systemd - системный и сервисный менеджер                                        
iBA systemd-timesyncd — минималистичный сервис для синхронизации локального времени с NTP-серверами   
iBA sysvinit-utils — утилиты, подобные System-V                                           
iBA tar — GNU-версия утилиты архивирования tar.                          
iBA util-linux — разные системные утилиты                                    
iB vdpau-va-driver — серверная часть на основе VDPAU для VA API                                    
iB zoom - Zoom, сервис №1 для видеоконференций и веб-конференций          

И вот еще:

% sudo подходящее обновление
Попадание:1 https://linux.teamviewer.com/deb стабильная версия InRelease
Попадание: 2 https://updates.signal.org/desktop/apt xenial InRelease                                     
Получить: 3 http://security.ubuntu.com/ubuntu focus-security InRelease [114 КБ]                         
Попадание:4 http://us.archive.ubuntu.com/ubuntu focus InRelease                                                    
Попадание: 5 http://us.archive.ubuntu.com/ubuntu focus-updates InRelease                                            
Получите:6 http://us.archive.ubuntu.com/ubuntu focus-backports InRelease [101 КБ]
Попадание:7 http://archive.canonical.com/ubuntu фокус InRelease                                
Получено 214 КБ за 1 с (178 КБ/с)
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
3 пакета могут быть обновлены. Запустите «apt list --upgradable», чтобы увидеть их.

% sudo apt list --upgradeable
Листинг... Готово
signal-desktop-beta/xenial 5.11.0-beta.3 amd64 [можно обновить с: 5.8.0-beta.1]
signal-desktop/xenial 5.10.0 amd64 [можно обновить с: 5.9.0]
ubuntu-advantage-tools/focal-updates 27.2.2~20.04.1 amd64 [можно обновить с: 27.1~20.0

% sudo apt-получить установку -f
Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Следующие пакеты были установлены автоматически и больше не требуются:
  fonts-ubuntu fonts-uralic fotoxx fotoxx-common дружественное-восстановление ftp gdal-data gegl genisoimage geoclue-2.0 geoip-database
  [ ... более 100 строк, содержащих больше имен пакетов ... ]
Используйте «sudo apt autoremove», чтобы удалить их.
0 обновлено, 0 установлено заново, 0 удалено и 3 не обновлено.

Еще больше...

grep -r "^deb" /etc/apt/ --include=*.list
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ основное ограничение
/etc/apt/sources.list:deb-src http://us.archive.ubuntu.com/ubuntu/ фокальная ограниченная основная вселенная мультивселенная
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ основное ограниченное основное обновление
/etc/apt/sources.list:deb-src http://us.archive.ubuntu.com/ubuntu/ focus-updates ограниченная мультивселенная основной вселенной
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ фокальная вселенная
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ вселенная фокальных обновлений
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ фокальная мультивселенная
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ фокальные обновления мультивселенной
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ focus-backports основная ограниченная вселенная мультивселенная
/etc/apt/sources.list:deb-src http://us.archive.ubuntu.com/ubuntu/ focus-backports основная ограниченная вселенная мультивселенная
/etc/apt/sources.list:deb http://archive.canonical.com/главный партнер Ubuntu
/etc/apt/sources.list:deb-src http://archive.canonical.com/главный партнер Ubuntu
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu focus-security основной ограниченный доступ
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu focus-security ограниченная основная вселенная мультивселенная
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu вселенная фокальной безопасности
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu мультиверсия фокальной безопасности
/etc/apt/sources.list.d/teamviewer.list:deb https://linux.teamviewer.com/deb стабильная основная
/etc/apt/sources.list.d/signal-xenial.list:deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org /desktop/apt xenial основной

Возможное решение ...

Что, если я сделаю следующее? ...

  1. бег sudo apt-get install -f >apt-installs
  2. отредактируйте этот файл, удалив строки, предшествующие и следующие за именами пакетов, и поместив «sudo apt install» в начало каждой строки
  3. запустите «sudo apt autoremove»
  4. запустите «bash apt-installs», чтобы переустановить каждый пакет.

Вот как будет выглядеть файл «apt-installs» после шага 2…

sudo apt install accountservice acpi-support acpid adb alsa-base android-libadb android-libbase android-libboringssl android-libcrypto-utils
sudo apt установить android-libcutils android-liblog android-sdk-platform-tools-common apt-rdepends aptdaemon aptdaemon-data apturl apturl-common
sudo apt install aria2 дерзкий дерзкий-плагины дерзкий-плагины-данные bind9-dnsutils blueman bluez bluez-cups brltty brltty-x11 brotli
sudo apt install busybox-static byobu catdoc catfish cheese-common cinnamon-desktop-data cinnamon-l10n clang-format-11 clang-tidy-11
sudo apt install clang-tools-11 command-not-found cppcheck cvs dc dctrl-tools debhelper Debtree Devilspie Devilspie2 dh-autoreconf
sudo apt install dh-elpa-helper dh-strip-nondeterminism diffstat distro-info dmz-cursor-theme doc-base docbook-xml dwz efibootmgr elfutils
[ ... и т.д. ... более 100 строк ]

Что вы думаете? Может ли это решить мою проблему?

Еще продолжение...

После дополнительного расследования о подходящий, теперь я вижу, что sudo apt автоудаление действительно удалит все эти пакеты. Это более 1000 пакетов, и после этого моя система действительно станет непригодной для использования. И мне непонятно, работают ли все эти Судо ап установить... команды будут даже работать, учитывая, что так много другого программного обеспечения было бы удалено.

Итак, я все еще застрял. :(

Я не хочу удалять какое-либо программное обеспечение. я просто хочу получить подходящий кэширует обратно в пригодное для использования состояние без изменения каких-либо существующих установок программного обеспечения.

guiverc avatar
флаг cn
Вы не предоставили никаких подробностей, позволяющих нам увидеть, но похоже, что вы внесли неуместные изменения в свои источники и загрязнили свою исходную *фокальную* систему, либо создали условия, требующие удаления множества пакетов для устранения проблем, или вы вызвали удаление, добавив в свою систему неподходящий пакет, в любом случае причина будет найдена в ваших журналах apt (`/var/log/apt/history.log`), которые мы не можем просмотреть; так же, как мы не можем видеть вывод `sudo apt update`, который показывает потенциальные проблемы.
HippoMan avatar
флаг us
Я перечислил каждую команду, которую я запускал, дословно. Например, `dpkg configure -a`, который, как я сказал, не выводит ничего, и `apt-get install -f`, который я упомянул явно. Я не буду перечислять сотни строк вывода, потому что каждая строка была просто списком пакетов. И я перечислил явный вывод, который он дал, в конце, после того, как было перечислено около 1000 имен пакетов. Что может быть конкретнее? Это реальный вопрос, а не риторический. Большое тебе спасибо.
HippoMan avatar
флаг us
Я только что добавил «PPS» в конец своего поста с содержимым `/var/log/apt/history.log`.
N0rbert avatar
флаг zw
Пожалуйста, добавьте вывод `aptitude search ?broken` в тело вопроса.
HippoMan avatar
флаг us
Я только что добавил вывод `aptitude search ?broken` в тело вопроса.
HippoMan avatar
флаг us
... и теперь я добавил еще больше деталей к вопросу.
N0rbert avatar
флаг zw
Также поделитесь выводом `grep -r "^deb" /etc/apt/ --include=*.list` . Запуск автоудаления с помощью `sudo apt autoremove` также был бы полезен.
HippoMan avatar
флаг us
Я добавил к вопросу вывод команды `grep`. Однако я боюсь запускать `apt autoremove`, потому что не хочу, чтобы 1000 с лишним пакетов были удалены. Прямо сейчас моя система работает нормально, но я боюсь, что это закончится, если я сделаю `apt autoremove`. Или у меня останется такая же работоспособная система после автоудаления?
HippoMan avatar
флаг us
Я разместил «Возможное решение» в конце моего вопроса. Что вы думаете? Я просто хочу убедиться, что «меткое автоматическое удаление» не оставит мне непригодную для использования систему.
HippoMan avatar
флаг us
После дальнейшего изучения `apt`, я теперь думаю, что "autoremove" действительно оставит мою систему в совершенно непригодном для использования состоянии. Будут очищены не только кеши apt, но и каждый из более чем 1000 пакетов. Итак, я все еще в недоумении, как решить эту проблему.
HippoMan avatar
флаг us
Я понял, как это исправить. Смотрите мой ответ ниже.
Рейтинг:1
флаг us

Я понял, как решить эту проблему. Мне нужно было удалить и переустановить все эти 1000 с лишним пакетов, и я сделал это один за другим. И тогда мне нужно было переустановить способность. Чтобы выполнить это исправление, я выполнил следующие шаги...

Шаг 1:

% sudo apt-get install -f >apt-installs

После запуска этого apt-установки файл содержал эти данные...

Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Следующие пакеты были установлены автоматически и больше не требуются:
  менеджер журнала активности apg дерзкий дерзкий-плагины cppcheck cracklib-runtime dh-strip-nondeterminism docbook-xml
  [... более 180 строк, содержащих списки имен пакетов...]
Используйте «sudo apt autoremove», чтобы удалить их.
0 обновлено, 0 установлено заново, 0 удалено и 3 не обновлено.

Шаг 2:

я отредактировал это apt-установки файл, чтобы удалить верхние 4 строки и нижние 2 строки, и я переформатировал его так, чтобы в каждой строке было одно имя пакета.

Шаг 3:

я добавил строку почини это к началу каждой строки.

Шаг 4:

Я создал функцию оболочки с именем почини это удалить, а затем установить указанный пакет, и я поместил эту функцию вверху apt-установки файл. Тогда вот что первая дюжина или около того строк apt-установки выглядит как ...

почини это() {
  [[ $# -lt 1 ]] && вернуть 0
  пакет = "${1}"
  сдвиг
  echo "### исправление ${package}"
  apt-get -y удалить "${package}"
  apt-get -y установить "${package}"
  эхо ''
}
              
Fixit диспетчер журналов активности
исправить апг
исправить дерзкий
fixit дерзкие-плагины
исправить cppcheck
Fixit Cracklib-среда выполнения
fixit dh-strip-nondeterminism
исправить docbook-xml
fixit gkbd-capplet
исправить гном-Bluetooth
fixit gnome-control-center-данные
[ ... и т.д. ... более 1500 строк ]

Шаг 5:

Я запустил это:

% sudo bash apt-установки

Это удалило и переустановило каждый из пакетов.

Преимущество этих поэтапных запусков «удаления/установки» для каждого пакета заключается в том, что только один единственный пакет удаляется, а затем переустанавливается в любой момент, вместо того, чтобы удалять более 1500 частей программного обеспечения через автоматическое удаление и тем самым делая мою систему неработоспособной.

Шаг 6:

Затем я выполнил эти две команды...

% sudo apt-get очистить способность
% sudo apt-get установить способность

Прежде чем я сделал это, способность все еще зависал и вылетал, даже после переустановки всех пакетов. Эта очистка/установка исправила способность сбои.

И сейчас, подходящий, способный получить, и способность все снова работает нормально, и мою систему все еще можно использовать.

Все хорошо, что хорошо кончается.

Рейтинг:0
флаг zw

Обычно такие проблемы решаются путем удаления автоматически удаляемых пакетов с помощью

sudo apt автоудаление

а затем запустив Aptitude в интерактивном режиме,

судо способность

а потом удар F10, ДействияОтменить отложенные действия, тогда г чтобы убедиться, что все хорошо.

HippoMan avatar
флаг us
Большое тебе спасибо. Я только что сделал это ... сначала «F10» «Отменить отложенные действия», а затем снова «F10», а затем «g». В этот момент я получаю сообщение «Попытка исправить поврежденные пакеты», но моя система в основном зависает, поскольку это сообщение просто отображается на экране. Мой процессор на 100 процентов. И красная строка «Разрешение зависимостей» находится внизу, а под ней еще одна красная строка с «e Examine». Я позволю этому поработать какое-то время, но я не оптимистичен.
HippoMan avatar
флаг us
... и примерно через 10 минут `aptitude` просто рухнул.

Ответить или комментировать

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