Менеджер пакетов debian: Менеджеры пакетов в Linux | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Менеджеры пакетов в Linux | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Мы будем сравнивать различные менеджеры пакетов в Linux. Между всеми распределениями в Linux, одна из вещей, которые они разделяют, это необходимость иметь возможность установить новые пакеты программного обеспечения в систему. В зависимости от распределения, доступны различные менеджеры пакетов, что позволяет пользователю устанавливать, управлять и удалять пакеты легко и быстро. Менеджеры пакетов очень хороши в оптимизации установок, с общими местами установки и конфигурациями. В этой статье мы обсудим различные доступные менеджеры пакетов, на каких дистрибутивах они могут использоваться и что делает каждый из них уникальным. Мы расскажем, менеджеры пакетов основанные на Debian, основные менеджеры пакетов RedHat Enterprise Linux (RHEL), и другие пользовательские менеджеры пакетов.
Debian – основанные менеджеры пакетов
Менеджер пакетов Dpkg
Ubuntu и Debian считаются одним из наиболее широко используемых потребительских операционных систем на основе Linux, имеющихся сегодня на рынке. Их менеджеры пакетов являются общими, с системой управления пакетами нижайшего уровня «Dpkg», сокращенно от «Debian Package». Это скелет программного обеспечения для управления пакетами, с инструментами для установки, удаления и сборки пакетов.
В Dpkg не хватает более расширенные возможности – функциональные возможности, такие как загрузка пакетов из Интернета, или установка зависимостей автоматически не возможно через DPKG. Будучи в состоянии сделать это из Интернета очень полезна, так как она позволяет пользователям добавлять репозитории пакетов, что значительно увеличивает выбор программного обеспечения, которое может быть легко установлено в системе. Оно также может значительно упростить процесс установки программного обеспечения, будучи в состоянии легко найти и установить пакет только с одной командой.
Менеджер пакетов APT
Это где интерфейсы, такие как apt и aptitude вступают в игру. APT, сокращенно от Advanced Package Tool, гораздо более продвинутый в функциональности по сравнению с dpkg. Он также может устанавливать, удалять и собирать пакеты – однако его функциональность идет гораздо дальше. APT может обновить свои пакеты, установить зависимости автоматически, а также загрузить пакеты из интернета. Это один из наиболее распространенных менеджеров пакетов, установленных на современных дистрибутивах, с предустановленными на Ubuntu, Debian и большинстве других операционных систем на основе Debian.
Менеджер пакетов Aptitude
Aptitude очень похож на APT, предлагая большую часть той же функциональности. Но он может предложить несколько дополнительных функций, таких как безопасные обновления, позволяющие пользователям обновлять свои пакеты, не удаляя существующие пакеты из системы. Также доступно удержание пакетов, что предотвращает автоматическое обновление некоторых пакетов.
Оба этих менеджера пакетов фактически используют dpkg для основных операций и используют только свое собственное программное обеспечение для загрузки пакетов и управления ими.
Менеджеры пакетов RedHat Enterprise Linux (RHEL)
Менеджер пакетов RPM
Redhat и CentOS являются одним из наиболее широко используемых серверных операционных систем на серверах. Основное программное обеспечение для управления пакетами в этих системах-RPM, сокращенно от Red Hat Package Manager. Этот менеджер пакетов также выполняет основные операции, такие как установка и удаление пакетов, и, как dpkg, также не может управлять пакетами или устанавливать их непосредственно из интернета.
Менеджер пакетов YUM
Как и операционные системы на основе Debian, операционные системы RHEL также имеют собственное программное обеспечение для управления пакетами. YUM, короткий для Yellow Dog Updater, является самым популярным выбором в качестве интерфейса RPM. Он открывает гораздо больше возможностей для RPM-файлов через репозитории, отслеживая то, что установлено в системе, оптимизированное обновление и многое другое. RHEL эквивалентен менеджеру пакетов APT.
Менеджер пакетов DNF
DNF, сокращенно от Dandified Packaging Tool, – это более модернизированная и усовершенствованная версия менеджер пакетов yum – вбирая в себя черты yum, при одновременном повышении производительности и использования ресурсов. На данный момент только Fedora использовала эту версию следующего поколения YUM, но, надеюсь, мы увидим, что она будет распространятся на другие операционные системы в будущем.
Существует несколько других инструментов управления пакетами, доступных для систем на основе RPM, таких как up2date, urpmi и ZYpp, однако они не так широко используются, как YUM или DNF.
Другие менеджеры пакетов
Иногда разработчики будут создавать специальные менеджеры пакетов, предназначенные для их распределений Linux – они, как правило, строятся вокруг операционной системы, и не будет найдены в основных дистрибутивах Linux.
Менеджер пакетов pacman
Pacman – это менеджер пакетов в Arch Linux. Pacman является единственным инструментом управления пакетами, найденным на Arch, что делает его не фронтендом. Arch Linux является релизом операционной системы, где обновления добавляются каждый день. Есть только несколько команд с pacman, предназначенных для поиска, установки и удаления пакетов. Этот менеджер пакетов может подключаться к Интернету и приобретать свои пакеты оттуда, что делает его более удобным для пользователя. Тем не менее, pacman предназначен для установки программного обеспечения из репозитория Arch, что делает его невозможным для установки из сторонних репозиториев.
Менеджер пакетов ABS
ABS, сокращенно от Arch Build System, представляет собой систему инструментов, предназначенных для создания устанавливаемых программных пакетов для Arch Linux из исходного кода. Он состоит из нескольких инструментов, функционирующих вместе для создания пакетов – все эти инструменты являются независимыми программами, такими как makepkg, pacman, asp и так далее. Метод создания/установки пакета с использованием ABS отличается от обычного дистрибутива Linux. Вместо установки предварительно скомпилированных пакетов необходимо создать файл PKGBUILD из ветви Svn или Git с помощью пакета asp. Оттуда вы используете команду makepkg, которая использует файл PKGBUILD для загрузки и компиляции исходного кода для вашей системы. Это делает ABS немного менее интуитивным методом установки пакетов на Arch Linux. Он имеет несколько других применений, таких как настройка существующих пакетов, или сборка и установка собственного ядра.
Менеджер пакетов Portage
Portage – это менеджер пакетов для Gentoo, операционной системы без излишеств, которая должна быть скомпилирована с нуля при установке в любой системе. Это один из самых продвинутых менеджеров пакетов, доступных в настоящее время, с новыми функциями и улучшениями, которые постоянно добавляются.
Несмотря на то, что есть много разнообразия при использовании программного обеспечения для управления пакетами, многие из них предназначены для выполнения тех же задач. Поэтому лучше всего просто протестировать и посмотреть, какая программа управления пакетами будет работать лучше всего для ваших нужд.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Альманах пакетных менеджеров Linux / Хабр
Иногда может возникнуть вопрос: чьих этот файл, откуда вообще взялась эта библиотека? Удобный менеджер пакетов решает очень многие проблемы ОС. Можно с уверенностью сказать, что если вы подружитесь с МП, то подружитесь и с дистрибутивом как таковым. Причем важно освоить именно набор основных команд, и знать где найти дополнительную информацию.
Далее следует джентльменский набор необходимых для повседневной рутины команд основных Linux дистрибутивов: установить, обновить и удалить пакет, накатить обновления, проверить зависимости, установить принадлежность файла пакету и пр.
Debian и родственные
Популярность и образ дружественного к пользователю Linux дистрибутива сыграли с Ubuntu злую шутку. Некоторым новичкам кажется, что можно на нем делать все, что угодно без помощи командной строки. Это заблуждение и лучше от него поскорее избавиться.
То, что в примерах aptitude
не значит, что он правильнее, чем apt-get
. Для меня это всего лишь дело привычки.
$ aptitude install package #установить пакет;
$ aptitude safe-upgrade package #обновить пакет;
$ aptitude update #проверить и установить обновления;
$ aptitude remove package #удалить пакет;
$ aptitude purge package #удалить пакета с концами, все данные и настройки;
$ apt-get dist-upgrade #обновить ОС, killer-feature и оно работает!
$ aptitude search package #искать пакет.
$ apt-cache depends package #зависимости пакета;
$ apt-cache rdepends package #обратные зависимости от пакета.
Некоторые функции доступны с дополнительным МП dpkg
.
$ dpkg -l #список установленных программ;
$ dpkg -L package #список файлов пакета
Есть еще такое чудо — wajig. Несмотря на странное звучание, вполне годный МП с человеко-читабельным выводом информации на экран.
Настройка репозиториев производится правкой файла /etc/apt/sources.list
$ wajig install package
$ wajig distupgrade #обновить ОС;
$ wajig install --fileinput filename #установить пакеты списком;
$ wajig listinstalled
В целом ПМ Debian один из лучших, с которыми мне доводилось иметь дело.
Redhat и другие RPM дистрибутивы
RPM нельзя назвать образцовым пакетным менеджером, скорее это был кактус, который мыши употребляли в пищу со слезами на глазах. Затем появились более или менее вменяемые МП: yum
, dnf
, zypper
и другие. Только что на сервере RHEL 7.4 yum
за раз обновил более 700 пакетов и ничего при этом не сломал, неплохой результат я считаю.
$ yum install package
$ yum update package
$ yum update
$ yum remove package
$ yum deplist package #зависимости пакета;
$ dnf repoquery --deplist #то же самое, для Fedora
$ yum whatprovides package #установить принадлежность файла какому-либо пакету;
$ yum list all #список всех установленных программ
Команды rpm
на те случаи, когда использовать yum
не с руки.
$ rpm -i package #установить пакет;
$ rpm -e packate #удалить пакет;
$ rpm -qa #список установленных пакетов;
$ rpm -qi package #вывод информации об установленном пакете;
$ rpm -q --whatrequires package #обратные зависимости от пакета.
Чтобы настроить репозитории Yum
, откройте файл /etc/yum.repos.d/*.repo
, или используйте команду yum-config-manager
.
Zypper
На SuSE Linux используется Zypper / YaST
для управления пакетами, движок ZYpp крутится поверх RPM.
$ zypper in mc #установить пакет, если его нет, а противном случае - обновить его;
$ zypper up nginx openssh #обновить программу;
$ zypper se gnome-desktop #найти программу;
$ zypper remove package;
$ zypper se --provides --match-exact hg #установить принадлежность файла какому-либо пакету;
$ zypper se --requires package #обратные зависимости от пакета.
Можно использовать операторы и регулярные выражения.
zypper in 'gcc.i586<5.1'#установить пакет для архитектуры i586, версии младше 5.1;
zypper in php5*;
Управление репозиториями производится командой zypper mr
.
$ zypper lr #список реп, укаханы номера репозиториев;
$ zypper mr -d 5 #выключить 5-у репу;
$ zypper mr -e 5 #включить 5-у репу.
Pacman
Этот МП используется в Арче и Manjaro.
$ pacman -S package #установить пакет;
$ pacman -R package #удалить пакет;
$ pacman -Su package #обновить пакет;
$ pacman -Q1 package #список файлов пакета;
$ pacman -Qo filename #установить принадлежность файла какому-либо пакету;
$ whoneeds package #обратные зависимости от пакета;
$ pacman -Qdt #список пакетов-сирот, без обратных зависимостей.
Движок поиска в базе данных поддерживает регулярные выражения.
$ pacman -Ss package #простой полнотекстовый поиск;
$ pacman -Ss '^vim-' #поиск с регулярными выражениями;
$ pacman -Qs package #поиск среди установленных пакетов;
Настройка репозиториев и зеркал производится из файла /etc/pacman.conf
Gentoo emerge
Конечно же это скорее умозрительный сценарий, чем реальный, так как сложно предположить, что красноглазый пользователь Gentoo Linux не знает необходимых опций emerge
. Тем не менее, без этого альманах был бы неполным.
$ emerge package #установить пакет;
$ emerge -av package # интерактивный режим установки пакета;
$ emerge -pv package # показать сценарий установки пакета;
$ emerge -u packave # обновить пакет;
$ emerge -C package # удалить пакет;
$ emerge -auDv world # обновить все программы с учетом зависимостей;
$ emerge -auDNv word # обновить все программы с учетом зависимостей и новых USE опций.
С дополнительными утилитами можно получить больше информации о файлах, ненужных пакетах и т. д.
$ revdep-rebuild #проверить и восстановить неудовлетворенные зависимости;
$ eix package #искать пакет;
$ equery belongs package #установить принадлежность файла какому-либо пакету;
$ equery depends package #обратные зависимости от пакета;
$ equery uses package #USE флаги пакета;
$ qlop -l #история операций emerge;
Репозитории, зеркала и все самое важное для emerge / portage
содержится в /etc/make.conf
.
Материалы по теме
- How To List All Installed Packages In Linux
- Package Management Basics: apt, yum, dnf, pkg
- 45 Zypper Commands to Manage SUSE Linux Package Management
- ArchWiki — pacman
Обзор пакетных менеджеров Linux | Losst
Одна из первых вещей, с которой столкнуться новые пользователи при выборе своего дистрибутива Linux, это существование нескольких дистрибутивов с различными способами управления пакетами.
Управление пакетами очень важно в Linux, если вы знаете как использовать несколько менеджеров пакетов, это еще один аспект, показывающий, что вы уже опытный пользователь. Установка программного обеспечения, обновление, обработка зависимостей, удаление программ это очень важные действия для администрирования операционной системы Linux.
Чтобы стать более опытным пользователем в Linux нужно понять, каким образом основные дистрибутивы обрабатывают пакеты программного обеспечения. Поэтому тема сегодняшней статьи — обзор пакетных менеджеров Linux. Мы рассмотрим основные пакетные менеджеры Linux. Главная цель, предоставить основную информацию об этих пакетных менеджерах, но об их использовании будет сказано только несколько слов.
1. DPKG — система управления пакетами Debian
Dpkg — это базовая система управления пакетами в Debian. Может использоваться для установки, удаления, хранения и получения информации о .deb пакетах.
Это инструмент низкого уровня и есть дополнительные утилиты, которые помогают пользователям устанавливать пакеты из репозиториев, разрешать зависимости и искать пакеты по названию. Это такие программы, как:
APT (Advanced Packaging Tool)
Очень популярный, мощный инструмент командной строки с открытым исходным кодом для управления пакетами, который намного увеличивает возможности dpkg. Эта утилита используется в Debian и его производных, таких как Ubuntu, Linux Mint. Я уже писал про apt на этом сайте.
Aptitude Package Manager
Это еще одна популярная утилита командной строки для управления пакетами в Debian. Она работает аналогично Apt, но между ними есть некоторые различия. Первоначально он был разработан для Debian, но сейчас может применяться и в Red Hat дистрибутивах.
Synaptic
Synaptic — это графический менеджер пакетов linux, написанный на GTK и использующий apt в качестве бэкенда. Он отлично подходит для пользователей, которые не хотят работать в командной строке. Здесь есть все те же необходимые функции что и в apt.
Gnome Software
Это центр приложений Gnome. Там есть далеко не все программы, которые есть в репозиториях и подход к установке немного другой. Вы устанавливаете не пакеты по отдельности, а саму нужную программу. Обо всём остальном центр приложений заботиться сам, скрывая от вас подробности. Gnome Software поддерживает не только Deb пакеты, но и Rpm в системах, основанных на RHEL, а также snap и flatpack, о которых мы поговорим ниже.
AppGrid
Простенькая альтернатива для центра приложений Ubuntu. Программе очень далеко до функциональности Synaptic. Она позволяет устанавливать приложения так же, как и центр приложений Gnome Software и выглядит очень похоже на Windows Store.
2. RPM (Red Hat Package Manager)
Это базовый формат и система управления пакетами, созданная в компании Red Hat. Так же как и dpkg, это низкоуровневый инструмент, для которого существует несколько утилит, это такие пакетные менеджеры Linux:
YUM (Yellowdog Updater, Modified)
Это популярный менеджер пакетов linux с открытым исходным кодом для командной строки. Он используется для управления пакетами в дистрибутиве Red Hat. Если сравнивать с инструментом apt, то здесь есть все те же функциональные возможности, правда, работает немного медленнее. Написан на Python 2. Немного больше об отличиях формата пакетов rpm и deb можно прочитать в отдельной статье. А про сам Yum есть такая статья.
DNF – Улучшенный Yum
Это пакетный менеджер linux, используемый в дистрибутиве Fedora начиная с версии 18. Он представляет из себя следующее поколение YUM.
Сначала он был создан только для экспериментов, но начиная с Fedora 22 он используется как пакетный менеджер по умолчанию. Он работает почти также как и YUM, для разрешения зависимостей используется библиотека libsolv и hawkey, но отличие от YUM, написан на Python 3. Здесь можно наблюдать увеличение скорости работы, а также уменьшение потребления памяти.
3. Pacman — менеджер пакетов Arch Linux
Этот менеджер пакетов linux разработан командой программистов для дистрибутива ArchLinux. Сейчас, кроме ArchLinux, он используется в Manjaro и еще нескольких малоизвестных дистрибутивах, основанных на ArchLinux.
Здесь поддерживаются все основные возможности — установка программного обеспечения, автоматическое разрешение зависимостей, обновление, удаление пакетов, а также загрузка пакетов программ для последующей установки.
Программа специально спроектирована для удобной работы с пакетами в Arch Linux. А поскольку это система с режимом выпуска в виде роллинг релизов, то этот пакетный менеджер подходит наилучшим образом. Pacman поддерживает систему в актуальном состоянии синхронизируя списки пакетов из основного сервера. Причем существует только одна версия системы — текущая.
Программа написана на Си, а в качестве пакетов используются файлы формата tar.xz, которые на самом деле являются обычными архивами, внутри которых находятся файлы программы и файл описания установки PKGBUILD. Читайте подробнее про установку пакетов в Arch Linux в отдельной статье.
4. Zypper — пакетный менеджер OpenSUSE
Это пакетный менеджер linux для командной строки в дистрибутиве OpenSUSE и SUSE Linux. Разработан специально для этого дистрибутива и использует библиотеку libzypp, в которой реализованы такие общие возможности, как доступ к репозиторию, установка пакетов, разрешение зависимостей, работа с репозториями и многое другое.
Zypper написан на Си и работает намного быстрее чем Yum. Поддерживает различные форматы репозиториев, а также расширения репозиториев. Поддерживается как обычное обновление, так и обновление патчами, во время которого только накладываются патчи на установленные пакеты для исправления проблем с безопасностью. Подробнее — здесь.
5. Portage — пакетный менеджер Gentoo
Этот менеджер пакетов используется в Gentoo, менее популярном, но не менее мощном дистрибутиве. И это один из лучших менеджеров пакетов. Основное преимущество системы Gentoo, это возможность собирать пакеты из исходников во время установки. Это дает очень много полезных вещей, таких как возможность настроить флаги компиляции, включить только нужные функции, а также собрать пакеты именно под свой процессор. Все это поддерживается Portage, базовая функциональность, такая как обновление, удаление пакетов и разрешение зависимостей здесь тоже есть.
Интересной особенностью есть состояния Portage, а также слоты, позволяющие устанавливать несколько версий одной программы или библиотеки в вашей системе. Здесь нет как такового списка пакетов, есть только дерево портов, в котором и содержаться файлы ebuild с инструкциями для сборки всех пакетов. Сохранив дерево можно очень просто откатить систему к предыдущей версии. Подробнее тут.
6. Snap
Универсальный менеджер пакетов разработанный в Canonical, который можно использовать как в Deb, так и в Rpm дистрибутиве. Здесь используется особый формат пакетов, в котором все зависимости программы упаковываются в пакет с ней, поэтому программа оказывается самодостаточной и может запускаться в любой системе, где установлен этот пакетный менеджер. Кроме того, менеджер пакетов snap добавляет безопасности, программам не разрешено использовать те функции, что им не нужны. Более подробно про snap можно почитать в этой статье.
7. Flatpack
Пакетный менеджер Flatpack разработан для Fedora в качестве конкурента для Snap. Он может практически всё то же самое. В пакет программы упаковываются всё её зависимости и она может работать в любой системе где установлено программное обеспечение Flatpack. Безопасность здесь тоже работает. Главное отличие в том, что Flatpack более открыт, чтобы добавить пакет в Snap Store надо подписать соглашение с Canonical, а Flatpack больше похож на формат PPA. Любой человек может создать свой репозиторий и размещать там всё, что ему надо.
Выводы
Как я уже говорил, основная цель статьи — обзор пакетных менеджеров linux, познакомить пользователей с лучшими пакетными менеджерами, а также показать отличия между ними. Конечно, пользователям определенного дистрибутива придется изучать свой менеджер пакетов более детально. Если я упустил важный момент, об одной из программ, напишите в комментариях!
Установка программ в Debian с помощью терминала и графического интерфейса Synaptic
Как установить программу в дебиан. В этой статье я расскажу как. Программы в дебиан и дистрибутивах основанных на Debian распространяются с помощью репозиториев (как настроить репозиторий рассказывал здесь) и отдельных пакетов с расширением *.DEB.
ОГЛАВЛЕНИЕ:Показать
Рекомендованный способ это — репозиторий. Старайтесь не использовать установку программ из пакетов полученных иным путем. Рассмотрим способы как с помощью терминала так и в графическом интерфейсе.
Установка программ в Linux Debian с помощью терминала
Для поиска, проверки, установки, обновления и удаления программных пакетов в дебиан и дистрибутивах основанных на нем (Ubuntu, LinuxMint, Elementary OS, Kali Linux и др.) используется пакетный менеджер APT — advanced packaging tool. Для примера установим двухпанельный файловый менеджер Midnight Commander. Cначала обновите список пакетов:
ДЛЯ СПРАВКИ: В ранних версиях дистрибутива, таких как дебиан 7 и старше, требовалось указывать команду «apt-get». Такой вариант команды работает и в современных системах. Но я буду использовать обновленный вариант.
Продолжим. Теперь проверим есть ли пакеты для установки в наших репозиториях. Для поиска используем команду apt search имя_программы . Например:
apt search Midnight Commander
apt search Midnight Commander |
На скриншоте ниже отображен результат поиска.
Как видно из примера пакет доступен для установки. Что бы установить пакет используется команда apt install имя_пакета . Можно устанавливать не по одному пакету а сразу несколько, просто указывайте названия через пробел.
Будет установлен сам пакет и все зависимости. Продолжим на заданном примере. Как мы выяснили нужно установить пакет «mc». Даем команду:
Начнется установка программы. Потребуется указать пароль и подтвердить желание продолжить инсталляцию. Для того, что бы не подтверждать установку можно сразу задать атрибут «-y». Например, sudo apt install mc -y . Снизу виден прогресс бар отображающий процесс.
По завершении можно пользоваться программой. По моему это очень хороший двухпанельный файловый менеджер. Для запуска программы из терминала в линкс нужно указать её имя. Например для работы с mc нужно указать команду mc . Пример выполнения смотрите на скриншоте.
Учтите, что приложение запустится с правами того пользователя под которым вы авторизовались в системе. Если нужно выполнить команду от имени другого пользователя то нужно сначала авторизоваться под ним и запустить или использовать команду — sudo. Например, мы часто используем её при обновлении системы когда указываем sudo apt update .
Mc это консольная программа и открывается внутри терминала поэтому нам не мешает консоль. Если же мы хотим открыть, например, браузер Firefox то он запустится и окно терминала тоже будет открыто а если консоль закрыть то закроется и браузер.
Чтобы запустить программу и автоматически закрылся терминал нужно использовать амперсанд (&) после имени программы тогда терминал можно будет закрыть. А для того, чтобы оно закрылось автоматически нужно дописать «exit». Например Firefox & exit .
Теперь рассмотрим как установить deb пакеты в debian которого нет в репозиториях. Еще раз напомню, что такие пакеты нужно тщательно выбирать и не добавлять в систему все подряд.
Для примера я буду использовать пакет libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb для архитектуры AMD64. Я уже скачал пакет с официальной страницы. Обращаю внимание, что это должен быть .deb пакет. Иногда программа распространяется в архиве. В таком случае архив нужно распаковать.
Работа с пакетами осуществляется с помощью низкоуровневой утилиты dpkg. При наличии пакета именно она позволяет устанавливать и анализировать его. Для установки пакетов применяется опция -i или —install (подробную справку о программе можно получить используя команду man dpkg ).
Итак, использую команду cd для перехода в папку с пакетом. В моем случае это директория «Загрузки». Выполним команду:
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb |
Поскольку этот метод установки основан на использовании низкоуровневой программы dpkg, разрешение зависимостей не будут выполнены. В случае обнаружения неразрешенных зависимостей выполнение программы завершится с сообщением об ошибке.
Пакет установлен. Иногда возникает ситуация когда программа не может быть установлена из-за неудовлетворенных зависимостей. В этой ситуации в большинстве случаев поможет команда:
sudo apt —fix-broken install
sudo apt —fix-broken install |
без указывания имени пакета. После этого все зависимости подтянутся и будут установлены.
Установка программ имеющих свой инсталлятор из файлов sh, run
Программы распространяемые с собственным инсталлятором похожи на установку программ в windows с помощью файла setup.exe. С ними идет скрипт или бинарный файл в котором прописаны инструкции для установки этой программы.
Этот вариант так же не желателен! Но если вы уверены, что не навредит и программа вам нужна то можно установить. Для установки зайдите в папку с программой, например, cd Загрузки и сделайте скрипт исполняемым командой chmod +x имя_скрипта.sh . Например:
Теперь можно запустить скрипт командой:
Будет запущена установка программы. Программы и драйверы так же распространяются в самораспаковывающихся архивах. В этом случае будет один файл с названием приложения и расширением .sh.
Например, так распространялся Netbeans. Скрипт запускает некоторое подобие мастера установки в котором нужно нажимать на кнопки для ответов на вопросы и продолжения.
Как посмотреть установленные пакеты linux Debian
Для того, чтобы вывести весь список пактов установленных в системе можно использовать низкоуровневую утилиту dpkg. Используйте команду:
Для удобства можно вывести эту информацию в файл. Пример команды:
dpkg —get-selections > ~/package.txt
dpkg —get-selections > ~/package.txt |
В этом случае список пакетов будет сохранен в текстовом файле в корне пользовательского каталога с именем package.txt.
Также можно использвать утилиту apt. Команда:
Что бы посмотреть установлена программа или пакет можно использовать команду dpkg —get-selections имя_пакета. Для примера возьмем наш файловый менеджер mc. Команда будет такой:
Так как он установлен будет выведено короткое сообщение install. В противном случае — «dpkg: шаблону mc не соответствует ни один пакет». Для вывода более полной информации можно использовать команду dpkg —status имя_пакета. .
Графический пакетный менеджер Synaptic
Теперь перейдем к рассмотрению установки программ в линукс Debian с помощью графического пользовательского интерфейса. Для этого в дебиан по умолчанию используется программа Synaptic.
Если по какой либо причине в вашей копии системы этой программы нет то установить её можно командой:
sudo apt install synaptic
sudo apt install synaptic |
С его помощью можно не только устанавливать и удалять программы но и управлять репозиториями и решать некоторые проблемы. В общем программа очень функциональна и удобна.
В верхней части окна программы есть панель с кнопками. Я буду ссылаться на него по ходу рассказа.
Для установки программ в Linux Debian с помощью Synaptic нужно выбрать пакет. Прежде всего обновите информацию о пакетах. Для этого можно нажать сочетание клавиш Ctrl+R либо кликнуть по кнопке «Обновить».
Затем, что бы вызвать меню поиска нажать сочетание клавиш Ctrl+ F или кликнуть по кнопке «Поиск». В открывшемся окне указать название программы или пакета. Например, Midnight Commander и нажать кнопку «Поиск».
После завершения поиска будет выведен список с вариантами для установки. Можно выбрать пакет кликнув по нему левым кликом и посмотреть его описание.
Для установки нужно сделать правый клик по строке с выбранным пакетом. Появится контекстное меню в котором выберите пункт «Отметить для установки».
Откроется окно в котором будут показаны пакет и все зависимости которые потребуются для работы программы.
Нажмите кнопку «Применить», окно закроется и вы вернетесь в интерфейс выбора пакетов. Теперь в верхнем меню тоже нажмите кнопку «Применить».
Опять будет открыто окно в котором тоже нужно нажать кнопку «Применить». Начнется процесс установки. В конце будет выдано сообщение о том, что изменения применены то есть установка завершена.
Теперь можно закрыть Synaptic и пользоваться установленным приложением.
Подводя итог можно сказать. В Debian и системах построенных на его основе установка приложений не вызовет затруднений ни у новичка, так как имеется графическая среда, ни для опытного пользователя использующего терминал. Как удалять программы и пакеты в Linux Debian читайте в этой статье.
Yellow Leaf — Статьи — Использование менеджера пакетов dpkg в Debian/Ubuntu
Dpkg-это менеджер пакетов в Debian linux. Это утилита для установки, сборки, удаления и менеджмента пакетов Debian. Основной и наиболее дружественный «оболочкой» для dpkg является dselect. dpkg полностью контролируется через параметры командной строки, которые содержат ровно одно действие и несколько(или ни одной)опций. Параметры-действия говорят dpkg что надо сделать, а опции контролируют поведение действий в разных случаях.
Сейчас мы увидим все доступные команды dpkg с примерами
Установка пакета
Синтаксис
dpkg -i <.deb file name>
Пример
dpkg -i avg71flm_r28-1_i386.deb
Установка всех пакетов из директории рекурсивно
Синтаксис
dpkg -R
Пример
dpkg -R /usr/local/src
Распаковать пакеты, но не конфигурировать их
Синтаксис
dpkg --unpack package_file
Если вы используете опцию -R, то package_file должен ссылаться на указанную директорию.
Пример
dpkg --unpack avg71flm_r28-1_i386.deb
Переконфигурация всех распакованных пакетов
Синтаксис
dpkg --configure package
Если вместо package выбрана опция -a ,то все распакованные, но не сконфигурированные пакеты будут сконфигурированы
Пример
dpkg --configure avg71flm_r28-1_i386.deb
Удаление установленных пакетов, оставляя конфигурационные файлы
Синтаксис
dpkg -r
Пример
dpkg -r avg71flm_r28-1_i386.deb
Удаление установленных пакетов вместе с конфигурационными файлами
Синтаксис
dpkg -P
Если вместо имени пакета выбрана опция -a ,то все распакованные пакеты, помеченные для удаления или очистки в файле /var/lib/dpkg/status , будут удалены или очищены сответственно
Пример
dpkg -P avg71flm
Замена информации о доступных пакетах
Синтаксис
dpkg --update-avail <Packages-file>
С этой опцией старая информация заменяется новой в Packages-file
Добавление информации из пакетах
Синтаксис
dpkg --merge-avail <Packages-file>
С этой опцией старая информация соединяется с информацией из Packages-file.
Packages-file, поставляемые с Debian-это просто названия пакетов. dpkg хранит о доступных пакетах в файле /var/lib/dpkg/available
Обновление по информации из Package_file
Синтаксис
dpkg -A package_file
Забудьте об удаленных недоступных пакетах
Синтаксис
dpkg --forget-old-unavail
Стереть существующую информацию о доступных пакетах
Синтаксис
dpkg --clear-avail
Поиск пакетов, которые были установлены в систему только частично
Синтаксис
dpkg -C
Сравнение версий пакетов
Синтаксис
dpkg --compare-versions ver1 op ver2
Показать краткую помощь
Синтаксис
dpkg --help
Показать лицензию dpkg
Синтаксис
dpkg --licence (or) dpkg --license
Показать информацию о версии dpkg
Синтаксис
dpkg --version
Собрать deb пакет
Синтаксис
dpkg -b directory [filename]
Показать содержимое deb пакета
Синтаксис
dpkg -c filename
Показать информацию о пакете
Синтаксис
dpkg -I filename [control-file]
Показать пакеты, подходящие по заданному шаблону
Синтаксис
dpkg -l package-name-pattern
Пример
dpkg -l vim
Показать все установленные пакеты с номером версии и коротким описанием
Синтаксис
dpkg -l
Показать статус определенных пакетов
Синтаксис
dpkg -s package-name
Пример
dpkg -s ssh
Показать список файлов, установленных в систему из пакета
Синтаксис
dpkg -L package-Name
Пример
dpkg -L apache2
Поиск по имени файла в установленных пакетах
Синтаксис
dpkg -S filename-search-pattern
Пример
dpkg -S /sbin/ifconfig
Показать детальную информацию о пакете
Синтаксис
dpkg -p package-name
Пример
dpkg -p cacti
Если вы хотите получить больше информации о dpkg и его опциях, то смотрите man
Если вам нужен GUI для dpkg, то обратите внимание на dselect
Менеджеры пакетов в системах linux
В двух словах, управление пакетами это установка и поддержка (обновление или удаление при необходимости), программного обеспечения операционной системы.
На ранних стадиях развития операционных систем Linux, программное обеспечение для них распространялось только в виде исходного кода, вместе с необходимой документацией, файлами конфигурации и т. д. В настоящее время большинство дистрибутивов Linux используют уже скомпилированные программы, называемые пакетами. Пакеты предоставляются пользователю уже готовыми к установке на операционную систему. Тем не менее в linux, всегда можно получить исходный код того или иного программного обеспечения для изучения, улучшения и компиляции.
Что такое зависимости пакетов
Зависимости пакета, это когда одному пакету программного обеспечения, для корректной установки и работы, требуются определенные ресурсы в виде дополнительных общих библиотек или других пакетов. Все современные системы управления пакетами имеют способы разрешения зависимостей, чтобы гарантировать, что при установке пакета будут установлены и все его зависимости, необходимые для нормальной работы.
Система пакетов
Практически любой софт устанавливаемый в современную linux систему можно найти в Интернете. Он может быть предоставлен разработчиками конкретного дистрибутива через официальные репозитарии (хранилища программного обеспечения, которые могут содержать тысячи пакетов, каждый из которых был скомпилирован, протестирован и поддерживается для распространения и использования в данном дистрибутиве linux) или доступен в виде исходного кода, который можно загрузить и установить вручную.
Поскольку разные семейства дистрибутивов linux используют разные системы упаковки (Debian — пакеты в формате deb, CentOS — rpm формат, openSUSE — тоже rpm но созданный специально для openSUSE), пакет, предназначенный для одного дистрибутива, не будет совместим с другим дистрибутивом. Большинство дистрибутивов linux входят в одно из трех основных семейств linux, включенных в сертификацию LFCS.
Высоко- и низкоуровневые инструменты управления пакетами.
При решении различных задач по управлению пакетами программного обеспечения, необходимо знать, что существуют два типа утилит: низкоуровневые инструменты (производящие фактическую установку, обновление и удаление файлов пакетов), и высокоуровневые инструменты (отвечают за выполнение задач по разрешению зависимостей и поиска метаданных — так называемые «данные о данных»).
Низкоуровневые системы управления пакетами:
- Debian, Ubuntu и подобные — менеджер пакетов dpkg
- CentOS — менеджер пакетов rpm
- OpenSUSE — менеджер пакетов rpm (opensuse)
Высокоуровневые системы управления пакетов:
- Debian, Ubuntu и подобные — apt-get/aptitude
- CentOS — менеджер пакетов yum
- OpenSUSE — менеджер пакетов zipper
Dpkg — низкоуровневый пакетный менеджер в Debian linux и производных дистрибутивах. Dpkg умеет устанавливать, удалять, предоставлять информацию и создавать deb пакеты, однако он не может автоматически загружать и устанавливать необходимые зависимости для конкретного пакета.
Часто используемые команды dpkg
Apt-get — высокоуровневый пакетный менеджер в Debian linux и производных дистрибутивах. Apt-get представляет из себя простой способ получения и установки необходимых пакетов из различных источников, с разрешением зависимостей, через командную строку. В отличии от dpkg, apt-get не работает напрямую с .deb файлами пакетов, только пакетом по его имени.
Часто используемые команды apt-get и apt-cache
Aptitude, это еще один высокоуровневый инструмент управления пакетами в debian-подобных операционных системах и может быть использован для управления пакетами (установка, обновление и удаление пакетов с автоматическим разрешениме зависимостей), быстрым и простым способом. Он обеспечивает те же функциональные возможности что и apt-get, плюс некоторые расширенные, такие как доступ к нескольким версиям пакета.
Rpm — система управления пакетами, используемая Linux Standard Base (LSB) — совместимыми дистрибутивами для низкоуровневой обработки пакетов. Как и dpkg, он может запрашивать, устанавливать, проверять, обновлять и удалять пакеты, чаще используется в дистрибутивах на базе Fedora, таких как RHEL и CentOS.
Часто используемые команды rpm
Yum — высокоуровневый инструмент для работы с пакетами (установка, удаление, обновление), с управлением зависимостями в системах на основе RPM пакетов. Yum как apt-get и aptitude, работает с репозитариями
Часто используемые команды yum
Распространенные задачи низкоуровневых инструментов.
1. Установка пакета из скомпилированного *.deb или *.rpm файла.
Минус подобной установки, это невозможность разрешения зависимостей пакета. Вероятней всего вы будете использовать данный способ установки, если в репозитариях соответствующее ПО отсутствует и не может быть установлено с помощью инструментов высокого уровня. В данном случае, пакет не сможет скачать и установить зависимости, если они ему потребуются, и установка будет прервана ошибкой.
# dpkg -i file.deb [Debian and derivative] # rpm -i file.rpm [CentOS / openSUSE]
Не пытайтесь устанавливать в CentOS, rpm пакет, скомпилированный для OpenSUSE, и наоборот.
2. Обновление пакета из скомпилированного файла.
Обновить пакет ПО не доступный из репозитариев, возможно только вручную.
# dpkg -i file.deb [Debian and derivative] # rpm -U file.rpm [CentOS / openSUSE]
3. Список установленных пакетов
Если в ваше распоряжение попала уже работающая система, будет не лишним узнать, что на ней установлено:
# dpkg -l [Debian and derivative] # rpm -qa [CentOS / openSUSE]
Если вам нужно узнать, установлен-ли какой-то конкретный пакет, можно воспользоваться командой grep. перенаправив на нее вывод менеджера пакетов:
# dpkg -l | grep apache2-mpm-itk ii apache2-mpm-itk 2.2.22-13+deb7u6 amd64 multiuser MPM for Apache 2.2
# rpm -qa | grep httpd-2.4.6 httpd-2.4.6-45.el7.centos.4.x86_64
Еще один способ получить аналогичный результат:
# dpkg --status package_name [Debian and derivative] # rpm -q package_name [CentOS / openSUSE]
4. Какому пакету принадлежит файл.
# dpkg --search my.cnf mysql-common: /etc/mysql/my.cnf # rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_64
Распространенные задачи высокоуровневых инструментов
1. Поиск пакетов
# aptitude update && aptitude search package_name [Debian-like] # zypper refresh && zypper search package_name [OpenSUSE] # yum search package_name [CentOS]
если yum получает ключ search all, поиск производится не только по имени пакета но и по описанию
# yum search all package_name
Каким пакетом установлен файл
# yum whatprovides "*/server.cnf" 1:mariadb-server-5.5.52-1.el7.x86_64 : The MariaDB server and related files Repo : base Matched from: Filename : /etc/my.cnf.d/server.cnf
2. Установка пакета из репозитария
При установке пакета вам может быть предложено подтвердить установку после того, как менеджер пакетов разрешит все зависимости.
# aptitude update && aptitude install package_name [Debian-like] # zypper refresh && zypper install package_name [openSUSE] # yum update && yum install package_name [CentOS]
3. Удаление пакетов
Если aptitude указан ключ remove, пакет будет удален, за исключением конфигурационных файлов. Что-бы удалить все следы установки пакета, нужно использовать ключ purge.
# aptitude remove/purge package_name
# yum erase package_name
В OpenSUSE обратите внимание на знак «минус» перед именем пакета.
# zypper remove -package_name
Практически любой менеджер пакетов потребует подтвердить удаление пакета.
4. Просмотр инфоормации о пакете
Вывод информации о пакете mariadb-server
# aptitude show mariadb-server # yum info mariadb-server # zypper info mariadb-server
Удачи.
Использование менеджера пакетов dpkg в Debian/Ubuntu — Документация — Новости
>В зависимости вносится достаточное количество программ. Уверен если проследить зависимости apt, то рано или поздно там найдётся dpkg.
>Debian без dpkg я не видел, а вот dpkg без Debian видел и даже использовал. Думаю нет ничего сложного в удалении dpkg из Debian. Удалить файлы которые с ним связаны и всё. Это ж не Windows, где есть таинственный «реестр».
Дело не в зависимостях, посто у пакета dpkg в Debian стоит приоритет «обязательный». И dpkg стандартными средствами из Debian удаляется нормально, при этом apt остается. Специально для Вас листинг команды `apt-get remove dpkg’:
root@goldensmit:/home/burma# apt-get remove dpkg
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Пакеты, которые будут УДАЛЕНЫ:
apache apache-perl apache-ssl apel base-config bitchx-gtk cedet-common
console-common console-cyrillic console-data console-tools debian-el
devscripts-el dfontmgr dictionary-el dpkg dpkg-dev-el ecb ede eieio elib
elserv emacs21 emacs21-bin-common emacs21-common flim gdk-imlib1
gdk-imlib1-dev gnome gnome-bin gnome-desktop-environment gnome-libs-data
gnome-volume-manager gtk-engines-redmond95 hal html2ps iceme icepref icewm
icewm-gnome-support ickle ickle-control idesk imagemagick imlib-base
imlib-progs imlib1 imlib11 initscripts jde kde kdeaddons kdegraphics kdessh
kdeutils kernel-package kicker-applets konq-plugins kuickshow
libapache-mod-jk libdv-bin libgdk-pixbuf2 libglade-perl libgnome32
libgnomesupport0 libgnomeui32 libgnorba-dev libgnorba27 libgnorbagtk0
libgtk-perl libgtk1.2 libgtk1.2-dev libgtkmm1.2-0 libmagick++6 libmagick6
libpstoedit0 libzvt2 linda lintian lm-sensors localepurge man-db menu
modutils mplayer perlmagick pstoedit python-gdk-imlib-1.2 python-gtk-1.2
resolvconf semantic sensord speedbar speedbar-beta ssh sysvinit tetex-base
tetex-bin tfm-arphic-bkai00mp tfm-arphic-bsmi00lp tfm-arphic-gbsn00lp
tfm-arphic-gkai00mp twm udev vim vim-common vim-gtk vimpart w3-el-e21
w3-lisp-e21 w3-url-e21 x-window-system xmms
ВНИМАНИЕ: Эти существенно важные пакеты будут удалены
НЕ ДЕЛАЙТЕ этого, если вы НЕ представляете себе все возможные последствия!
dpkg sysvinit initscripts (вследствие sysvinit)
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 113 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0Б архивов.
После распаковки объем занятого дискового пространства уменьшится на 251MB.
То, что вы хотите сделать, может иметь нежелательные последствия
Чтобы продолжить, введите фразу: ‘Да, делать, как я скажу!’
?]
…
Smit ★ ()
|
|
.
dpkg (1): менеджер пакетов для Debian
Имя
dpkg — менеджер пакетов для Debian
Сводка
dpkg [ опции ] action
Предупреждение
Это руководство предназначено для пользователей, желающих разобраться в параметрах командной строки dpkg и
в пакете указано более подробно, чем в dpkg —help .
Сопровождающим пакетов, желающим понять, как dpkg установит свои пакеты, следует использовать , а не .Описание для чего dpkg
делает при установке и удалении пакетов особенно неадекватно.
Описание
dpkg — это инструмент для установки, сборки, удаления пакетов Debian и управления ими. Первичная и
более удобный интерфейс для dpkg is aptitude (1) . dpkg Сам полностью управляется через параметры командной строки, которые состоят из
ровно одно действие и ноль или более вариантов. Параметр действия сообщает dpkg , что делать, а параметры каким-то образом управляют поведением действия.
dpkg также можно использовать как интерфейс для dpkg-deb (1) . Ниже приведены действия dpkg-deb , и если они встречаются,
dpkg просто запускает dpkg-deb с заданными ему параметрами:
-b, --build, -c, --contents, -I, --info, -f, --field, -e, --control, -x, --extract, -X, --vextract и --fsys-tarfile.
Пожалуйста, обратитесь к dpkg-deb (1) для получения информации об этих действиях.
Информация о пакетах
dpkg поддерживает некоторую полезную информацию о доступных пакетах.В
информация разделена на три класса: состояний , состояний выбора и флагов . Эти значения предназначены для изменения в основном с помощью
dselect .
Состояния пакета
- не установлен
- Пакет не установлен в вашей системе.
- конфигурационных файлов
- В системе существуют только файлы конфигурации пакета.
- наполовину установлен
- Установка пакета началась, но по какой-то причине не завершилась.
- без упаковки
- Пакет распакован, но не настроен.
- наполовину настроенный
- Пакет распакован и настройка началась, но по какой-то причине еще не завершена.
- ожидаются триггеры
- Пакет ожидает обработки триггера другим пакетом.
- триггеры на рассмотрении
- Пакет сработал.
- установлено
- Пакет распакован и настроен ОК.
Состояния выбора пакета
- установить
- Пакет выбран для установки.
- удерживать
- Пакет, помеченный как удерживаемый , не обрабатывается dpkg , если это не требуется с помощью опции —force-hold .
- удалить
- Пакет выбран для деинсталляции (т.е. мы хотим удалить все файлы, кроме файлов конфигурации).
- продувка
- Пакет выбран для очистки (т.е.е. мы хотим удалить все, даже файлы конфигурации).
Флаги упаковки
- требуется восстановление
- Пакет с пометкой требует повторной установки поврежден и требует переустановки. Эти пакеты не могут быть удалены, если не заданы опцией
— force-remove-reinstreq .
Действия
- -i , — установить package_file …
- Установите пакет. Если указана опция —recursive или -R , то вместо файл_пакета должен ссылаться на каталог.
Установка состоит из следующих шагов:
1. Извлеките управляющие файлы нового пакета.
2. Если перед новой установкой была установлена другая версия того же пакета, выполните сценарий prerm старого пакета.
3. Запустить сценарий preinst , если это предусмотрено пакетом.
4. Распакуйте новые файлы и одновременно сделайте резервную копию старых файлов, чтобы их можно было восстановить, если что-то пойдет не так.
5. Если перед новой установкой была установлена другая версия того же пакета, выполните сценарий postrm старого пакета. Обратите внимание, что
этот сценарий выполняется после сценария preinst нового пакета, поскольку новые файлы записываются одновременно с удалением старых файлов.6. Настройте пакет. См. —configure для получения подробной информации о том, как это делается.
- — распаковать package_file …
- Распакуйте пакет, но не настраивайте его. Если указана опция —recursive или -R , то вместо файл_пакета должен ссылаться на каталог.
- —конфигурировать пакет … | -a | — в ожидании
- Перенастройте распакованный пакет. Если -a или —pending задается вместо package , все распакованные, но ненастроенные пакеты
настроен.Настройка состоит из следующих шагов:
1. Распакуйте файлы конфигурации и одновременно сделайте резервную копию старых файлов конфигурации, чтобы их можно было восстановить, если что-то пойдет не так.
2. Запустить сценарий postinst , если он предусмотрен пакетом.
- — только триггеры упаковка … | -a | — в ожидании
- Процессы только триггеры. Все ожидающие триггеры будут обработаны. Если указаны имена пакетов, будут обрабатываться только триггеры этих пакетов, а именно:
по одному разу при необходимости.Использование этой опции может оставить пакеты в неправильных состояниях ожидаемых триггеров, и , ожидающих триггеров, . Это можно исправить
позже, запустив: dpkg —configure —pending . - -r , — удалить , -P , — очистить упаковка … | -a | — в ожидании
- Удалить установленный пакет. -r или —remove удалить все, кроме файлов conffiles. Это поможет избежать перенастройки пакета, если он
переустановил позже.(Conffiles — это файлы конфигурации, которые перечислены в управляющем файле DEBIAN / conffiles ). -P или —purge удаляет
все, включая conffiles. Если вместо имени пакета указано -a или —pending , то все пакеты распакованы, но отмечены для удаления или
очищенные в файле / var / lib / dpkg / status , удаляются или очищаются соответственно. Примечание: некоторые файлы конфигурации могут быть неизвестны dpkg , потому что они
создаются и обрабатываются отдельно с помощью сценариев конфигурации.В этом случае dpkg не удалит их самостоятельно, но пакет postrm
скрипт (который вызывается dpkg ) должен позаботиться об их удалении во время очистки.Удаление пакета состоит из следующих шагов:
1. Запуск сценария prerm
2. Удаление установленных файлов
3. Запуск сценария postrm
- — update-avail , —merge-avail Файл пакетов
- Обновление dpkg и dselect , чтобы узнать, какие пакеты доступны.С действием —merge-avail старая информация объединяется с
информация из Packages-файла . С помощью действия —update-avail старая информация заменяется информацией в файле пакетов . В
Файл пакетов , распространяемый вместе с Debian, называется просто Packages . dpkg ведет учет доступных пакетов в
/ var / lib / dpkg / доступно .Более простой одноразовой командой для получения и обновления доступного файла является dselect update .Обратите внимание, что этот файл в основном бесполезен, если вы не используете
dselect , но интерфейс на основе APT: APT имеет свою собственную систему для отслеживания доступных пакетов. - -A , —Record-avail package_file …
- Обновление dpkg и dselect показывает, какие пакеты доступны с информацией из пакета package_file . Если — рекурсивный
или указана опция -R , файл_пакета должен вместо этого ссылаться на каталог. - — забыть-старое-недоступное
- Теперь устарел и не работает как dpkg автоматически забудет удаленные недоступные пакеты.
- — доступный
- Удалите существующую информацию о доступных пакетах.
- -С , —аудит
- Выполняет поиск пакетов, которые были частично установлены в вашей системе. dpkg подскажет, что с ними делать, чтобы они заработали.
- —get-selections [ шаблон-имени-пакета …]
- Получить список выбранных пакетов и записать его в стандартный вывод. Без шаблона неустановленные пакеты (т. Е. Те, которые были ранее удалены) не будут
быть показаны. - — выбор-набор
- Установить выбор пакетов с помощью чтения файла из стандартного ввода. Этот файл должен быть в формате «<пакет> <состояние>», где состояние — это установка, удержание,
удалить или очистить. Пустые строки и строки комментариев, начинающиеся с символа «#», также разрешены. - —clear-selection
- Установить запрошенное состояние каждого несущественного пакета для удаления. Это предназначено для использования непосредственно перед —set-selections, чтобы удалить любые
пакетов, которых нет в списке, указанном для —set-selections. - — до распаковки
- Ищет пакеты, выбранные для установки, но которые по какой-то причине еще не установлены.
- — принт-архитектура
- Распечатать архитектуру пакетов dpkg установок (например, «i386»).
- — сравнение версий ver1 op ver2
- Сравните номера версий, где op — бинарный оператор. dpkg возвращает успех (нулевой результат), если указанное условие выполнено, и
сбой (ненулевой результат) в противном случае. Есть две группы операторов, которые различаются тем, как они обрабатывают пустые ver1 или ver2 . Они относятся к пустому
версия как более ранняя, чем любая версия: lt le eq ne ge gt . Они рассматривают пустую версию как более позднюю, чем любая версия: lt-nl le-nl ge-nl gt-nl .Эти
предоставляются только для совместимости с синтаксисом управляющего файла: <<< <= => = >>> . - —command-fd
- Принять серию команд на дескрипторе входного файла
не сбрасывается для последующих команд, выполняемых во время того же запуска. - — справка
- Показать краткое справочное сообщение.
- —force-help
- Справка по параметрам —force- thing .
- -Dh , —debug = help
- Справка по параметрам отладки.
- — лицензия , — лицензия
- Дисплей dpkg лицензия.
- — версия
- Показать информацию о версии dpkg .
- dpkg-deb действия
- См. dpkg-deb (1) для получения дополнительной информации о следующих действиях.
-b, --build каталог [архив | каталог] Создайте пакет deb. -c, --contents архив Вывести список содержимого пакета deb. -e, --control имя файла [каталог] Извлечь управляющую информацию из пакета. -x, --extract каталог архива Извлеките файлы, содержащиеся в package. -X, --vextract каталог архива Извлечь и отобразить имена файлов, содержащиеся в пакет. -f, --field archive [контрольное поле ...] Отображение элемента управления , поле (а) пакета. --fsys-tarfile архив Показать tar-файл файловой системы, содержащийся в Пакет Debian.-I, --info архив [контрольный файл ...] Показать информацию о пакете.
- Действия dpkg-query
- См. dpkg-query (1) для получения дополнительной информации о следующих действиях.
-l, --list шаблон имени-пакета ... Список пакетов, соответствующих заданному шаблону. -s, --status имя-пакета ... Сообщить о статусе указанного пакета. -L, --listfiles имя-пакета ... Перечислить файлы, установленные в вашей системе, из package-name. -S, --search имя-файла-поиск-шаблон... Найдите имя файла в установленных пакетах. -p, --print-avail имя-пакета ... Показать подробную информацию об имени пакета, как показано в / var / lib / dpkg / доступно. Пользователи интерфейсов на основе APT вместо этого следует использовать apt-cache show package-name.
Опции
Все параметры можно указать как в командной строке, так и в файле конфигурации dpkg .
/etc/dpkg/dpkg.cfg или файлы в каталоге конфигурации /etc/dpkg/dpkg.cfg.d/ .Каждая строка в файле конфигурации — это либо опция
(точно так же, как параметр командной строки, но без дефисов в начале) или комментарий (если он начинается с # ).
- —abort-after = номер
- Изменение после того, сколько ошибок dpkg будет отменено. По умолчанию 50.
- -B , — автоматическая деконфигурация
- При удалении пакета существует вероятность, что другой установленный пакет зависел от удаленного пакета.Указание этого параметра вызовет
автоматическое удаление из конфигурации пакета, зависящего от удаленного пакета. - -D в восьмеричном формате , —debug = в восьмеричном формате
- Включить отладку. восьмеричное число формируется путем побитового объединения желаемых значений из списка ниже (обратите внимание, что эти значения могут измениться в будущем.
выпусков). -Dh или —debug = help отобразить эти значения отладки.номер описание
1 Общая полезная информация о ходе выполнения
2 Вызов и состояние сценариев сопровождающего
10 Вывод для каждого обработанного файла
100 Много вывода для каждого обработанного файла
20 Вывод для каждого файла конфигурации
200 Много вывода для каждого файла конфигурации
40 Зависимости и конфликты
400 Множество выходных зависимостей / конфликтов
10000 Активация и обработка триггеров
20000 Множество выходных данных, касающихся триггеров
40000 Глупые объемы выходных данных в отношении триггеров
1000 Много ерунды о е.г. dpkg / info dir
2000 Безумное количество чуши - —force- штук , —no-force- штук , —refuse- штук
Заставить или отказаться ( no-force и disable означают одно и то же) что-то делать. вещей — это список указанных вещей, разделенных запятыми
ниже. —force-help отображает сообщение с их описанием. Пункты, отмеченные (*), по умолчанию принудительно.Предупреждение. Эти параметры в основном предназначены для использования только специалистами. Использование их без полного понимания их эффектов может сломать вам все
система.все : Включает (или выключает) все параметры принудительной установки.
вернуться к предыдущей версии (*): установить пакет, даже если его более новая версия уже установлена.
Предупреждение: в настоящее время dpkg не выполняет проверку зависимостей при переходе на более раннюю версию и, следовательно, не будет предупреждать вас, если при переходе на более раннюю версию
другой пакет.Это может иметь серьезные побочные эффекты: понижение уровня основных компонентов системы может даже сделать вашу систему непригодной для использования. Используйте с осторожностью.configure-any : Настройте также все распакованные, но ненастроенные пакеты, от которых зависит текущий пакет.
hold : обрабатывать пакеты, даже если они отмечены как «hold».
remove-reinstreq : удалить пакет, даже если он сломан и помечен как требующий переустановки. Это может, например, привести к тому, что части пакета будут
остаются в системе, которые затем будут забыты dpkg .remove-essential : Удалить, даже если пакет считается важным. Основные пакеты содержат в основном очень простые команды Unix. Удаление их
может привести к прекращению работы всей системы, поэтому используйте его с осторожностью.зависит : превратить все проблемы с зависимостями в предупреждения.
зависит-версия : не заботиться о версиях при проверке зависимостей.
breaks : Установить, даже если это нарушит работу другого пакета.
конфликты : Установить, даже если он конфликтует с другим пакетом. Это опасно, поскольку обычно приводит к перезаписи некоторых файлов.
confmiss : Всегда устанавливайте отсутствующий файл конфигурации. Это опасно, поскольку означает отказ от сохранения изменений (удаления), внесенных в файл.
confnew : Если конфигурация была изменена, всегда устанавливайте новую версию без запроса, если также не указано —force-confdef в
в этом случае действие по умолчанию является предпочтительным.confold : Если конфигурация была изменена, всегда сохраняйте старую версию без запроса, если также не указано —force-confdef , в котором
случае предпочтительнее действие по умолчанию.confdef : Если файл был изменен, всегда выбирайте действие по умолчанию. Если действия по умолчанию нет, он остановится, чтобы спросить пользователя, если
—force-confnew или —force-confold , и в этом случае он будет использовать это для определения окончательного действия.перезаписать : перезаписать файл одного пакета файлом другого.
overwrite-dir Заменить каталог одного пакета файлом другого.
с переадресацией перезаписи : Перезапись переадресованного файла неотправленной версией.
архитектура : обрабатывать даже пакеты с неправильной архитектурой.
неверный путь : В PATH отсутствуют важные программы, поэтому вероятны проблемы.
без полномочий root : попробуйте (де) установить
.
Управление пакетами | Документация на сервер
Ubuntu включает комплексную систему управления пакетами для установки, обновления, настройки и удаления программного обеспечения. Помимо предоставления доступа к организованной базе из более чем 60 000 программных пакетов для вашего компьютера с Ubuntu, средства управления пакетами также включают в себя возможности разрешения зависимостей и проверку обновлений программного обеспечения.
Доступно несколько инструментов для взаимодействия с системой управления пакетами Ubuntu, от простых утилит командной строки, которые могут быть легко автоматизированы системными администраторами, до графического интерфейса, которым легко пользоваться новички в Ubuntu.
Введение
Система управления пакетами Ubuntu является производной от той же системы, что и в дистрибутиве Debian GNU / Linux. Файлы пакета содержат все необходимые файлы, метаданные и инструкции для реализации определенной функции или программного приложения на вашем компьютере с Ubuntu.
Файлы пакетов
Debian обычно имеют расширение .deb
и обычно находятся в репозиториях , которые представляют собой коллекции пакетов, найденных в Интернете или на физических носителях, таких как диски CD-ROM.Пакеты обычно находятся в предварительно скомпилированном двоичном формате; таким образом установка выполняется быстро и не требует компиляции программного обеспечения.
Многие пакеты используют зависимости . Зависимости — это дополнительные пакеты, необходимые основному пакету для правильной работы. Например, пакет синтеза речи фестиваль
зависит от пакета alsa-utils
, который представляет собой пакет, предоставляющий инструменты звуковой библиотеки ALSA, необходимые для воспроизведения звука. Чтобы фестиваль работал, он и все его зависимости должны быть установлены.Инструменты управления программным обеспечением в Ubuntu сделают это автоматически.
кв.
Команда apt — это мощный инструмент командной строки, который работает с Ubuntu Advanced Packaging Tool (APT), выполняя такие функции, как установка новых пакетов программного обеспечения, обновление существующих пакетов программного обеспечения, обновление индекса списка пакетов и даже обновление вся система Ubuntu.
Некоторые примеры популярного использования утилиты apt:
Установка пакета : Установка пакетов с помощью инструмента apt довольно проста.Например, чтобы установить сетевой сканер nmap, введите следующее:
sudo apt установить nmap
Удаление пакета : Удаление пакета (или пакетов) также несложно. Чтобы удалить пакет, установленный в предыдущем примере, введите следующее:
sudo apt удалить nmap
Наконечник
Несколько пакетов : Вы можете указать несколько пакетов для установки или удаления, разделив их пробелами.
Уведомление
Сценарии : Хотя apt является инструментом командной строки, он предназначен для интерактивного использования, а не для вызова из неинтерактивных сценариев. В сценариях следует использовать команду
apt-get
(возможно, с флагом--quiet
). Для базовых команд синтаксис двух инструментов идентичен.Кроме того, добавление параметра
--purge
вapt remove
также удалит файлы конфигурации пакета.Это может быть или не быть желаемым эффектом, поэтому используйте его с осторожностью.Обновление индекса пакетов : индекс пакетов APT по сути является базой данных доступных пакетов из репозиториев, определенных в файле
/etc/apt/sources.list
и в файле/etc/apt/sources.list.d Каталог
. Чтобы обновить локальный индекс пакета с учетом последних изменений, внесенных в репозитории, введите следующее:sudo apt update
Пакеты обновления : Со временем обновленные версии пакетов, установленных в настоящее время на вашем компьютере, могут стать доступными из репозиториев пакетов (например, обновления безопасности).Чтобы обновить вашу систему, сначала обновите индекс вашего пакета, как описано выше, а затем введите:
sudo apt обновление
Для получения информации об обновлении до новой версии Ubuntu см. Обновление.
Действия команды apt, такие как установка и удаление пакетов, регистрируются в файле журнала /var/log/dpkg.log
.
Для получения дополнительной информации об использовании APT прочтите подробное руководство пользователя APT или введите:
apt help
Aptitude
Запуск Aptitude без параметров командной строки предоставит вам текстовый интерфейс на основе меню для системы Advanced Packaging Tool (APT).Многие из общих функций управления пакетами, такие как установка, удаление и обновление, могут быть выполнены в Aptitude с помощью одноклавишных команд, которые обычно представляют собой строчные буквы.
Aptitude лучше всего подходит для использования в неграфической среде терминала, чтобы гарантировать правильное функционирование командных клавиш. Вы можете запустить интерфейс Aptitude на основе меню как обычный пользователь, набрав следующую команду в командной строке терминала:
sudo aptitude
При запуске Aptitude вы увидите строку меню вверху экрана и две панели под строкой меню.Верхняя панель содержит категории пакетов, такие как Новые пакеты и Неустановленные пакеты . Нижняя панель содержит информацию, относящуюся к пакетам и категориям пакетов.
Использование Aptitude для управления пакетами относительно просто, а пользовательский интерфейс упрощает выполнение обычных задач. Ниже приведены примеры общих функций управления пакетами, выполняемых в Aptitude:
Установка пакетов : Чтобы установить пакет, найдите пакет в категории пакетов Not Installed Packages с помощью клавиш со стрелками на клавиатуре и клавиши ENTER.Выделите желаемый пакет, затем нажмите кнопку +. Код пакета должен стать зеленым , указывая на то, что он был отмечен для установки. Теперь нажмите g, чтобы отобразить сводку действий с пакетом. Снова нажмите g, и начнется загрузка и установка пакета. По завершении нажмите ENTER, чтобы вернуться в меню.
Удаление пакетов : Чтобы удалить пакет, найдите пакет в категории «Установленные пакеты » с помощью клавиш со стрелками на клавиатуре и клавиши ENTER.Выделите нужный пакет, который хотите удалить, затем нажмите клавишу -. Код на упаковке должен стать розовым , что означает, что он был помечен для удаления. Теперь нажмите g, чтобы отобразить сводку действий с пакетом. Снова нажмите g, и начнется удаление пакета. По завершении нажмите ENTER, чтобы вернуться в меню.
Обновить индекс пакета : Чтобы обновить индекс пакета, просто нажмите клавишу u. Начнется обновление индекса пакета.
Пакеты обновления : Чтобы обновить пакеты, выполните обновление индекса пакетов, как описано выше, а затем нажмите клавишу U, чтобы пометить все пакеты с обновлениями.Теперь нажмите g, после чего вам будет представлена сводка действий с пакетом. Снова нажмите g, и начнется загрузка и установка. По завершении нажмите ENTER, чтобы вернуться в меню.
Первый столбец информации, отображаемой в списке пакетов на верхней панели, при фактическом просмотре пакетов перечисляет текущее состояние пакета и использует следующий ключ для описания состояния пакета:
i : Установленный пакет
c : Пакет не установлен, но конфигурация пакета остается в системе
p : Удалено из системы
v : Виртуальный пакет
B : Сломанная упаковка
u : Файлы распакованы, но пакет еще не настроен
C : наполовину настроен — сбой конфигурации, требуется исправление
H : установлен наполовину — не удалось удалить, требуется исправление
Чтобы выйти из Aptitude, просто нажмите клавишу q и подтвердите свое желание выйти.Многие другие функции доступны из меню Aptitude, нажав клавишу F10.
Командная строка Aptitude
Вы также можете использовать Aptitude в качестве инструмента командной строки, аналогичного apt. Чтобы установить пакет nmap со всеми необходимыми зависимостями, как в примере apt, вы должны использовать следующую команду:
sudo aptitude install nmap
Чтобы удалить тот же пакет, вы должны использовать команду:
sudo aptitude remove nmap
Дополнительные сведения о параметрах командной строки для Aptitude см. На страницах руководства.
шт. Кг
dpkg — это менеджер пакетов для систем на базе Debian . Он может устанавливать, удалять и создавать пакеты, но в отличие от других систем управления пакетами, он не может автоматически загружать и устанавливать пакеты или их зависимости. Apt и Aptitude являются более новыми и накладывают дополнительные функции поверх dpkg. В этом разделе рассматривается использование dpkg для управления локально установленными пакетами:
Чтобы вывести список всех пакетов в базе данных пакетов системы, включая все пакеты, установленные и удаленные, из командной строки терминала введите:
дпкг -l
В зависимости от количества пакетов в вашей системе это может привести к большому объему вывода.Передайте вывод через grep, чтобы узнать, установлен ли конкретный пакет:
dpkg -l | grep apache2
Замените
apache2
любым именем пакета, частью имени пакета или регулярным выражением.Чтобы вывести список файлов, установленных пакетом, в данном случае пакетом ufw, введите:
dpkg -L ufw
Если вы не уверены, какой пакет установил файл,
dpkg -S
может сказать вам.Например:dpkg -S /etc/host.conf базовые файлы: /etc/host.conf
Выходные данные показывают, что
/etc/host.conf
принадлежит пакету базовых файлов.Примечание
Многие файлы автоматически генерируются в процессе установки пакета, и даже если они находятся в файловой системе,
dpkg -S
может не знать, к какому пакету они принадлежат.Можно установить локальный
.deb
, введя:судо dpkg -i zip_3.0-4_amd64.deb
Измените
zip_3.0-4_amd64.deb
на фактическое имя локального файла .deb, который вы хотите установить.Удаление пакета может быть выполнено с помощью:
sudo dpkg -r почтовый индекс
Осторожно
Удаление пакетов с помощью dpkg в большинстве случаев НЕ рекомендуется . Лучше использовать диспетчер пакетов, который обрабатывает зависимости, чтобы гарантировать, что система находится в согласованном состоянии.Например, использование
dpkg -r zip
удалит zip-пакет, но все зависящие от него пакеты все равно будут установлены и могут больше не работать правильно.
Дополнительные параметры dpkg см. На странице руководства: man dpkg
.
Конфигурация APT
Конфигурация репозиториев системы Advanced Packaging Tool (APT) хранится в файле /etc/apt/sources.list
и каталоге /etc/apt/sources.list.d
.Здесь приводится ссылка на пример этого файла вместе с информацией о добавлении или удалении ссылок на репозиторий из файла.
Вы можете редактировать файл, чтобы включить репозитории или отключить их. Например, чтобы отключить требование вставлять компакт-диск Ubuntu всякий раз, когда происходят операции с пакетом, просто закомментируйте соответствующую строку для компакт-диска, которая появляется в верхней части файла:
# больше не запрашивайте CD-ROM, пожалуйста
# deb cdrom: [DISTRO-APT-CD-NAME - Выпуск i386 (20111013.1)] / DISTRO-SHORT-CODENAME основной ограничен
Дополнительные репозитории
В дополнение к официально поддерживаемым репозиториям пакетов, доступным для Ubuntu, существуют дополнительные репозитории, поддерживаемые сообществом, которые добавляют тысячи дополнительных пакетов для потенциальной установки. Двумя из самых популярных являются репозитории universe и multiverse . Эти репозитории официально не поддерживаются Ubuntu, но поскольку они поддерживаются сообществом, они обычно предоставляют пакеты, которые безопасны для использования с вашим компьютером Ubuntu.
Примечание
Пакеты в репозитории multiverse часто имеют проблемы с лицензированием, которые не позволяют их распространять с бесплатной операционной системой, и они могут быть незаконными в вашем регионе.
Предупреждение
Имейте в виду, что ни репозитории universe , ни репозитории multiverse не содержат официально поддерживаемых пакетов. В частности, для этих пакетов может не быть обновлений безопасности.
Доступно множество других источников пакетов, иногда даже предлагая только один пакет, как в случае источников пакетов, предоставленных разработчиком одного приложения. Однако вы всегда должны быть очень осторожны и осторожны при использовании нестандартных исходных кодов пакетов. Внимательно изучите исходный код и пакеты перед выполнением любой установки, так как некоторые источники пакетов и их пакеты могут в некоторых отношениях сделать вашу систему нестабильной или нефункциональной.
По умолчанию репозитории Universe и multiverse включены, но если вы хотите отключить их, отредактируйте / etc / apt / sources.перечислите
и прокомментируйте следующие строки:
deb http://archive.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME Universe multiverse
deb-src http://archive.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME Universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ вселенная DISTRO-SHORT-CODENAME
deb-src http://us.archive.ubuntu.com/ubuntu/ Вселенная DISTRO-SHORT-CODENAME
deb http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-updates вселенная
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-updates вселенная
deb http: // us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME multiverse
deb http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-обновляет мультивселенную
deb-src http://us.archive.ubuntu.com/ubuntu/ DISTRO-SHORT-CODENAME-обновляет мультивселенную
deb http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-вселенная безопасности
deb-src http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-security universe
deb http://security.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-security multiverse
deb-src http: // безопасность.ubuntu.com/ubuntu DISTRO-SHORT-CODENAME-безопасность мультивселенной
Автоматические обновления
Пакет автоматических обновлений может использоваться для автоматической установки обновленных пакетов и может быть настроен для обновления всех пакетов или просто для установки обновлений безопасности. Сначала установите пакет, введя в терминал следующее:
sudo apt install автоматические обновления
Чтобы настроить автоматические обновления, отредактируйте /etc/apt/apt.conf.d/50unattended-upgrades
и настройте следующее в соответствии с вашими потребностями:
Автоматическое обновление :: Allowed-Origins {
"$ {distro_id}: $ {distro_codename}";
"$ {distro_id}: $ {distro_codename} -security";
// "$ {distro_id}: $ {distro_codename} -updates";
// "$ {distro_id}: $ {distro_codename} -proposed";
// "$ {distro_id}: $ {distro_codename} -backports";
};
Некоторые пакеты также могут быть внесены в черный список и поэтому не будут обновляться автоматически.Чтобы внести пакет в черный список, добавьте его в список:
Автоматическое обновление :: Черный список пакетов {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
Примечание
Двойное число «//» и служит комментарием, поэтому все, что следует за «//», оцениваться не будет.
Чтобы включить автоматические обновления, отредактируйте /etc/apt/apt.conf.d/20auto-upgrades
и установите соответствующие параметры конфигурации apt:
APT :: Periodic :: Update-Package-Lists "1";
APT :: Periodic :: Download-Upgradeable-Packages "1";
APT :: Periodic :: AutocleanInterval "7";
APT :: Periodic :: Unattended-Upgrade "1";
Приведенная выше конфигурация обновляет список пакетов, загружает и устанавливает доступные обновления каждый день.Локальный архив загрузок очищается каждую неделю. На серверах, обновленных до более новых версий Ubuntu, в зависимости от ваших ответов указанный выше файл может отсутствовать. В этом случае также должно работать создание нового файла с таким именем.
Примечание
Подробнее о параметрах конфигурации apt Periodic можно прочитать на странице руководства
apt.conf (5)
и в заголовке сценария/usr/lib/apt/apt.systemd.daily
.
Результаты автоматических обновлений будут записаны в / var / log / unattended-upgradedes
.
Уведомления
Настройка Unattended-Upgrade :: Mail
в /etc/apt/apt.conf.d/50unattended-upgrades
позволит отправлять автоматические обновления по электронной почте администратору с подробным описанием любых пакетов, которые нуждаются в обновлении или имеют проблемы.
Еще одна полезная упаковка — аптикрон. apticron настроит задание cron для отправки администратору по электронной почте информации о любых пакетах в системе, для которых доступны обновления, а также сводку изменений в каждом пакете.
Чтобы установить пакет apticron, введите в терминале:
sudo apt install apticron
После установки пакета отредактируйте /etc/apticron/apticron.conf
, чтобы указать адрес электронной почты и другие параметры:
EMAIL = "[email protected]"
Список литературы
Большая часть материала, рассматриваемого в этой главе, доступна на страницах руководства, многие из которых доступны в Интернете.
.
dpkg — менеджер пакетов для Debian — страница руководства
Установить пакет. Если указана опция —recursive или -R , то вместо этого файл пакета должен ссылаться на каталог.
Установка состоит из следующих шагов:
1. Извлеките управляющие файлы нового пакета.
2. Если перед новой установкой была установлена другая версия того же пакета, выполните сценарий prerm старого пакета.
3. Запустить сценарий preinst , если он предусмотрен пакетом.
4. Распакуйте новые файлы и одновременно сделайте резервную копию старых файлов, чтобы их можно было восстановить, если что-то пойдет не так.
5. Если перед новой установкой была установлена другая версия того же пакета, выполните сценарий postrm старого пакета. Обратите внимание, что этот сценарий выполняется после сценария preinst нового пакета, поскольку новые файлы записываются одновременно с удалением старых файлов.
6. Настройте пакет. См. —configure для получения подробной информации о том, как это делается.
Распаковать пакет, но не настраивать его. Если указана опция —recursive или -R , то вместо этого файл пакета должен ссылаться на каталог.
Настройте пакет, который был распакован, но еще не настроен.Если вместо package задано -a или —pending , настраиваются все распакованные, но не настроенные пакеты.
Чтобы перенастроить уже настроенный пакет, попробуйте вместо этого команду dpkg-reconfigure (8).
Настройка состоит из следующих шагов:
1. Распакуйте файлы conffiles и одновременно сделайте резервную копию старых файлов, чтобы их можно было восстановить, если что-то пойдет не так.
2. Запустить сценарий postinst , если он предусмотрен пакетом.
Процессы только запускаются (начиная с dpkg 1.14.17). Все ожидающие триггеры будут обработаны. Если указаны имена пакетов, будут обрабатываться только триггеры этих пакетов, причем каждый раз, когда это необходимо, ровно один раз. Использование этой опции может привести к тому, что пакеты будут находиться в неправильных состояниях ожидаемых триггеров и ожидающих триггеров . Позже это можно исправить, запустив: dpkg —configure —pending .
Удаление установленного пакета. Это удаляет все, кроме conffiles и других данных, очищенных сценарием postrm , что может избежать необходимости перенастроить пакет, если он будет переустановлен позже (conffiles — это файлы конфигурации, которые перечислены в управляющем файле DEBIAN / conffiles ). Если нет управляющего файла DEBIAN / conffiles или сценария DEBIAN / postrm , эта команда эквивалентна вызову —purge .Если вместо имени пакета задано -a или —pending , то все пакеты, распакованные, но отмеченные для удаления в файле / var / lib / dpkg / status , удаляются.
Удаление пакета состоит из следующих шагов:
1. Запуск prerm script
2. Удаление установленных файлов
3. Запуск postrm script
Очистить установленный или уже удаленный пакет. Это удаляет все, включая файлы conffiles и все остальное, очищенное из postrm . Если вместо имени пакета задано -a или —pending , то все пакеты, распакованные или удаленные, но отмеченные для очистки в файле / var / lib / dpkg / status , будут очищены.
Примечание: некоторые файлы конфигурации могут быть неизвестны dpkg , поскольку они создаются и обрабатываются отдельно с помощью сценариев конфигурации.В этом случае dpkg не удалит их сам по себе, но сценарий пакета postrm (который вызывается dpkg ) должен позаботиться об их удалении во время очистки. Конечно, это относится только к файлам в системных каталогах, но не к файлам конфигурации, записанным в домашние каталоги отдельных пользователей.
Очистка пакета состоит из следующих шагов:
1. Удалите пакет, если он еще не удален. См. —remove для получения подробной информации о том, как это делается.
2. Запуск сценария postrm .
Проверяет целостность имя-пакета или всех пакетов, если они не указаны, путем сравнения информации из файлов, установленных пакет с информацией о метаданных файлов, хранящейся в базе данных dpkg (начиная с dpkg 1.17.2). Источником информации о метаданных файлов в базе данных являются сами двоичные пакеты.Эти метаданные собираются во время распаковки пакета в процессе установки.
В настоящее время единственная выполняемая функциональная проверка — это проверка md5sum содержимого файла на соответствие сохраненному значению в базе данных файлов. Он будет проверен только в том случае, если база данных содержит файл md5sum. Чтобы проверить отсутствие метаданных в базе данных, можно использовать команду —audit .
Формат вывода можно выбрать с помощью параметра —verify-format , который по умолчанию использует формат об / мин , но это может измениться в будущем, и поэтому программы, анализирующие этот вывод команды, должны явно указывать на формат они ожидают.
Выполняет проверки работоспособности и согласованности базы данных для package-name или всех пакетов, если они пропущены (для каждого пакета проверок, начиная с dpkg 1.17 .10). Например, поиск пакетов, которые были установлены в вашей системе лишь частично или в которых отсутствуют, неправильные или устаревшие данные или файлы управления. dpkg предложит, что с ними делать, чтобы исправить.
Update dpkg ‘s и dselect ‘ s идея какие пакеты доступны.С помощью действия —merge-avail старая информация объединяется с информацией из Packages-файла . С помощью действия —update-avail старая информация заменяется информацией в файле пакетов . Packages-файл , распространяемый вместе с Debian, называется просто « Packages ». Если аргумент Packages-file отсутствует или имеет имя « — », то он будет считан со стандартного ввода (начиная с dpkg 1.17.7). dpkg ведет учет доступных пакетов в / var / lib / dpkg / available .
Более простой одноразовой командой для получения и обновления доступного файла является dselect update . Обратите внимание, что этот файл в основном бесполезен, если вы используете не dselect , а интерфейс на основе APT: APT имеет свою собственную систему для отслеживания доступных пакетов.
Обновление dpkg и dselect , какие пакеты доступны с информацией из пакета package- файл .Если указана опция —recursive или -R , то вместо этого файл пакета должен ссылаться на каталог.
Теперь устарел и не работает как dpkg автоматически забудет удаленные недоступные пакеты (начиная с dpkg 1.15.4), но только те, которые не содержат user такая информация, как выбор пакетов.
Удалите существующую информацию о доступных пакетах.
Получить список выбранных пакетов и записать его в stdout. Без шаблона неустановленные пакеты (то есть те, которые были предварительно удалены) не будут отображаться.
Установить выбор пакетов, используя файл, считанный из stdin. Этот файл должен быть в формате «, состояние пакета », где состояние может быть одним из установить , удерживать , деинсталлировать или очистить .Пустые строки и строки комментариев, начинающиеся с « # », также разрешены.
Доступный файл должен быть актуальным, чтобы эта команда была полезной, иначе неизвестные пакеты будут проигнорированы с предупреждением. Для получения дополнительной информации см. Команды —update-avail и —merge-avail .
Установить запрошенное состояние каждого несущественного пакета для удаления (начиная с dpkg 1.13.18). Это предназначено для использования непосредственно перед —set-selections , чтобы удалить любые пакеты, не входящие в список, указанный в —set-selections .
Поиск пакетов, выбранных для установки, но которые по какой-то причине все еще не установлены.
Примечание. Эта команда использует как доступный файл, так и выбранные пакеты.
Распечатайте один пакет, который является целью одной или нескольких соответствующих предварительных зависимостей и сам не имеет неудовлетворенных предварительных зависимостей.
Если такой пакет присутствует, выведите его как запись файла Packages, которую можно при необходимости обработать.
Примечание. Эта команда использует как доступный файл, так и выбранные пакеты.
Возвращает 0 при печати пакета, 1 при отсутствии подходящего пакета и 2 при ошибке.
Добавьте architecture в список архитектур, для которых пакеты могут быть установлены без использования —force-architecture (начиная с dpkg 1.16.2). Архитектура dpkg (т.е. вывод команды —print-architecture ) всегда является частью этого списка.
Удалите architecture из списка архитектур, для которых можно устанавливать пакеты без использования —force-architecture (начиная с dpkg 1.16.2). Если архитектура в настоящее время используется в базе данных, тогда операция будет
.