Как составить список установленных пакетов, принадлежащих определенной группе в Linux
Некоторое время назад мы опубликовали статью, в которой описывалось, как найти установленные приложения по установленному размеру в Linux. Сегодня мы увидим, как составить список установленных пакетов, принадлежащих к определенной группе. Как вы, возможно, уже знаете, во всех дистрибутивах Linux есть возможность установки группы пакетов одновременно. Это то, что мы называем группой пакетов. Скажем, например, группа пакетов «mate-desktop» установит все пакеты, связанные со средой рабочего стола MATE. В двух словах, группа пакетов — это набор пакетов, которые служат общей цели.
В этом кратком руководстве описывается, как составить список установленных пакетов, принадлежащих определенной группе в Linux.
Список установленных пакетов, принадлежащих определенной группе в Linux
Прежде чем тестировать эти команды, приведенные ниже, убедитесь, что вы установили несколько групп пакетов в свой компьютер Linux.
В Arch Linux и его производных:
В Arch Linux и его производных, таких как Antergos, Manjaro Linux, следующая команда отображает, что установленные пакеты принадлежат группе пакетов MATE.
sudo pacman -Qg mate
Пример вывода:
mate caja
mate marco
mate mate-backgrounds
mate mate-control-center
mate mate-desktop
mate mate-icon-theme
mate mate-menus
mate mate-notification-daemon
mate mate-panel
mate mate-polkit
mate mate-session-manager
mate mate-settings-daemon
mate mate-themes
mate mate-user-guide
Аналогично, следующая команда отображает, что установленные пакеты принадлежат группе пакетов LXDE.
sudo pacman -Qg lxde
Обратите внимание, что приведенные выше команды будут отображать только установленные пакеты из группы пакетов. Чтобы просмотреть список всех пакетов, принадлежащих группе, запустите:
sudo pacman -Sg lxde
Более подробную информацию можно найти на страницах руководства.
man pacman
В системах на базе RPM, таких как RHEL, CentOS, Fedora:
Чтобы просмотреть список установленных пакетов, принадлежащих к группе «Веб-сервер», выполните следующую команду от имени пользователя root:
yum groups info "Web Server"
Пример вывода:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.excellmedia.net
* epel: mirror.vinahost.vn
* extras: centos.excellmedia.net
* updates: centos.excellmedia.net
Group: Web Server
Group-Id: web-server
Description: Allows the system to act as a web server, and run Perl and Python web applications.
Mandatory Packages:
=httpd
Default Packages:
=crypto-utils
=httpd-manual
=mod_fcgid
=mod_ssl
Optional Packages:
Pound
certmonger
cherokee
libmemcached
memcached
mod_auth_kerb
mod_auth_mellon
mod_auth_openidc
mod_fcgid
mod_nss
mod_revocator
mod_security
mod_security_crs
moin
perl-CGI
perl-CGI-Session
plone
python-memcached
squid
zope
Как вы видите в приведенном выше выводе, пакеты отмечены разными символами.
- "=" : пакет установлен и установлен как часть группы пакетов.
- " + " : пакет не установлен, но он будет установлен при следующем обновлении yum или обновлении группы yum.
- <div>" - ": пакет не установлен и не будет установлен как часть группы пакетов.
<div>нет символа: пакет установлен, но установлен вне группы пакетов. Это означает, что команда yum group удалить не удалит эти пакеты.Более подробную информацию можно найти на страницах руководства.
man yum
В системах Debian, Ubuntu:
В системах на базе DEB группы пакетов называются «задачами». Задачи представляют собой заранее определенные коллекции программного обеспечения.
Чтобы просмотреть список доступных задач, запустите:
$ tasksel --list-task
Пример вывода:
u manual Manual package selection
u kubuntu-live Kubuntu live CD
u lubuntu-live Lubuntu live CD
u ubuntu-gnome-live Ubuntu GNOME live CD
u ubuntu-live Ubuntu live CD
u ubuntu-mate-live Ubuntu MATE Live CD
u ubuntustudio-dvd-live Ubuntu Studio live DVD
u ubuntustudio-live Ubuntu Studio live CD
u xubuntu-live Xubuntu live CD
u cloud-image Ubuntu Cloud Image (instance)
u dns-server DNS server
u edubuntu-desktop-gnome Edubuntu desktop
u kubuntu-desktop Kubuntu desktop
u kubuntu-full Kubuntu full
u lamp-server LAMP server
u lubuntu-core Lubuntu minimal installation
u lubuntu-desktop Lubuntu Desktop
u mail-server Mail server
u mythbuntu-backend-master Mythbuntu master backend
u mythbuntu-backend-slave Mythbuntu slave backend
u mythbuntu-desktop Mythbuntu additional roles
u mythbuntu-frontend Mythbuntu frontend
u postgresql-server PostgreSQL database
u samba-server Samba file server
u tomcat-server Tomcat Java server
u ubuntu-desktop Ubuntu desktop
u ubuntu-gnome-desktop Ubuntu GNOME desktop
u ubuntu-mate-cloudtop Ubuntu MATE cloudtop
u ubuntu-mate-core Ubuntu MATE minimal installation
u ubuntu-mate-desktop Ubuntu MATE desktop
u ubuntu-usb Ubuntu desktop USB
u ubuntustudio-audio Audio recording and editing suite
u ubuntustudio-desktop Ubuntu Studio desktop
u ubuntustudio-desktop-core Ubuntu Studio minimal DE installation
u ubuntustudio-font-meta Large selection of font packages
u ubuntustudio-graphics 2D/3D creation and editing suite
u ubuntustudio-photography Photograph touchup and editing suite
u ubuntustudio-publishing Publishing applications
u ubuntustudio-video Video creation and editing suite
u virt-host Virtual Machine host
u xubuntu-core Xubuntu minimal installation
u xubuntu-desktop Xubuntu desktop
i openssh-server OpenSSH server
i server Basic Ubuntu server
Здесь буквы 'u' и 'i' обозначают неустановленные/неустановленные и установленные задачи. Как вы видите в приведенном выше выводе, у меня есть две установленные задачи, а именно «openssh-server» и «server». Теперь вернемся к теме.
Чтобы просмотреть пакеты, принадлежащие к каким-либо группам пакетов (т.е. задачам), например openssh-server, запустите:
aptitude show openssh-server
Эта команда выведет список пакетов, которые будут установлены этой задачей.
Пример вывода:
Package: openssh-server
State: installed
Automatically installed: no
Multi-Arch: foreign
Version: 1:7.2p2-4ubuntu2.1
Priority: optional
Section: net
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 912 k
Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.17), libcomerr2 (>= 1.01),
libgssapi-krb5-2 (>= 1.12.1+dfsg-2), libkrb5-3 (>= 1.13~alpha1+dfsg),
libpam0g (>= 0.99.7.1), libselinux1 (>= 1.32), libssl1.0.0 (>= 1.0.2),
libsystemd0, libwrap0 (>= 7.6-4~), zlib1g (>= 1:1.1.4), debconf (>=
0.5) | debconf-2.0, init-system-helpers (>= 1.18~), lsb-base (>=
4.1+Debian11ubuntu7), openssh-client (= 1:7.2p2-4ubuntu2.1),
libpam-runtime (>= 0.76-14), libpam-modules (>= 0.72-9), adduser (>=
3.9), dpkg (>= 1.9.0), procps, openssh-sftp-server
Recommends: xauth, ncurses-term, ssh-import-id
Suggests: ssh-askpass, rssh, molly-guard, ufw, monkeysphere
Conflicts: sftp, ssh-socks, ssh2, openssh-server:i386
Replaces: ssh, ssh:i386, ssh-krb5, ssh-krb5:i386
Provides: openssh-server:i386 (= 1:7.2p2-4ubuntu2.1), ssh-server,
ssh-server:i386
Provided by: openssh-server:i386 (1:7.2p2-4), openssh-server:i386
(1:7.2p2-4ubuntu2.1)
Description: secure shell (SSH) server, for secure access from remote machines
This is the portable version of OpenSSH, a free implementation of the Secure
Shell protocol as specified by the IETF secsh working group.
[...]
Более подробную информацию можно найти на страницах руководства:
man apt
В SUSE/openSUSE:
В дистрибутивах SUSE/openSUSE группа программ называется шаблонами.
Чтобы узнать, какие пакеты относятся к шаблону, используйте «if» или «info», как показано ниже:
zypper if -t pattern <pattern_name>
Или,
zypper pattern-info <pattern_name>
Скажем, например, следующая команда отображает, что пакеты принадлежат шаблону lamp_server.
zypper pattern-info lamp_server
Более подробную информацию можно найти на страницах руководства:
man zupper
И это все на данный момент. Теперь вы знаете, что пакеты принадлежат группе пакетов. Скоро я буду здесь с еще одним полезным руководством. Если вы найдете это руководство полезным, поделитесь им в своих социальных сетях.
Ваше здоровье!