У меня была система Windows 10/Ubuntu 16.04 двойной загрузки. Затем я заставил его утроить начальную загрузку с 18,04. Затем я добавил Lubuntu 16.04 в Vitualbox VM в системе Ubuntu 16.04.
Где-нибудь по пути я заблудился и удалил /usr
вместо usr
. Затем размышление 18.04
недавно синхронизировался к 16.04
Я скопировал те файлы /usr
и закончился с Frankenstein 16.04/18.04.
Таким образом, я создал живой USB 16.04.4 и от скопированного по /usr
каталог. По стечению обстоятельств я закончил с 16.04.4/16.04.5 гибридом приблизительно с 18,04 смешанными в.
Мой apt
был поврежден, но dpkg
все еще работавший, таким образом, я использовал его для переустановки apt
но это была все же другая версия.
Я вытер свои 18,04 разделов и установил новую копию 16.04.5. Я установил некоторые случайные приложения как conky
, dialog
, gimp
, vnstat
, yad
и возможно несколько других.
Поскольку я могу все еще смонтировать свои старые 16,04 разделов, как я могу получить список пакетов (без библиотек и ядер Linux), который все еще должен быть установлен на моих новых 16,04 разделах?
dpkg
, diff
и grep
Мой ответ основан на этом Вопросы и ответы: Разность множеств пакетов установлена на 2 машинах. Различия:
apt
повреждается в моих старых 16,04 разделах, таким образом, dpkg
используется вместо этогоЯ смонтировал свои старые 16,04 разделов как /mnt/old
и введенный следующее:
/mnt/old$ dpkg --admindir=var/lib/dpkg --get-selections|sort > ~/installed-old
/mnt/old$ dpkg --admindir=/var/lib/dpkg --get-selections|sort > ~/installed-new
/mnt/old$ diff -u ~/installed-old ~/installed-new > ~/compare-old-new
/mnt/old$ cat ~/compare-old-new | grep '^-' | grep -v -e '^-lib' -e '^-linux' | wc -l
257
Таким образом, существует потенциально 257 пакетов, которые должны быть переустановлены, но многие из них будут автоустановлены пакетом, который зависит от них.
Вот отрывок списка когда команда cat ~/compare-old-new | grep '^-' | grep -v -e '^-lib' -e '^-linux'
используется:
-mesa-utils install
-mesa-vdpau-drivers:amd64 install
-milou install
-mkusb-common install
-mkusb install
-mkusb-nox install
-module-init-tools install
-mutter-common install
-mutter install
-mysql-common install
-nasm install
-nautilus-hide install
-nautilus-image-converter install
-ntrack-module-libnl-0 deinstall
-nvidia-384 deinstall
-nvidia-390 deinstall
-nvidia-opencl-icd-384 deinstall
-nvidia-opencl-icd-390 deinstall
-nvidia-prime deinstall
-nvidia-settings deinstall
-nvme-cli install
-ocl-icd-libopencl1:amd64 install
-oracle-java8-installer install
-oracle-java8-set-default install
-oxideqt-codecs:amd64 install
-oxygen5-icon-theme deinstall
-pavucontrol install
-peek install
Большинство отрезанных является пакетами, установленными для ответа на вопрос в, Спрашивает Ubuntu. От этого отрывка я только должен переустановить: mesa-utils
, mutter
, nvme-cli
, pavucontrol
и peek
.
Пакеты выпускаются под брендом deinstall
может быть проигнорирован: dpkg - получать-выборы показывают, что отмеченные пакеты "деинсталлируют"