Скажем, я хочу установить все пакеты ubuntu-wallpapers
, поэтому я ввожу в терминал следующее:
sudo apt install ubuntu-wallpapers*
Я пытаюсь получить тот же эффект, используя
dpkg --set-selections < ./pkgs.txt
Проблема в том, что этот метод не поддерживает подстановочный знак *
в файле pkgs.txt
.
Мне удалось получить точный список пакетов, используя
apt-cache search ^ubuntu-wallpapers
, но я тоже получаю описания. Есть ли способ получить только имена пакетов, чтобы я мог перенаправить вывод в файл pkgs.txt
?
Вы можете использовать apt-cache pkgnames
для перечисления только имен всех пакетов, начинающихся с определенного префикса:
$ apt-cache pkgnames ubuntu-wallpaper
ubuntu-wallpapers-karmic
ubuntu-wallpapers-vivid
ubuntu-wallpapers-maverick
ubuntu-wallpapers-utopic
ubuntu-wallpapers-wily
ubuntu-wallpapers-quantal
ubuntu-wallpapers-raring
ubuntu-wallpapers-precise
ubuntu-wallpapers-lucid
ubuntu-wallpapers-natty
ubuntu-wallpapers
ubuntu-wallpapers-trusty
ubuntu-wallpapers-oneiric
ubuntu-wallpapers-saucy
ubuntu-wallpapers-xenial
См. man apt-cache
для получения дополнительной информации.
В качестве альтернативы, вы можете обработать вывод apt-cache search
и отобразить только первый столбец, например, по конвейеру. через одну из этих команд ниже или что-нибудь подобное:
cut -d' ' -f1
grep -Eo '^\S+'
sed 's/\s.*//'
awk '{print $1}'