Linux посмотреть зависимости пакета

Содержание
  1. Sysadminium
  2. Пакетные менеджеры apt
  3. Обновление системы
  4. Обновление кэша пакетов
  5. Получаем список возможных обновлений
  6. Обновление системы (без возможности удаления пакетов)
  7. Обновление системы (с возможностью удаления пакетов)
  8. Получение информации о пакетах из репозиториев
  9. Список пакетов в репозиториях
  10. Поиск пакета по ключевому слову
  11. Смотрим информацию о пакете
  12. Поиск зависимостей
  13. Работа с отдельными пакетами
  14. Установка пакета
  15. Удаление пакета без удаления конфигов
  16. Удаление пакета вместе с конфигами
  17. Переустановка пакета
  18. Обновление отдельного приложения
  19. Скачивание пакета без установки
  20. Заморозка пакета
  21. Исправление проблем с пакетами
  22. Исправление ошибок с зависимостями
  23. Очистка системы от ненужных пакетов
  24. Удаление ненужных пакетов
  25. Очистка кэша
  26. Мягкая очистка кэша
  27. Посмотрим на корову 🙂
  28. Итог
  29. Linux посмотреть зависимости пакета
  30. Как перечислить зависимости пакета в Linux
  31. Список зависимостей пакета в Linux

Sysadminium

На этом уроке рассмотрим пакетные менеджеры apt и apt-get. Которые используются для работы с пакетами приложений в Linux.

Пакетные менеджеры apt

На этом уроке мы рассмотрим следующие пакетные менеджеры:

  • apt-get — используется для установки, удаления, обновления пакетов;
  • apt-cache — используется для получения информации о пакетах;
  • apt-mark — используется для установок различных меток на пакеты. Например, можно, поставив метку, запретить пакету обновляться;
  • apt — утилита основанная на apt-get и apt-cache. Она является более удобной и информативной. В процессе установки пакета, обновления системы или удаления пакета показывает «Прогресс бар». В некоторых случаях выводит больше информации.

Работа с пакетами это административное действие, поэтому вам придётся работать под пользователем root или использовать sudo. Я в примерах буду использовать sudo. Примеры одинаково выполняются и в Debian и в Ubuntu.

Все рассматриваемые команды имеют под-команды, и в зависимости от под-команды могут иметь различные опции. Например переустановка приложения:

$ sudo apt install --reinstall apache2
  • apt — сам пакетный менеджер;
  • install — под-команда установки пакета;
  • —reinstall — опция переустановки;
  • apache2 — имя пакета.

Обновление системы

Обновление кэша пакетов

В Debian и Ubuntu прежде чем обновлять систему, нужно выяснить, какие обновления доступны в репозиториях. Это так называемое обновление кэша пакетов. Выполняется оно с помощью команды apt-get update или apt update. Пример:

$ sudo apt-get update $ sudo apt update

При этом команда apt update дополнительно покажет количество пакетов, которые можно обновить и команду с помощью которой можно посмотреть список таких пакетов.

Получаем список возможных обновлений

Если есть пакеты, которые можно обновить, то мы можем посмотреть их с помощью команды apt list —upgradable, а опция -a выводит больше информации. С помощью apt-get это проделать невозможно.

$ sudo apt list --upgradable -a

Обновление системы (без возможности удаления пакетов)

Перед обновлением расскажу про зависимости пакетов. Работа некоторых приложений зависит от других приложений или библиотек. Поэтому почти каждый пакет имеет список зависимостей других пакетов. Обычно вручную с зависимостями не работают. Просто пакетные менеджеры (apt или apt-get) при установке определённого пакета также устанавливают пакеты от которых зависит этот пакет.

Точно также и при обновлении. Если приложение после обновления начало зависеть от других библиотек, то их тоже нужно установить или обновить.

Читайте также:  Astra linux deb src

Но бывает ситуация когда некоторые пакеты не совместимы. Например, чтобы обновить пакет требуется установить новые пакеты, но они несовместимы с теми, которые уже установлены. Тут есть два варианта, либо удалить установленные пакеты и выполнить обновление системы, либо не удалять пакеты и прервать обновление.

Без возможности удаления пакетов вы можете выполнить обновление с помощью команд apt-get upgrade и apt upgrade. Например:

$ sudo apt-get upgrade $ sudo apt upgrade

Обновление системы (с возможностью удаления пакетов)

Если вы все-таки хотите обновить пакеты и вас не пугает удаление некоторых пакетов, то выполните следующие команды: apt-get dist-upgrade или apt dist-upgrade. Но это более рискованно, так что обратите особое внимание на то, какие пакеты будут удалены. Ведь удаление некоторых пакетов может просто сломать вашу систему. Пример:

$ sudo apt-get dist-upgrade $ sudo apt dist-upgrade

Получение информации о пакетах из репозиториев

Список пакетов в репозиториях

Чтобы получить список пакетов в репозиториях можно выполнить apt list. Так как это не административное действие, то можно не использовать sudo. Например:

Кстати, утилита apt-get это выполнить не может.

Поиск пакета по ключевому слову

Если мы примерно знаем название приложения, которое нам нужно, то можем попытаться найти пакет используя ключевое слово. При этом поиск идет не только по названию пакетов, но и по его содержимому. Такой поиск выполняется с помощью команд apt-cache search или apt search .

Пример (так как вывод может быть большим, то я использую less):

$ apt-cache search apache | less $ apt search apache | less

Смотрим информацию о пакете

Зная имя пакета, можем посмотреть информацию о нём с помощью команд apt-cache show или apt show .

Пример (так как вывод может быть большим, то я использую less):

$ apt-cache show apache2 | less $ apt show apache2 | less

Поиск зависимостей

Зависимости можно посмотреть в информации о пакете с помощью уже рассмотренных команд apt-cache show или apt show . Но для этого есть ещё одна команда: apt-cache depends или apt depends . Например:

$ apt-cache depends apache2 $ apt depends apache2

Работа с отдельными пакетами

Установка пакета

Установить пакет из репозитория можно с помощью команд apt-get install или apt install . При этом установится пакет и его зависимости. Пример:

$ sudo apt-get install apache2 $ sudo apt install apache2

Удаление пакета без удаления конфигов

Чтобы удалить пакет обычно используют команды apt-get remove или apt remove . Но эти команды удалят только само приложение, не удалив его конфиги. Пример:

$ sudo apt-get remove apache2 $ sudo apt remove apache2

Удаление пакета вместе с конфигами

А чтобы удалить приложение вместе с его конфигами используйте команды apt-get purge или apt purge , например:

$ sudo apt-get purge apache2 $ sudo apt purge apache2

Переустановка пакета

Для переустановки используйте команды apt-get install —reinstall или apt install —reinstall .

$ sudo apt-get install --reinstall apache2 $ sudo apt install --reinstall apache2

Обновление отдельного приложения

Если нам нужно обновить не всю систему а отдельный пакет, то тут нужно использовать знакомую команду apt-get install или apt install . При этом, если пакета нет в системе то он установится, а если есть то обновится. Пример:

$ sudo apt-get install apache2 $ sudo apt install apache2

Скачивание пакета без установки

Если вам просто нужно скачать пакет, а не устанавливать его в систему, то используйте команду apt-get download или apt download . Например:

$ apt-get download apache2 $ apt download apache2

При этом зависимости скачиваться не будут.

Читайте также:  Linux logitech keyboard drivers

Заморозка пакета

Если вы хотите чтобы система больше не обновляла какой-то отдельный пакет то выполните apt-mark hold , например:

$ sudo apt-mark hold apache2

К сожалению с помощью apt это проделать невозможно.

Исправление проблем с пакетами

Исправление ошибок с зависимостями

Если в процессе установки некоторого пакета или при обновлении всей системы вы столкнётесь с проблемой с зависимостями. То можете воспользоваться командами apt-get -f install или apt -f install. Эти команды пытаются решить проблемы с зависимостями путём удаления или установки новых пакетов.

$ sudo apt-get -f install $ sudo apt -f install

Только внимательно смотрите на список удаляемых пакетов!

Очистка системы от ненужных пакетов

Удаление ненужных пакетов

Когда мы устанавливаем пакет то устанавливаются и его зависимости. А при удалении пакета зависимости остаются и больше не используются. Чтобы удалить подобные пакеты, которые установились, но больше не нужны в системе применяются команды apt-get autoremove или apt autoremove. Например:

$ sudo apt-get autoremove $ sudo apt autoremove

Очистка кэша

При установке какого-нибудь пакета, он вначале скачивается в каталог /var/cache/apt/archives/, а затем устанавливается в систему. Эти установочные файлы тоже можно удалять, освобождая место на диске. Для этого используйте команды apt-get clean или apt clean, например

$ sudo apt-get clean $ sudo apt clean

Мягкая очистка кэша

Помимо clean есть более мягкая команда autoclean. Она удалит только те скаченные пакеты, у которых версия ниже чем в репозитории, остальные пакеты не удалятся:

$ sudo apt-get autoclean $ sudo apt autoclean

Посмотрим на корову 🙂

А еще с помощью apt-get и apt мы можем посмотреть на корову:

$ apt moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ . "Have you mooed today?". $ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ . "Have you mooed today?".

Итог

Мы узнали множество команд с помощью которых можем устанавливать и удалять пакеты в систему, а также обновлять её. И проделывать другие вещи.

А также мы узнали что перед установкой deb пакеты скачиваются в каталог /var/cache/apt/archives/. И у пакетов есть зависимости, которые apt или apt-get определяет и автоматически устанавливает.

Источник

Linux посмотреть зависимости пакета

Для просмотра от каких пакетов зависит пакет gnome-calculator:

$ epm requires gnome-calculator

Для просмотра какие другие пакеты зависят от пакета gnome-calculator:

$ epm whatdepends gnome-calculator

Для просмотра какому пакету принадлежит файл /usr/bin/gnote:

(причём для исполняемых файлов можно и epm qf gnote)

Читайте также:  How to create text file in linux

Список всех файлов в пакете:
$ epm ql gnome-calculator

Поэтому до сих пор люди пишут полезные советы, как пользоваться пакетными менеджерами. PackageKit предоставляет только базовую функциональность и ограничен теми системами, которые имеют D-BUS. Но у проекта и цели другие — предоставить доступное обычному пользователю управление пакетами через GUI.

pkcon required-by libxext6

Добавить заметку
Версия для печати
Последние заметки
18.04 Перевод шифрованного раздела на LUKS2 и более надёжную функцию формирования ключа
31.03 Пример правил nftables с реализацией port knoсking для открытия доступа к SSH
27.02 Обновление сертификатов oVirt
20.11 Решение проблемы со шрифтами в Steam после выставления времени после 2038 года
18.11 Раскладка клавиатуры для ввода символов APL
10.09 Настройка СУБД Postgresql для аутентификации пользователей через Active Directory
09.09 Настройка СУБД PostgreSQL 13 под управлением Pacemaker/Corosync в Debian 11
08.09 Создание виртуальных машин с помощью Qemu KVM
25.07 Создание программ под SynapseOS
24.07 Случайная задержка в shell-скрипте, выполняемом из crontab (без башизмов)
RSS | Следующие 15 записей >>

Источник

Как перечислить зависимости пакета в Linux

На днях я пытался выяснить, есть ли простой способ найти или перечислить зависимости пакета в Linux.

Я использую Linux в качестве основной ОС уже несколько лет, но я не мог найти зависимости для определенного пакета.

К счастью, я нашел обходное решение после нескольких поисковых запросов Google и хотел поделиться им с нашими читателями.

Список зависимостей пакета в Linux

В Arch Linux и таких производных, как Antergos и Manjaro Linux, Pacman предлагает полезную команду под названием «Pactree».

Для тех, кто задается вопросом, Pactree создает дерево зависимостей для данного пакета, скажем, vim.

$ pactree vim vim ├─vim-runtime ├─gpm │ └─bash │ ├─readline │ │ ├─glibc │ │ │ ├─linux-api-headers │ │ │ ├─tzdata │ │ │ └─filesystem │ │ │ └─iana-etc │ │ ├─ncurses │ │ │ ├─glibc │ │ │ └─gcc-libs │ │ │ └─glibc │ │ └─ncurses provides libncursesw.so │ ├─glibc │ └─ncurses └─acl └─attr └─glibc

Как видно из вышеприведенного вывода, Pactree перечисляет зависимости пакета «vim» в хорошем древовидном формате.

Чтобы узнать подробности команды pactree, обратитесь к страницам man.

В Debian, Ubuntu и его производных, таких как Linux Mint, Elementary OS, вы можете использовать команду apt-cache для перечисления зависимостей конкретного пакета.

Чтобы узнать, какой пакет, например, vim, зависит, запустите:

$ apt-cache depends vim vim Depends: vim-common Depends: vim-runtime Depends: libacl1 Depends: libc6 Depends: libgpm2 Depends: libpython2.7 Depends: libselinux1 Depends: libtinfo5 Suggests: exuberant-ctags:i386 exuberant-ctags Suggests: vim-doc Suggests: vim-scripts Conflicts: vim:i386

Чтобы узнать, что зависит от пакета, скажем, например, vim, запустите:

Вышеупомянутая команда отображает пакеты, зависящие от пакета vim.

Для получения дополнительной информации запустите:

В SUSE и openSUSE вы можете указать зависимости данного пакета с помощью команды «zypper», как показано ниже.

Источник

Оцените статью
Adblock
detector