Это известная тема, и мы можем написать так много статей, потому что большую часть времени мы будем придерживаться менеджеров пакетов по многим причинам.
Каждый клон-дистрибутив имеет свой собственный менеджер пакетов, каждый из которых имеет свои уникальные функции, которые позволяют пользователям выполнять множество действий, таких как установка новых пакетов программного обеспечения, удаление ненужных пакетов программного обеспечения, обновление существующих пакетов программного обеспечения, поиск конкретных пакетов программного обеспечения и обновление системы до последней доступной версии и т. д.
Тот, кто придерживается командной строки, большую часть времени предпочитает менеджеров пакетов на базе CLI.
Основными менеджерами пакетов CLI для Linux являются Yum, Dnf, Rpm, Apt, Apt-Get, Deb, pacman и zypper.
В качестве системного администратора вы должны знать, откуда идут пакеты, какой репозиторий, версия пакета, размер пакета, выпуск, URL-адрес источника пакета, информация о лицензии и т. д.
Это поможет вам понять использование пакета простым способом, так как оно идет с описанием пакета.
Выполните приведенные ниже команды на основе вашего дистрибутива, чтобы получить подробную информацию о данном пакете.
Команда YUM: просмотр информации о пакете на системах RHEL и CentOS
YUM означает Yellowdog Updater, Modified – это утилита управления интерфейсом командной строки с открытым исходным кодом для RPM-систем, таких как Red Hat Enterprise Linux (RHEL) и CentOS.
Yum является основным инструментом для получения, установки, удаления, запросов и управления пакетами RPM из репозиториев дистрибутива, а также других сторонних репозиториев.
# yum info python Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * epel: epel.mirror.constant.com Installed Packages Name : python Arch : x86_64 Version : 2.6.6 Release : 66.el6_8 Size : 78 k Repo : installed From repo : updates Summary : An interpreted, interactive, object-oriented programming language URL : http://www.python.org/ License : Python Description : Python is an interpreted, interactive, object-oriented programming : language often compared to Tcl, Perl, Scheme or Java. Python includes : modules, classes, exceptions, very high level dynamic data types and : dynamic typing. Python supports interfaces to many system calls and : libraries, as well as to various windowing systems (X11, Motif, Tk, : Mac and MFC). : : Programmers can write new built-in modules for Python in C or C++. : Python can be used as an extension language for applications that need : a programmable interface. : : Note that documentation for Python is provided in the python-docs : package. : : This package provides the "python" executable; most of the actual : implementation is within the "python-libs" package.
Команда YUMDB: просмотр информации о пакете на системах RHEL & CentOS
Yumdb предоставляет информацию, аналогичную информации yum, но дополнительно предоставляет данные контрольной суммы пакета, тип, информацию о пользователе (кто установил пакет).
Поскольку yum 3.2.26 yum начал хранить дополнительную информацию за пределами базы данных rpm (где пользователь указывает, что она была установлена пользователем, а dep означает, что она была введена как зависимость).
# yumdb info python Loaded plugins: fastestmirror python-2.6.6-66.el6_8.x86_64 changed_by = 4294967295 checksum_data = 53c75a1756e5b4f6564c5229a37948c9b4561e0bf58076bd7dab7aff85a417f2 checksum_type = sha256 command_line = update -y from_repo = updates from_repo_revision = 1488370672 from_repo_timestamp = 1488371100 installed_by = 4294967295 reason = dep releasever = 6
Команда RPM: просмотр информации о пакете в системах RHEL / CentOS / Fedora
RPM означает Red Hat Package Manager – мощная утилита управления пакетами для командной строки Red Hat, например, (RHEL, CentOS, Fedora, openSUSE & Mageia).
Утилита позволяет вам устанавливать, обновлять, удалять, запрашивать и проверять программное обеспечение на вашей системе Linux / сервере.
Файлы RPM поставляются с расширением .rpm. RPM-пакет, построенный с использованием требуемых библиотек и зависимостей, которые не конфликтуют с другими пакетами, были установлены в вашей системе.
# rpm -qi nano Name : nano Relocations: (not relocatable) Version : 2.0.9 Vendor: CentOS Release : 7.el6 Build Date: Fri 12 Nov 2010 02:18:36 AM EST Install Date: Fri 03 Mar 2017 08:57:47 AM EST Build Host: c5b2.bsys.dev.centos.org Group : Applications/Editors Source RPM: nano-2.0.9-7.el6.src.rpm Size : 1588347 License: GPLv3+ Signature : RSA/8, Sun 03 Jul 2011 12:46:50 AM EDT, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem URL : http://www.nano-editor.org Summary : A small text editor Description : GNU nano is a small and friendly text editor.
Команда DNF: просмотр информации о пакете в системе Fedora
DNF означает Dandified yum.
Мы можем сообщить DNF, следующее поколение менеджера пакетов yum (Fork of Yum), используя библиотеку hawkey / libsolv для бэкэнд.
Aleš Kozumplík начал работать над DNF с Fedora 18 и, наконец, был реализован в Fedora 22.
Команда Dnf используется для установки, обновления, поиска и удаления пакетов в Fedora 22 и более поздних версиях системы.
Она автоматически разрешает зависимости и упрощает установку пакета без каких-либо проблем.
$ dnf info tilix Last metadata expiration check: 27 days, 10:00:23 ago on Wed 04 Oct 2017 06:43:27 AM IST. Installed Packages Name : tilix Version : 1.6.4 Release : 1.fc26 Arch : x86_64 Size : 3.6 M Source : tilix-1.6.4-1.fc26.src.rpm Repo : @System From repo : @commandline Summary : Tiling terminal emulator URL : https://github.com/gnunn1/tilix License : MPLv2.0 and GPLv3+ and CC-BY-SA Description : Tilix is a tiling terminal emulator with the following features: : : - Layout terminals in any fashion by splitting them horizontally or vertically : - Terminals can be re-arranged using drag and drop both within and between : windows : - Terminals can be detached into a new window via drag and drop : - Input can be synchronized between terminals so commands typed in one : terminal are replicated to the others : - The grouping of terminals can be saved and loaded from disk : - Terminals support custom titles : - Color schemes are stored in files and custom color schemes can be created by : simply creating a new file : - Transparent background : - Supports notifications when processes are completed out of view : : The application was written using GTK 3 and an effort was made to conform to : GNOME Human Interface Guidelines (HIG).
Команда Zypper: просмотр информации о пакете на системе openSUSE
Zypper – это менеджер пакетов в командной строке, который использует libzypp. Zypper предоставляет такие функции, как доступ к репозиторию, решение проблем, установка пакетов и т. д.
$ zypper info nano Loading repository data... Reading installed packages... Information for package nano: ----------------------------- Repository : Main Repository (OSS) Name : nano Version : 2.4.2-5.3 Arch : x86_64 Vendor : openSUSE Installed Size : 1017.8 KiB Installed : No Status : not installed Source package : nano-2.4.2-5.3.src Summary : Pico editor clone with enhancements Description : GNU nano is a small and friendly text editor. It aims to emulate the Pico text editor while also offering a few enhancements.
Команда pacman: просмотр информации о пакете на Arch Linux и Manjaro
Pacman означает утилиту диспетчера пакетов. pacman – простая утилита командной строки для установки, сборки, удаления и управления пакетами Arch Linux.
Pacman использует библиотеку libalpm (библиотека управления пакетами Arch Linux (ALPM)), чтобы выполнять все действия.
$ pacman -Qi bash Name : bash Version : 4.4.012-2 Description : The GNU Bourne Again shell Architecture : x86_64 URL : http://www.gnu.org/software/bash/bash.html Licenses : GPL Groups : base Provides : sh Depends On : readline>=7.0 glibc ncurses Optional Deps : bash-completion: for tab completion Required By : autoconf automake bison bzip2 ca-certificates-utils db dhcpcd diffutils e2fsprogs fakeroot figlet findutils flex freetype2 gawk gdbm gettext gmp grub gzip icu iptables keyutils libgpg-error libksba libpcap libpng libtool lvm2 m4 man-db mkinitcpio nano neofetch nspr nss openresolv os-prober pacman pcre pcre2 shadow systemd texinfo vte-common which xdg-user-dirs xdg-utils xfsprogs xorg-mkfontdir xorg-xpr xz Optional For : None Conflicts With : None Replaces : None Installed Size : 7.13 MiB Packager : Jan Alexander Steffens (heftig) Build Date : Tue 14 Feb 2017 01:16:51 PM UTC Install Date : Thu 24 Aug 2017 06:08:12 AM UTC Install Reason : Explicitly installed Install Script : No Validated By : Signature
Команда Apt-Cache: просмотр информации о пакете в системах Debian / Ubuntu / Mint
Команда apt-cache может отображать большую часть информации, хранящейся во внутренней базе данных APT.
Эта информация является своего рода кешем, поскольку она собирается из разных источников, перечисленных в файле sources.list. Это происходит во время операции обновления apt.
$ sudo apt-cache show apache2 Package: apache2 Priority: optional Section: web Installed-Size: 473 Maintainer: Ubuntu Developers Original-Maintainer: Debian Apache Maintainers Architecture: amd64 Version: 2.4.12-2ubuntu2 Replaces: apache2.2-common Provides: httpd, httpd-cgi Depends: lsb-base, procps, perl, mime-support, apache2-bin (= 2.4.12-2ubuntu2), apache2-utils (>= 2.4), apache2-data (= 2.4.12-2ubuntu2) Pre-Depends: dpkg (>= 1.17.14) Recommends: ssl-cert Suggests: www-browser, apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, ufw Conflicts: apache2.2-common (<< 2.3~) Filename: pool/main/a/apache2/apache2_2.4.12-2ubuntu2_amd64.deb Size: 91348 MD5sum: ab0ee0b0d1c6b3d19bd87aa2a9537125 SHA1: 350c9a1a954906088ed032aebb77de3d5bb24004 SHA256: 03f515f7ebc3b67b050b06e82ebca34b5e83e34a528868498fce020bf1dbbe34 Description-en: Apache HTTP Server The Apache HTTP Server Project's goal is to build a secure, efficient and extensible HTTP server as standards-compliant open source software. The result has long been the number one web server on the Internet. . Installing this package results in a full installation, including the configuration files, init scripts and support scripts. Description-md5: d02426bc360345e5acd45367716dc35c Homepage: http://httpd.apache.org/ Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu Supported: 9m Task: lamp-server, mythbuntu-frontend, mythbuntu-desktop, mythbuntu-backend-slave, mythbuntu-backend-master, mythbuntu-backend-master
Команда APT: просмотр информации о пакете в системах Debian / Ubuntu / Mint
APT означает Advanced Packaging Tool (APT), который является заменой apt-get, например, как DNF появился вместо YUM.
Это многофункциональные средства командной строки, включающие все фьючерсы в одной команде (APT), такие как apt-cache, apt-search, dpkg, apt-cdrom, apt-config, apt-key и т. д,. и несколько других уникальных функций.
Например, мы можем легко установить пакеты .dpkg через APT, но мы не сможем выполнить через Apt-Get аналогичные дополнительные функции, включенные в команду APT. APT-GET заменен APT Из-за блокировки фьючерсов, отсутствующих в apt-get, которая не была решена.
$ apt show nano Package: nano Version: 2.8.6-3 Priority: standard Section: editors Origin: Ubuntu Maintainer: Ubuntu Developers Original-Maintainer: Jordi Mallach Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 766 kB Depends: libc6 (>= 2.14), libncursesw5 (>= 6), libtinfo5 (>= 6) Suggests: spell Conflicts: pico Breaks: nano-tiny (<< 2.8.6-2) Replaces: nano-tiny (<< 2.8.6-2), pico Homepage: https://www.nano-editor.org/ Task: standard, ubuntu-touch-core, ubuntu-touch Supported: 9m Download-Size: 222 kB APT-Manual-Installed: yes APT-Sources: http://in.archive.ubuntu.com/ubuntu artful/main amd64 Packages Description: small, friendly text editor inspired by Pico GNU nano is an easy-to-use text editor originally designed as a replacement for Pico, the ncurses-based editor from the non-free mailer package Pine (itself now available under the Apache License as Alpine). . However, GNU nano also implements many features missing in pico, including: - undo/redo - line numbering - syntax coloring - soft-wrapping of overlong lines - selecting text by holding Shift - interactive search and replace (with regular expression support) - a go-to line (and column) command - support for multiple file buffers - auto-indentation - tab completion of filenames and search terms - toggling features while running - and full internationalization support
Команда dpkg: просмотр информации о пакете в системах Debian / Ubuntu / Mint
dpkg означает менеджер пакетов Debian (dpkg).
dpkg – это инструмент командной строки для установки, сборки, удаления и управления пакетами Debian. dpkg использует Aptitude (первичный и более удобный) в качестве front-end для выполнения всех действий.
Другие утилиты, такие как dpkg-deb и dpkg-query, используют dpkg в качестве интерфейса для выполнения некоторых действий. В настоящее время большинство администраторов используют Apt, Apt-Get & Aptitude для управления пакетами без головной боли и ее надежного управления.
Несмотря на это, нам нужно использовать dpkg для выполнения некоторой установки программного обеспечения там, где это необходимо.
$ dpkg -s python Package: python Status: install ok installed Priority: optional Section: python Installed-Size: 626 Maintainer: Ubuntu Developers Architecture: amd64 Multi-Arch: allowed Source: python-defaults Version: 2.7.14-2ubuntu1 Replaces: python-dev (<< 2.6.5-2) Provides: python-ctypes, python-email, python-importlib, python-profiler, python-wsgiref Depends: python2.7 (>= 2.7.14-1~), libpython-stdlib (= 2.7.14-2ubuntu1) Pre-Depends: python-minimal (= 2.7.14-2ubuntu1) Suggests: python-doc (= 2.7.14-2ubuntu1), python-tk (>= 2.7.14-1~) Breaks: update-manager-core (<< 0.200.5-2) Conflicts: python-central (<< 0.5.5) Description: interactive high-level object-oriented language (default version) Python, the high-level, interactive object oriented language, includes an extensive class library with lots of goodies for network programming, system administration, sounds and graphics. . This package is a dependency package, which depends on Debian's default Python version (currently v2.7). Homepage: http://www.python.org/ Original-Maintainer: Matthias Klose
В качестве альтернативы мы можем использовать опцию -p с dpkg, которая предоставляет информацию, подобную информации dpkg -s, но дополнительно предоставляет данные и тип контрольной суммы пакета.
$ dpkg -p python3 Package: python3 Priority: important Section: python Installed-Size: 67 Origin: Ubuntu Maintainer: Ubuntu Developers Bugs: https://bugs.launchpad.net/ubuntu/+filebug Architecture: amd64 Multi-Arch: allowed Source: python3-defaults Version: 3.6.3-0ubuntu2 Replaces: python3-minimal (<< 3.1.2-2) Provides: python3-profiler Depends: python3.6 (>= 3.6.3-1~), libpython3-stdlib (= 3.6.3-0ubuntu2), dh-python Pre-Depends: python3-minimal (= 3.6.3-0ubuntu2) Suggests: python3-doc (>= 3.6.3-0ubuntu2), python3-tk (>= 3.6.3-1~), python3-venv (>= 3.6.3-0ubuntu2) Filename: pool/main/p/python3-defaults/python3_3.6.3-0ubuntu2_amd64.deb Size: 8712 MD5sum: a8bae494c6e5d1896287675faf40d373 Description: interactive high-level object-oriented language (default python3 version) Original-Maintainer: Matthias Klose SHA1: 2daec885cea7d4dc83c284301c3bebf42b23e095 SHA256: 865e509c91d2504a16c4b573dbe27e260c36fceec2add3fa43a30c1751d7e9bb Homepage: http://www.python.org/ Task: minimal, ubuntu-core, ubuntu-core Description-md5: 950ebd8122c0a7340f0a740c295b9eab Supported: 9m
Команда Aptitude: просмотр информации о пакете в системах Debian / Ubuntu / Mint
aptitude – это текстовый интерфейс к пакетной системе Debian GNU / Linux.
Он позволяет пользователю просматривать список пакетов и выполнять задачи управления пакетами, такие как установка, обновление и удаление пакетов.
Действия могут выполняться из визуального интерфейса или из командной строки.
$ aptitude show htop Package: htop Version: 2.0.2-1 State: installed Automatically installed: no Priority: optional Section: universe/utils Maintainer: Ubuntu Developers Architecture: amd64 Uncompressed Size: 216 k Depends: libc6 (>= 2.15), libncursesw5 (>= 6), libtinfo5 (>= 6) Suggests: lsof, strace Conflicts: htop:i386 Description: interactive processes viewer Htop is an ncursed-based process viewer similar to top, but it allows one to scroll the list vertically and horizontally to see all processes and their full command lines. Tasks related to processes (killing, renicing) can be done without entering their PIDs. Homepage: http://hisham.hm/htop/