Я хочу установить xubuntu-desktop
(очень большой метапакет), но игнорирование некоторых пакетов на нем (приблизительно 10). Текущим путем я делаю это находится на двух шагах: 1) метапакет установки и 2) произведите чистку нежелательных пакетов. Интересно, существует ли более эффективный и чистый метод, чтобы сделать это.
Я думал apt-get
признал бы, что инструкции нравится, устанавливают это кроме них, но очень удивительно это кажется нет.
Потенциальное решение состояло бы в том, чтобы выполнить команду sudo apt-get install xubuntu-desktop
, затем выберите и скопируйте все пакеты, перечисленные в терминале, вручную удалив нежелательные. Однако это могло быть еще более трудоемким, чем двухступенчатая процедура, упомянутая ранее, также рискнув заканчиваться с плохими зависимостями.
Какие-либо идеи о том, как сделать это в одной простой инструкции командной строки?
Вы могли написать сценарий задачи. Я вполне уверен, я отправил это в другом месте, но не могу найти его теперь. Во-первых, создайте файл с пакетами, которые Вы не хотите. Например:
$ cat dont-want.txt
memtest86+
wireless-tools
firefox
evince
Тогда анализируют вывод apt-cache depends
:
apt-cache depends xubuntu-desktop | awk '$1 == "Depends:" {print $2}' | grep -vFf dont-want.txt
Это должно включать пакеты, от которых метапакет непосредственно зависит без пакетов, которые Вы исключили. Тогда можно использовать xargs
для установки:
apt-cache depends xubuntu-desktop |
awk '$1 == "Depends:" {print $2}' |
grep -vFf dont-want.txt |
sudo xargs apt-get install
, Если бы нежелательный пакет не является прямой зависимостью, необходимо было бы использовать apt-rdepends
вместо apt-cache depends
.
можно также использовать Способное Прикрепление для добиваний соблюдения запрета: , Как запретить определенному пакету быть установленным?