Вопрос или проблема
Я хочу удалить рекомендуемые пакеты для пакета, используя apt
.
my-package
установлен, и я хочу сохранить его и его зависимости.
apt-cache depends <my-package> | grep Recommends
возвращает различные пакеты, ни один из которых мне не нужен.
Как я могу удалить эти пакеты? Я могу написать bash-скрипт для этого, но надеюсь, что есть способ сделать это через apt
.
Я искал в интернете и не нашел способа удалить эти рекомендуемые пакеты без удаления самого пакета и его необходимых зависимостей. Другими словами, я хочу сохранить my-package
и его зависимости, но удалить рекомендуемые пакеты.
Более того, я в идеале не хочу редактировать конфигурационные файлы; я хочу оставить настройки системы нетронутыми.
apt-cache depends my-package \
| grep Recommends: \
| sed "s/Recommends:/sudo apt-get --purge autoremove/;s/<//;s/>//;s/|//" \
| sudo bash
В моем случае my-package
это pop-desktop
, а рекомендуемые пакеты – это предустановленные пакеты на Pop!_OS. Это отличный способ удалить предустановленные приложения! (Будьте осторожны, это также удаляет Pop!_Shop.)
Конкретно для Pop!_OS также полезно выполнить
sudo apt-get --purge -y autoremove "^libreoffice.*" && sudo reboot
потому что они, похоже, дают libreoffice
немного другую секцию в интерфейсе, которая не затрагивается вышеупомянутой командой.
Ответ или решение
Как удалить рекомендуемые зависимости установленного пакета без его удаления и без удаления необходимых зависимостей с использованием apt
Если вы хотите удалить рекомендуемые пакеты для определенного установленного пакета, но при этом сохранить сам пакет и его обязательные зависимости, вам повезло, вы можете сделать это с помощью apt
и немного командной строки. В этом ответе мы разберем, как это сделать, шаг за шагом, чтобы вы могли уверенно управлять своим пакетом.
Шаг 1: Определите рекомендуемые пакеты
Сначала вам нужно выяснить, какие именно пакеты рекомендует ваш установленный пакет. В вашем случае, например, это пакет pop-desktop
. Для этого выполните следующую команду в терминале:
apt-cache depends my-package | grep Recommends
Эта команда выдаст список рекомендуемых зависимостей для вашего пакета. В этом списке вы увидите все пакеты, которые не являются обязательными, но которые система считает полезными для работы вашего основного пакета.
Шаг 2: Удаление рекомендуемых пакетов
Следующий шаг — это удаление рекомендованных пакетов. Запустите следующую комбинацию команд, чтобы автоматически удалить их, не затрагивая сам пакет и его обязательные зависимости:
apt-cache depends my-package | \
grep Recommends: | \
sed 's/Recommends: //;s/<//;s/>//;s/|//;' | \
xargs -r sudo apt-get --purge remove
Разбор команды:
apt-cache depends my-package
— получаем зависимости пакета.grep Recommends:
— оставляем только строки, содержащие рекомендуемые зависимости.sed 's/Recommends: //;s/<//;s/>//;s/|//;'
— обрабатываем строки, чтобы оставить только названия пакетов.xargs -r sudo apt-get --purge remove
— передаем названия пакетов в команду для их удаления.
Важные вопросы о системе
- Безопасность: Перед выполнением команд всегда стоит сделать резервную копию системы.
- Изменение конфигураций: Обратите внимание, что удаление пакетов может повлечь за собой изменения в конфигурационных файлах, так что лучше проверить, необходимо ли это или нет.
- Не редактируйте конфигурационные файлы: Данный подход не изменяет системные конфигурации.
Итоги
Теперь вы знаете, как удалить рекомендуемые зависимости для пакета с помощью apt
, не затрагивая сам пакет и его обязательные зависимости. Этот упрощенный процесс поможет вам эффективно управлять вашими установленными приложениями без лишних тревог. Если вы находитесь на Pop!_OS
, будьте готовы, что это также может удалить предустановленные приложения, такие как Pop!_Shop.
Зарегистрируйтесь и следите за последующими выпусками, чтобы узнать больше о том, как управлять своей системой на уровне пакетов.