Я изменю свою систему с 32-х разрядных на 64-х разрядные, и буду такой же, какой была раньше, Debian Squeeze, но я не хочу потерять программы, которые я установил ранее, потому что я не помню названия всех их.
Поэтому я хотел, чтобы команда делала это для меня, сохраняя имя всех программ, которые я установил в файле, но не стандартные программы, поставляемые с системой, и когда я использую другую систему, я бы назвал имя файл и ваш каталог для всего, что будет установлено автоматически.
Еще один вопрос: возможно ли это сделать с помощью программ, которые были установлены вручную с помощью dpkg-i package.deb
? Если так, как я могу это сделать?
В текущих версиях Debian вы можете получить список явно установленных пакетов с
Для тех, кто использует древние версии Debian, где
apt-mark showmanual
их нет или если вы хотите выполнить дополнительные выборы, вы можете использовать aptitude.~i
соответствует установленным пакетам;!~M
пропускает пакеты, которые были установлены автоматически как зависимость какого-либо другого пакета.-F %p
изменяет формат вывода, чтобы включить только имя пакета.Позже вы можете установить эти пакеты с
У Debian squeeze нет
apt-mark showmanual
, но естьapt-mark showauto
список автоматически установленных пакетов. Если вы используете это, вы можете перечислить все пакеты в старой системе с помощьюdpkg --get-selections >package.list
, восстановить все из них, а затем пометить автоматические пакеты с помощьюapt-mark markauto
. Для вашего варианта использования (от 32 до 64 бит) этот подход, скорее всего, оставит несколько библиотек помеченными как ручные, потому что они имеют разные имена в разных архитектурах.Обратите внимание, что если сценарий использования предназначен для воспроизведения идентичной установки, а не для сохранения набора пакетов, а для изменения архитектуры, теперь существует инструмент под названием apt-clone (распространяется в Debian начиная с wheezy), который делает все автоматически.
источник
acl
мог бы рассматриваться как важная часть базовой системы и поэтому был бы помечен как установленный вручную. Он был «установлен вручную» первоначальным установщиком, а не пользователем, но даже в этом случае значение «автоматически устанавливается» - «вы можете безопасно удалить это, если оно не нарушает зависимости», и основные пакеты, необходимые для создания Система работает должным образом, не отвечают всем требованиям.Я не вижу простой, стандартный способ сделать это. Боюсь, вам придется возиться с
dpkg
журналами и опциями, потомуdpkg
что не различает «стандартные программы, которые поставляются с системой» и другие.ЭТО НЕ БУДЕТ ПРЯМОЙ , я предпочитаю прояснить это, используя жирный текст с заглавной буквы , но вы можете сделать что-то вроде этого
Извлеките список установленного программного обеспечения из
/var/log/dpkg.log*
файлов.Удалите те, которые установлены во время установки системы. (Используйте время установки, чтобы обнаружить их)
Сохранить список в
dpkg --get-selections
форматеИ вуаля! Когда ваша система запущена и работает, переустановите ваши программы с
источник