после переустановки системы мне нужно снова установить приложения. Можно ли создать bash-скрипт или собственный пакет, в который я могу добавить необходимое приложение, и после переустановки системы я установлю их все одной командой?
Вы можете использовать команду типа sudo apt install app1 app2 app3
для установки нескольких приложений из терминала или скрипта bash. Просто перечислите все приложения, которые вы хотите установить с помощью этой команды.
Например, если бы я хотел установить приложения gufw, libreoffice и hexchat, я бы просто запустил команду sudo apt install gufw libreoffice hexchat
.
Убедитесь, что вы используете правильное имя пакета для каждого из них, потому что, если любое из имен пакетов в команде введено с ошибкой или неверно, вся команда завершится ошибкой.
Для создания списка установленных пакетов используйте:
sudo dpkg --get-selections > package.list
. Для восстановления пакетов используйте:
sudo dpkg --set-selections < package.list
sudo apt-get dselect-upgrade
. Если пакеты поступают из репозиториев apt, достаточно предоставить длинный список в командной строке
sudo apt install pkg1 pkg2 pkg3
Если список большой, вы можете столкнуться с слишком длинной ошибкой списка аргументов. В таком случае вы можете создать текстовый файл со списком пакетов, по одному на строку, и запустить что-то вроде
sudo xargs --arg-file packages.txt apt install
Не забудьте обновить кэш пакетов перед установкой
sudo apt update
Для [ 113] пакетов, найденных локально на диске, вы можете использовать sudo dpkg -i ./*.deb
в текущем рабочем каталоге или sudo dpkg -R -i debfiles/
для рекурсивного обхода каталога debfiles/
(определяется пользователем, его можно заменить другим именем). Тем не менее, есть проблемы , когда этим пакетам могут понадобиться зависимости в первую очередь, и связанная публикация предоставляет скрипт Python для решения этой проблемы посредством топологической сортировки.