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
RHEL、CentOS、Fedora などの RPM ベースのシステムの場合:
「Web サーバー」というグループに属するインストール済みパッケージを一覧表示するには、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 Remove コマンドではこれらのパッケージは削除されないことを意味します。詳細については、マニュアルページを参照してください。
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」という 2 つのタスクがインストールされています。さて、本題に戻りましょう。
任意のパッケージ グループ (つまりタスク) に属するパッケージ (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
そして、今のところはここまでです。これで、パッケージがパッケージ グループに属していることがわかりました。もうすぐ別の役立つガイドをご紹介します。このガイドが役立つと思われた場合は、ソーシャル ネットワークで共有してください。
乾杯!