Arch Linuxをインストールする時の必須パッケージとして、baseパッケージが導入された
最近、Arch LinuxのCoreリポジトリに「baseパッケージ」が導入された。Arch Linuxをインストールする際に、ほとんどの人が「base」をインストールしていると思う。しかし、今回新たにリポジトリに登録された「baseパッケージ」と、2019年10月5日以前にインストールされた「base」は中身が異なっている。
今回の「base」の変更に伴い、色々と注意すべき点があるので、その注意点についてまとめておく。
これまでの「base」とは?(2019年10月5日以前)
以前から、「base」はArch Linuxのインストールガイドの中でも、インストールするように記載されていたので、ほとんどの人がbaseをインストールしているはず。しかし、2019年10月5日以前にインストールされたbaseは、「baseグループ」。一方で、2019年10月6日以降のbaseは、「baseパッケージ」となった。
(※「グループ」とは、Arch Linuxが用意しているパッケージの集合体。例えば、「xorg」、「gnome」、「xfce4」などのグループが存在する。ある環境を導入する際に、多くのパッケージが必要となる場合があるが、pacmanからグループをインストールすることで、一括でこれらの環境を導入できるようになっている。)
baseのパッケージ化に伴い、baseをインストールすることにより導入されるパッケージの種類は大幅に変更されている。
現在、自分が使用している2017年にインストールした環境では、baseは「グループ」としてインストールされている。以下が、インストール時にbaseグループに属していたパッケージ。
$ pacman -Sg base base bash base bzip2 base cryptsetup base device-mapper base dhcpcd base e2fsprogs base findutils base gawk base gcc-libs base gettext base glibc base inetutils base iproute2 base iputils base jfsutils base licenses base linux-firmware base logrotate base lvm2 base man-db base man-pages base mdadm base nano base netctl base pacman base pciutils base perl base procps-ng base psmisc base reiserfsprogs base s-nail base shadow base sysfsutils base systemd-sysvcompat base texinfo base usbutils base util-linux base vi base xfsprogs
新たに導入された「baseパッケージ」とは?
新たに導入された、baseパッケージの中身を調べてみる。baseのPKGBUILDファイルを確認してみると、特に新たなパッケージが作られている訳ではなく、必要なパッケージ群を依存関係としてインストールするという仕組みとなっている。以下が、baseパッケージの中身(PKGBUILD\trunk - svntogit/packages.git - Git clone of the 'packages' repository)。
# Maintainer: Arch Linux Team # Contributor: Levente Polyak# Contributor: Eli Schwartz pkgname=base pkgver=2 pkgrel=1 pkgdesc='Minimal package set to define a basic Arch Linux installation' url='https://www.archlinux.org' arch=('any') license=('GPL') depends=( # very very base 'filesystem' 'gcc-libs' 'glibc' 'bash' # POSIX tools 'coreutils' 'file' 'findutils' 'gawk' 'grep' 'procps-ng' 'sed' 'tar' # standard linux toolset 'gettext' 'pciutils' 'psmisc' 'shadow' 'util-linux' 'bzip2' 'gzip' 'xz' # distro defined requirements 'licenses' 'pacman' 'systemd' 'systemd-sysvcompat' # networking, ping, etc 'iputils' 'iproute2' ) optdepends=('linux: bare metal support') # vim: ts=2 sw=2 et:
「baseグループ」と「baseパッケージ」の違い
以下が、「baseグループ(左)」と「baseパッケージ(右)」に属するパッケージを比較した結果。それぞれのパッケージで、あったりなかったりしてバラバラ。必要な対応作業
「baseパッケージ」は必須パッケージとなり、インストールされていることが前提となった。なので、「baseパッケージ」のインストールを行っておく必要がある。# pacman -Syu base :: Synchronizing package databases... core is up to date extra is up to date community is up to date archlinuxfr is up to date :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Packages (1) base-2-1 Total Download Size: 0.00 MiB Total Installed Size: 0.00 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... base-2-1-any 2.1 KiB 0.00B/s 00:00 [##################################] 100% (1/1) checking keys in keyring [##################################] 100% (1/1) checking package integrity [##################################] 100% (1/1) loading package files [##################################] 100% (1/1) checking for file conflicts [##################################] 100% (1/1) checking available disk space [##################################] 100% :: Processing package changes... (1/1) installing base [##################################] 100% Optional dependencies for base linux: bare metal support [installed]
pacman上では、「グループ」でも「パッケージ」でも同じ-Sオプションでインストールできるようになっている。baseがパッケージ化された現在でも、「baseグループ」は残っている様子。ただし、pacman上で「base」をインストールすると、「baseパッケージ」が優先してインストールされるようになっているみたい。
Arch Linuxインストール時の変更点
Arch Linuxをクリーンインストールする際に、これまでの「baseグループ」を一括でインストールする方法がなくなってしまった。新たな「baseパッケージ」には「Linuxカーネル」も含まれないので細々と手動でインストールする必要がある。Arch Linuxをインストールする際に、これまでbaseグループに含まれていたパッケージをインストールしたい場合は、これまで「baseグループ」をインストールしていた際のpacstrapコマンドを、以下のコマンドに置き換える必要がある。
旧コマンド
# pacstrap /mnt base base-devel
新コマンド
# pacstrap /mnt linux base base-devel cryptsetup device-mapper dhcpcd e2fsprogs inetutils jfsutils linux-firmware logrotate lvm2 man-db man-pages mdadm nano netctl perl reiserfsprogs s-nail sysfsutils texinfo usbutils vi xfsprogs
[1]Arch Linux JP Project - ニュース: `base` グループは必須の `base` パッケージに置き換えられました - 対応作業が必要です
[2]Arch Linux - Package Groups
[3]Meta package and package group - ArchWiki
スポンサーリンク
0 件のコメント:
コメントを投稿