Поиск по сайту:
...не вы съели идею, а вас съела идея (Ф.М. Достоевский).

Введение в управление пакетами Debian

21.09.2021
Введение в управление пакетами Debian

Ubuntu и все другие дистрибутивы Debian Linux предлагают полный набор систем управления пакетами, который обеспечивает доступ к организованной базе данных, содержащей более 6000 пакетов. Управление пакетами облегчает задачу установки, настройки, обновления и удаления пакетов. Он также решает проблемы, связанные с зависимостями, путем включения функций разрешения зависимостей.

Управление пакетами Debian предлагает несколько инструментов, включая dpkg, Advanced Packaging Tool (APT) и утилиту aptitude для выполнения задач управления пакетами. В этом руководстве каждый из этих инструментов управления Debian используется для описания:

  • Как устанавливать, удалять, переустанавливать и обновлять пакеты Debian?
  • Как найти файлы или библиотеки неустановленных пакетов?
  • Как получить метаданные пакета или сведения о версии и содержимом при удалении пакета?

 

Фон

В самых ранних системах Linux пакеты устанавливались или добавлялись путем получения исходного кода из построенного проекта. Затем пользователи скомпилировали исходный код в исполняемые двоичные файлы, включая справочные страницы, библиотеки и файлы конфигурации, чтобы создать необходимую программу. Пользователь может найти программы, уже скомпилированные кем-то, чтобы добавить в систему лучший сценарий.

Скомпилированная программа представляла собой tarball: один файл, содержащий несколько файлов, собранных для удобного распространения. Другими словами, после установки из архива файлы распространяются по системе Linux в различных соответствующих папках и подкаталогах, таких как/etc.,/Bin,/var,/usr/share/man и т. д.

Несмотря на то, что создать tarball-файл легко, у него есть некоторые проблемы, такие как:

  • Отслеживание необходимых зависимостей
  • Пользователь не осведомлен о файлах конфигурации и документации, находящихся в системе. Это еще больше усложняет процесс удаления программного обеспечения.
  • Тарболлы не содержат метаданных программного обеспечения, что затрудняет исправление ошибок и обновление до новой версии.

Чтобы решить эти проблемы, Linux представила сложную систему управления пакетами, разделив все дистрибутивы Linux на один из двух основных форматов упаковки, известных как DEB и RPM. Статья посвящена системе управления пакетами на основе Debian, используемой Debian, и производным от дистрибутива Debian, таким как Ubuntu, Linux Mint и т. д.

Прежде чем перейти к демонстрации различных задач управления пакетами, давайте сначала объясним, что такое файл пакета Debian и чем все описанные выше менеджеры пакетов Debian отличаются друг от друга.

 

Файл .deb

Файл с расширением .deb содержит содержимое программного пакета Debian. Файл Deb также состоит из двух файлов Tar, которые составляют исполняемые файлы, библиотеки и другие файлы.

Общий синтаксис любого файла пакета Debian следующий:

<package-name>_<version>.<revision>-<debian_codename>_<architecture>.deb

 

Например, apache_1.3.31-6_i386.deb указывает базовое имя программного обеспечения apache. 1.3.31-6 – это номер версии, присвоенный упаковщиком. Наконец, i386 подразумевает, что пакет скомпилирован для архитектуры Intel x86.

Кроме того, любой файл с расширением .deb загружается с помощью команды dpkg и представляет собой полное имя файла. При этом только имя пакета apache относится к первой части файла .deb.

 

Менеджеры пакетов Debian

DPM состоит из нескольких уровней, так как верхний уровень состоит из команд из семейства инструментов apt, а нижний уровень – из dpkg и связанных инструментов.

Читать  10 действенных советов по усилению безопасности SSH для защиты вашего Linux-сервера

 

dpkg

dpkg – это менеджер пакетов Debian, который устанавливает, удаляет и настраивает пакеты с расширением .deb. Он просто загружает содержимое пакета DEB в систему и уведомляет о необходимых зависимостях. Но он не устанавливает и не настраивает пакеты .deb из-за отсутствия зависимостей, так как у него нет доступа к репозиториям.

 

APT

APT – это мощный инструмент командной строки, который управляет установкой и настройкой пакетов deb. Он также управляет и загружает необходимые зависимости для предоставления последней версии программного обеспечения. Он работает как интерфейс для dpkg: после перечисления всех зависимостей и загрузки из репозитория.

Следовательно, APT автоматизирует проблему в dpkg. Далее он сравнивает зависимости и информирует пользователей о том, что тот не используется каким-либо пакетом, который пользователь может удалить.

 

Расположение пакета

Установка пакета из любого программного центра Debian или утилит командной строки ( apt/apt-get ) происходит путем загрузки пакетов из одного или нескольких репозиториев. Репозиторий Debian или APT – это сервер или локальный каталог, содержащий файлы пакетов и их метаданные, доступные для чтения инструментами APT.

Следовательно, во всех дистрибутивах на основе Debian система управления пакетами APT поддерживает репозитории внутри основного файла конфигурации /etc/apt/sources.list. Поэтому всякий раз, когда пользователь выполняет команду для установки пакета, команда apt/apt-get просматривает /etc/apt/sources.list или /etc/apt/sources.list.d в поисках URL-адресов репозитория.

Затем он загружает желаемое программное обеспечение для установки. Source.list файл дополнительно содержит дополнительную информацию о репозиториях для установки программного обеспечения. Пользователь может вручную добавлять новые репозитории в каталог /etc/apt/sources.list.d без редактирования основного файла конфигурации. Однако имена новых файлов репозитория должны соответствовать формату /etc/apt/source.list.cat содержимое файла /etc/apt/sources.list:

ubuntu@andreyex:~$ sudo cat /etc/apt/sources.list | less

 

Общий синтаксис для каждого включенного репозитория следующий:

deb http://repo.tld/ubuntu distro component
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
  • deb: представляет архив deb. Это может быть deb, подразумевающий пакет .deb, или репозиторий deb-src, содержащий исходный код пакета.
  • http://repo.tld/ubuntu: URL-адрес репозитория
  • distro: кодовое название дистрибутива
  • component: это категории репозитория. Например, репозитории Ubuntu по умолчанию имеют четыре категории: основная, ограниченная, мультивселенная и вселенная.

 

APT и другие инструменты используют локальную базу данных для определения установленных пакетов. Чтобы поддерживать локальную базу данных, синхронизируйте информацию с репозиториями, перечисленными в sources.list, с помощью команды apt-get update. Следовательно, необходимо выполнять обновление локальной базы данных перед каждой установкой или обновлением пакета.

 

Способности

Aptitude – это текстовый интерфейс на основе меню для функций управления пакетами dpkg и Advanced Packaging Tool. Он лучше всего подходит для среды без графического интерфейса, которая упрощает выполнение пользовательских задач. Он использует библиотеки apt-get и предоставляет больше преимуществ за счет интерактивного пользовательского интерфейса.

 

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

При установке Linux автоматически устанавливается набор пакетов, которые пользователь может дополнительно настроить в соответствии с использованием системы, то есть настольного компьютера, сервера или рабочей станции. Иногда пользователю также требуется установить новые пакеты. Обсудим установку пакетов в отношении рассмотренных выше менеджеров пакетов.

Читать  4 полезных инструмента командной строки для мониторинга производительности MySQL в Linux

 

Установка через APT-GET

Используйте команду apt-get install, чтобы установить пакет со списком дополнительных пакетов. На приведенном ниже снимке экрана показан список зависимостей и подсказки для продолжения.

ubuntu@andreyex:~$ sudo apt-get install tmux

 

После загрузки инструмент командной строки также распаковывает пакет libutempter0_1.1.6-3_amd64.deb.

Preparing to unpack .../libutempter0_1.1.6-3_amd64.deb ... Unpacking libutempter0:amd64 (1.1.6-3) ...

 

Флаг -s вместо установки определяет только, зависит ли пакет от других пакетов.

ubuntu@andreyex:~$ sudo apt-get install -s tmux
..<SNIP>...
The following additional packages will be installed:
libutempter0
..<SNIP>...

 

Установка через dpkg

Если вам нужно загрузить файл .deb со всеми зависимостями, без apt-get. Используйте следующую команду, чтобы установить его через dpkg.

ubuntu@andreyex:~$ sudo dpkg -i <packagename>.deb

 

Установка через Aptitude

Запустите aptitude через терминал с привилегиями sudo.

ubuntu@andreyex:~$ sudo aptitude

 

Используйте комбинацию клавиш Ctrl + T, чтобы войти в главное меню способностей. Но перед этим с помощью клавиш со стрелками войдите в подменю раздела «Неустановленные пакеты» aptitude. Он показывает несколько подменю, выберите сеть и прокрутите вниз до его подменю, чтобы выбрать главное, чтобы отобразить все приложения. Выберите желаемое приложение и нажмите Enter, чтобы увидеть все сведения о пакете.

Отметьте приложение для установки, нажав клавишу «+» и нажав клавишу «g», чтобы начать установку. Во время установки aptitude будет в консольном режиме; после этого он возвращается к пользовательскому интерфейсу с отображением полного описания пакета.

 

Удаление пакета Debian

В этом разделе подробно рассматривается процесс удаления пакета Debian. Давайте обсудим процесс удаления пакета через каждый менеджер пакетов.

 

Удаление пакета через APT

Параметр remove команды apt-get удаляет только все данные пакета.

ubuntu@andreyex:~$ sudo apt-get remove tmux

 

То есть все файлы конфигурации остались позади. Следовательно, если команда запускается случайно, введите команду установки для удаленного пакета, чтобы восстановить его работу. Чтобы удалить все файлы конфигурации, также используйте опцию очистки.

ubuntu@andreyex:~$ sudo apt-get purge tmux

 

Кроме того, вывод на скриншоте выше показывает, что ненужные зависимости не удаляются. Для этого за нас работает опция –auto-remove.

ubuntu@andreyex:~$ sudo apt-get --auto-remove tmux

 

Объедините параметры очистки и –auto-remove, чтобы полностью удалить все данные и файлы вместе с ненужными зависимостями.

ubuntu@andreyex:~$ sudo apt-get purge --auto-remove tmux

 

Удаление пакетов через dpkg

Процесс удаления пакета в dpkg практически аналогичен. Используйте dpkg -r, чтобы удалить данные пакета, и dpkg -P, чтобы полностью удалить пакет. Сначала укажите пакет, чтобы убедиться, что он правильно установлен в системе.

ubuntu@andreyex:~$ dpkg -l | grep tmux
ubuntu@andreyex:~$ sudo dpkg -r tmux
ubuntu@andreyex:~$ sudo dpkg -P tmux

 

Кроме того, dpkg позволяет принудительно удалять файлы в сценарии обновления дистрибутива, который требует от пользователя удаления или удаления пакета. Но иногда опция удаления не работает из-за неудовлетворенных зависимостей пакета или неполной установки. Для этого dpkg предлагает принудительное удаление пакета:

ubuntu@andreyex:~$ sudo dpkg --force-all --remove tmux

 

Удаление пакетов через Aptitude

Удаление с помощью aptitude так же просто, как и установка. Прокрутите вниз и выберите «Установленные пакеты», чтобы просмотреть все установленные программы. Выберите net>main и выберите программу, нажав клавишу «-». Нажмите «g», чтобы удалить выбранный пакет.

Читать  Установите и используйте Hex-редактор в Kali Linux 2020

 

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

Чтобы обновить один пакет, используйте команду apt-get с параметром установки. Он также обновляет дополнительные пакеты или зависимости. Однако необходимо убедиться, что локальные базы данных отражают последние обновления:

ubuntu@andreyex:~$ sudo apt-get update
ubuntu@andreyex:~$ sudo apt-get install vim

 

Вместо того, чтобы обновлять пакеты по отдельности, лучше обновить все приложения в системе следующим образом:

ubuntu@andreyex:~$ sudo apt-get update
ubuntu@andreyex:~$ sudo apt-get upgrade

 

Поиск информации об удаленном пакете Debian

Все инструменты управления пакетами осведомлены о доступных пакетах, которые может потребоваться установить пользователю. Apt-cache – одна из таких команд, которая поддерживает репозиторий, содержащий информацию о пакетах из исходного списка. Это позволяет пользователю получать информацию о пакетах в кеше apt.

Например, чтобы установить пакет, относящийся к программе чата, не зная имени пакета, пользователь может использовать следующую команду:

ubuntu@andreyex:~$ sudo apt-cache search chat

 

Приведенная выше команда вернет список пакетов, доступных для приложения чата.

Точно так же доступно множество инструментов для поиска пакетов из уже доступного списка пакетов. Пользователи могут найти много подробностей об установленном пакете вместе с ними, но не о неустановленном, например о файлах внутри неустановленного пакета. Для этого используйте опцию -d с командой apt-get, так как она только загружает пакет.

ubuntu@andreyex:~$ sudo apt-get install -d python3

 

Загруженный файл пакета находится в каталоге / var/cache/apt/archives/. Теперь используйте команду dpkg с параметром –info для отображения сведений о пакете или параметром –contents для отображения файлов пакета.

ubuntu@andreyex:~$ dpkg --info /var/cache/apt/archives/nmap_7.60-1ubuntu5_amd64.deb|less
ubuntu@andreyex:~$ dpkg --contents /var/cache/apt/archives/nmap_7.60-1ubuntu5_amd64.deb|less

 

Поиск информации об установленных пакетах Debian

Инструмент dpkg использует множество файлов, доступных в каталоге /var/lib/dpkg. Один из них – файл /var/lib/dpkg/status, содержащий информацию о статусе пакета. Использование команды dpkg с параметром -s отображает состояние пакетов в системе.

ubuntu@andreyex:~$ sudo dpkg -s vim

 

dpkg также позволяет пользователям Linux находить сведения о конкретном пакете и файле, принадлежащем определенному пакету. Параметр dpkg tool -L перечисляет все файлы и каталоги интересующего пакета. Все, что требуется dpkg, – это имя пакета, но когда доступно несколько версий приложения, требуется более подробное имя, содержащее сведения о версии.

ubuntu@andreyex:~$ dpkg -L vim

 

Чтобы найти пакет, содержащий определенный файл, используйте флаг -S. Например, используйте следующую команду, чтобы выяснить, какой пакет содержит файл/usr/bin/apt-get.

ubuntu@andreyex:~$ dpkg -S /usr/bin/apt-get

 

Наконец, мы можем найти детали или назначение конкретного пакета следующим образом:

ubuntu@andreyex:~$ dpkg -p vim

 

Заключение

В статье содержится подробное описание управления пакетами Debian. В нем обсуждаются различные способы установки, удаления, обновления или обновления пакетов. Мы также узнали, как узнать статус пакета и многие другие подробности об удаленных пакетах Debian. Эта статья представляет собой универсальное руководство, охватывающее все аспекты управления пакетами в Ubuntu или любом дистрибутиве Debian. Спасибо, что зашли так далеко; вы можете разместить свои запросы в разделе комментариев ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Скорость вызывает привыкание. Kingston руководствуется этой мыслью, выпустив самый быстрый в…

Спасибо!

Теперь редакторы в курсе.