Slackware は、Linux ディストリビューションの中でも特に伝統的な設計思想を持つ。そのソフトウェア管理は、他のディストリビューションとは明らかに異なり、管理者がシステムの状態を正確に把握し、主体的に制御することが前提だ。
本記事では、Slackware におけるソフトウェア管理の全体像を整理し、pkgtools、slackpkg、slapt-get、sbopkg といった主要ツールの役割と使い分けについて解説する。
pkgtools とは
pkgtools とは、Slackware に標準で搭載されているパッケージ管理ツール群の総称である。Slackware のソフトウェア管理は、この pkgtools を基盤として成り立っており、他の管理ツールやフロントエンドも最終的には pkgtools を呼び出す構造になっている。
pkgtools の最大の特徴は、依存関係の自動解決を一切行わない点にある。パッケージのインストール、削除、更新といった操作は可能であるが、その結果として必要となる追加パッケージの判断は、すべて管理者に委ねられる。この設計思想は「システムの状態を完全に把握するのは管理者自身であるべきだ」という Slackware の哲学を強く反映している。
基本的な使い方
pkgtools は主に以下のコマンドで構成される。
installpkg は、指定したパッケージファイル(.tgz や .txz)をシステムにインストールするためのコマンドである。
installpkg foo.txz
removepkg は、インストール済みのパッケージを削除する。
removepkg foo
upgradepkg は、既存のパッケージを新しいバージョンに置き換える。
upgradepkg foo_new.txz
また、pkgtool を実行すると ncurses ベースの対話型メニューが起動し、パッケージの一覧表示や削除などができる。
インストール方法
pkgtools は Slackware の基本システムに含まれており、通常は別途インストールする必要はない。Slackware をインストールした時点で必ず導入されており、初期環境から利用可能である。もし pkgtools 自体が破損した場合でも、インストールメディアや公式パッケージから手動で復旧可能であるが、通常の運用で意識する場面はほとんどない。
注意点
pkgtools を使用する際の最大の注意点は、依存関係が一切管理されないことである。必要なライブラリや関連パッケージが不足していても、インストール自体は成功してしまう。その結果、実行時にエラーが発生する可能性がある。
また、pkgtools はロールバックやトランザクション管理といった高度な安全機構を持たないため、誤ったパッケージをインストール・削除した場合、その影響は即座にシステムへ反映される。pkgtools を使う際は、導入するパッケージの内容や影響範囲を事前に理解しておくことだ。
slackpkg とは
slackpkg とは、Slackware において 公式リポジトリを管理するための標準ツールである。pkgtools が単体パッケージを直接操作する低レベルの仕組みであるのに対し、slackpkg はネットワーク経由で公式パッケージ群を取得・更新するための管理層として位置づけられている。Slackware 開発元によって提供されており、現在では公式に推奨される更新手段である。
slackpkg の主な目的は、システム全体を公式状態に保つことにある。新規インストール後の不足パッケージの補完、セキュリティアップデートの適用、バージョンアップ時の差分調整など、運用フェーズでの管理を担う。あくまで対象は Slackware 公式リポジトリに限定されており、サードパーティ製ソフトウェアの管理は想定されていない。
基本的な使い方
slackpkg を使用する前に、/etc/slackpkg/mirrors にて利用するミラーサーバを一つ選択する必要がある。ミラー設定後、最初に行う操作はパッケージリストの更新である。
slackpkg update
その後、新規に追加された公式パッケージを導入する場合は以下を実行する。
slackpkg install-new
既存パッケージを最新状態へ更新するには次のコマンドを用いる。
slackpkg upgrade-all
このコマンドはインストール済みの公式パッケージを一括で更新するため、ライブラリやカーネル関連パッケージが更新され、再起動が必要になる場合がある。独自に設定を変更した設定ファイルが .new ファイルとして退避され、適切に統合しなければ動作不良を引き起こす危険がある。
さらに、現在のシステムに存在するが公式リポジトリには含まれなくなったパッケージを整理する場合には、
slackpkg clean-system
を実行する。このコマンドは注意だ。このコマンドは公式リポジトリに存在しないパッケージを削除候補として提示するため、sbopkgやslapt-getなどを用いて導入したサードパーティ製パッケージも削除対象となる。必要なソフトウェアや依存関係を誤って削除する危険性が高い。sudo apt autoremoveと同じように考えないほうがいい。
インストール方法
slackpkg も pkgtools と同様に、Slackware の標準インストールに含まれている。通常の環境では追加インストールは不要であり、初期状態から利用可能である。最小構成でインストールした場合でも、公式パッケージとして容易に導入できる。
slackpkgを公式サイトである https://slackpkg.org/stable/ からダウンロードしてインストールする手順は次のとおりである。まず、Webブラウザまたはwgetを用いて同サイトにアクセスし、stableディレクトリに置かれているslackpkgの最新版パッケージを確認する。
対象となるファイルは slackpkg-XX.X-noarch-1.txz の形式で提供されており、これをローカル環境にダウンロードする。次に、ターミナルを起動し、ダウンロードしたディレクトリへ移動する。その後、root権限に切り替え、installpkg コマンドを用いてダウンロードしたtxzパッケージをインストールする。
slackpkgを使用するために設定ファイル /etc/slackpkg/mirrors を編集し、利用するSlackware公式ミラーを1つだけ選択して有効化する。最後に、slackpkg update gpg および slackpkg update を実行し、GPGキーとパッケージリストを取得することで初期設定は完了である。
注意点
slackpkg は便利な管理ツールであるが、依存関係の自動解決を行う設計ではない。更新や追加に際して、設定ファイルの変更や競合の判断は管理者が行う必要がある。また、clean-system は強力なコマンドであり、公式外のパッケージを誤って削除する可能性があるため、実行前の確認は絶対に行う。
さらに、slackpkg はあくまで公式パッケージ管理用であり、非公式リポジトリや独自ビルドパッケージの管理には向かない。その役割を正しく理解し、システムの基盤管理に限定して使用することが、安定運用の鍵となる。
slackpkg は複数の設定ファイルを持ち、運用時に編集する機会が多い。
- /etc/slackpkg/slackpkg.conf
メイン設定ファイル(除外、動作オプション) - /etc/slackpkg/mirrors
使用する公式ミラーの指定 - /etc/slackpkg/blacklist
更新・管理対象から除外するパッケージ
slackpkg+ とは
slackpkg+ は、標準ツールである slackpkg を拡張し、公式リポジトリ以外のパッケージを扱えるようにするためのアドオンである。slackpkg 自体は Slackware 公式リポジトリの管理に限定されているが、slackpkg+ を導入することで、AlienBOB などのサードパーティリポジトリを同一の操作体系で管理できるようになる。
slackpkg+ は新たなパッケージ管理方式を導入するものではなく、あくまで slackpkg の枠組みを拡張する存在である。そのため、内部的には pkgtools と slackpkg の仕組みをそのまま利用しており、Slackware の思想から大きく逸脱することはない。この点が、依存関係解決を前提とする他の非公式ツールとは異なる特徴である。
基本的な使い方
slackpkg+ を導入すると、slackpkg の通常コマンドをそのまま使用できる。パッケージリストの更新や更新処理は以下のように行う。
slackpkg update
slackpkg upgrade-all
違いは、設定ファイルに定義した複数のリポジトリが同時に参照される点にある。特定のリポジトリを優先したり、対象を限定したりすることで、公式パッケージとの衝突を避けながら運用することが可能である。
インストール方法
https://slakfinder.org/slackpkg+.html にアクセスしてslackpkg+のページを開く。次に、ページ内の案内に従ってslackpkg+のパッケージファイルをダウンロード。ターミナルを起動し、パッケージを保存したディレクトリへ移動。その後、管理者権限でsudo installpkg slackpkg+-1.8.0-noarch-7mt.txzを実行し、slackpkg+をシステムにインストールする。
# slakfinder のページからパッケージをダウンロード
$ cd ~/Downloads
$ wget https://slakfinder.org/packages/slackpkg+/slackpkg+-1.8.0-noarch-7mt.txz
# root 権限でインストール
$ su -
# installpkg slackpkg+-1.8.0-noarch-7mt.txz
# インストール確認
# slackpkg --version
slackpkg+ は Slackware 標準には含まれていないため、配布されているパッケージを取得し、pkgtools を用いてインストールする。導入後は/etc/slackpkg/slackpkgplus.conf を編集し、利用するサードパーティリポジトリを明示的に設定する必要がある。
注意点
slackpkg+ を使用する際の注意点は、公式パッケージと非公式パッケージが同一の更新経路に乗ることである。設定を誤ると、意図せず公式パッケージが上書きされたり、互換性のないパッケージが導入されたりする可能性がある。そのため、優先順位や除外設定を慎重に行う。
slackpkg+ 自体は依存関係を解決しないため、導入するパッケージの影響範囲を理解していなければならない。利便性は高いが、管理者の判断力がより強く求められるツールであると言える。
slackpkg+ は slackpkg の拡張であり、専用の設定ファイルを追加する。
- /etc/slackpkg/slackpkgplus.conf
slackpkg+ のメイン設定ファイル /etc/slackpkg/blacklist
公式・非公式共通で使用(重要)
slapt-get(APT 風の非公式ツール)
slapt-get は、Slackware 向けに開発された APT 風のパッケージ管理ツールである。Debian 系ディストリビューションで広く使われている apt-get に近い操作感を提供することを目的としており、コマンド一つでパッケージの取得や更新を行える点が特徴である。ただし、slapt-get は Slackware の公式ツールではなく、あくまで非公式の補助的存在である。
slapt-get の最大の特徴は、依存関係の解決を試みる設計にある。pkgtools や slackpkg が依存関係を管理者の判断に委ねるのに対し、slapt-get はリポジトリ情報を基に必要なパッケージを自動的に取得しようとする。この点が利便性の高さとして評価される一方、Slackware の設計思想とは異なる方向性を持つ部分でもある。
基本的な使い方
slapt-get を利用する際は、まずパッケージリストを更新する。
slapt-get --update
特定のパッケージをインストールする場合は以下のように実行する。
slapt-get --install foo
システム全体の更新を行う場合には、
slapt-get --upgrade
を使用する。これらの操作は apt-get に慣れた利用者にとって直感的であり、Slackware に不慣れなユーザでも扱いやすい構成となっている。
インストール方法
slapt-get は Slackware の標準構成には含まれていないため、公式リポジトリ以外から導入する。
slapt-getはSlackware向けのAPT風パッケージ管理ツールであり、公式パッケージと同時にソースコードも公開されている。まず、Webブラウザで公式サイト
https://software.jaos.org/git/slapt-get/
にアクセスし、使用しているSlackwareのバージョンに対応したバイナリパッケージ(.txz)とソースパッケージ(.tar.gz)を確認する。次に、必要なファイルをダウンロードし、ローカル環境に保存する。
ダウンロード後、ターミナルを起動して保存先ディレクトリへ移動し、root権限に切り替える。その後、installpkg コマンドを用いてslapt-getのバイナリパッケージをインストールする。
続いて、設定ファイル /etc/slapt-get/slapt-getrc を編集し、利用するSlackwareミラーを指定することで、パッケージ管理機能が有効化される。インストールが完了すれば、slapt-get –update を実行することでパッケージ一覧を取得できるようになる。
# ダウンロード
$ cd ~/Downloads
$ wget https://software.jaos.org/git/slapt-get/slapt-get-*.txz
# root 権限に切り替え
$ su -
# インストール
# installpkg slapt-get-*.txz
# 設定ファイル編集
# nano /etc/slapt-get/slapt-getrc
# パッケージ一覧更新
# slapt-get --update
注意点
slapt-get を使用する上で最も注意すべき点は、依存関係の解釈が Slackware の公式パッケージ構成と必ずしも一致しないことである。自動解決された依存関係が、既存の環境や手動管理されたパッケージと衝突する可能性がある。slackpkg など公式ツールとの併用は、管理情報の不整合を招く原因となるため積極的な使用は控えたい。
- /etc/slapt-get/slapt-getrc
メイン設定ファイル(リポジトリ定義) - /etc/slapt-get/slapt-get.conf`
補助設定(環境によって存在)
sbopkg + SlackBuilds.org(超重要)
sbopkg は、Slackware において SlackBuilds.org(以下 SBo)を利用するための管理ツールである。SBo は公式パッケージとは異なり、完成済みのバイナリではなく、ソフトウェアをビルドするための SlackBuild スクリプトを提供するコミュニティ主導のプロジェクトである。sbopkg は、この SBo のスクリプト群を取得・管理し、ビルドからパッケージ化、インストールまでを支援する役割を担う。
Slackware では、公式リポジトリに含まれないソフトウェアを導入する場面が多く、その際の標準的手段として SBo が位置づけられている。sbopkg は手動作業になりがちなビルド工程を整理し、再現性のある形で管理できる点において、Slackware 運用上きわめて重要なツールである。
基本的な使い方
sbopkg を使用する前に、SBo のツリーをローカルに取得する必要がある。これは以下のコマンドで行う。
sbopkg -r
パッケージをビルドしてインストールする場合は、対話モードまたはコマンドラインから対象を指定する。
sbopkg -i foo
この操作により、SlackBuild スクリプトが実行され、ソースコードの取得、ビルド、Slackware 形式のパッケージ生成、インストールが順に行われる。生成されたパッケージは pkgtools によって管理されるため、通常のパッケージと同様に扱うことができる。
インストール方法
sbopkg は Slackware 標準には含まれていないため、公式に配布されているパッケージを取得し、pkgtools を用いてインストールする。導入後は初期設定を行い、利用する Slackware のバージョンに対応した SBo ツリーを選択することで使用可能となる。
sbopkgのインストール手順はまず、
https://sbopkg.org/downloads.php
からsbopkgの配布パッケージを取得し、ターミナルを起動しダウンロードしたパッケージが保存されているDownloadsディレクトリに移動する。
ここで、ダウンロードしたinstallpkg sbopkg-0.38.3-noarch-1_wsr.tgzを実行し、sbopkgをシステムにインストールする。インストール完了後、正しく導入されたことを確認するためにsbopkg –versionを実行し、バージョン情報が表示されることを確認する。
# cd home
# cd Downloads
# installpkg sbopkg-0.38.3-noarch-1_wsr.tgz
# sbopkg --version
# nano /etc/sbopkg/sbopkg.conf
設定ファイルを編集するためnano /etc/sbopkg/sbopkg.confを実行し、SlackBuilds.orgの同期先や各種オプションを環境に合わせて設定する。
注意点
sbopkgもまた、依存関係が自動的には解決されないことである。SBo では各ソフトウェアの依存関係が明示されているが、それらを導入する順序や要否の判断は管理者に委ねられる。ビルドには時間がかかる場合があり、ビルド環境やライブラリの状態によって結果が左右されることもある。
さらに、SBo は公式リポジトリではないため、使用する Slackware のバージョンと対応関係を確認せずに利用すると、不整合が生じる可能性がある。sbopkg は強力なツールであるが、ソースビルドの仕組みを理解しておこう。
| ツール名 | 主な役割 | 依存関係管理 | 対象リポジトリ | 位置づけ |
|---|---|---|---|---|
| pkgtools | 基本的なパッケージ操作 | なし | ローカルパッケージ | 基盤 |
| slackpkg | 公式パッケージ管理 | なし | Slackware 公式 | 標準 |
| slackpkg+ | slackpkg の機能拡張 | なし | 公式+一部非公式 | 拡張 |
| slapt-get | APT 風管理ツール | あり(試行的) | 非公式含む | 補助的 |
| sbopkg | ソースビルド支援 | なし | SlackBuilds.org | 王道 |
sbopkg
sbopkg は SBo 管理専用の設定ファイルを持つ。
- /etc/sbopkg/sbopkg.conf
メイン設定ファイル
sudo apt upgrade とは違う Slackware のソフトウェア管理
Slackware のソフトウェア管理は、sudo apt upgrade や autoremove のように、管理者が意識せずともシステム全体が自動的に更新・整理される仕組みとは完全に異なる。
Slackware では、何がインストールされ、何が削除されるのかを管理者自身が把握し、判断することが前提とされている。この違いを理解せずに扱うと、不便に感じるか不具合を起こす。しかし実際には、自動化を排したことで得られる安定性と再現性こそが、Slackware の真の価値である。apt upgrade によって「何が起きたのか分からない」状態を避けたい管理者にとって、Slackware のソフトウェア管理は今なお合理的である。
まとめ
Slackware のソフトウェア管理は、単一の万能ツールに集約されることはなく、目的ごとに異なるツールを使い分ける構成となっている。
pkgtools はすべての基盤であり、Slackware における最小単位のパッケージ操作を担う。slackpkg は公式リポジトリの管理を通じて、システム全体を正しい状態に保つ役割を果たす。slapt-get は利便性を優先した非公式ツールとして存在するが、公式方針とは距離があり、慎重な運用が求められる。
一方で sbopkg と SlackBuilds.org は、公式に含まれないソフトウェアを安全かつ再現性のある形で導入するための、事実上の標準手段である。
これらのツールはいずれも万能ではなく、それぞれに明確な役割と限界がある。ツールの機能だけでなく、その背後にある思想を理解し選択していこう。



