概要
最古の歴史を持つ、管理者がシステム全てを把握できる原始的なLinux
- 系統: 独自系
- パッケージマネージャ: pkgtool / installpkg
- リリースタイプ: 固定リリース
- 相当用途: Unix/Linuxの学習 最小構成サーバ イミュータブルに管理したいサーバ
Slackwareとは
SlackwareとはLinuxディストリビューションの中でも最古の歴史をもつLinuxです。1992年、Patrick Volkerding氏が最古のLinuxディストリビューションといわれるSLS Linuxを改良したのが始まりです。
一般公開後、Patrick氏はインストールプログラムとパッケージマネージャという今のLinuxでは当たり前に搭載されている概念を取り入れました。これによりLinuxにおいてパッケージを簡単に追加、削除、アップグレードができるようになりました。
歴史は逆襲のslackwareの記載を参考にしています。slackwareに関する重要な情報はこのサイトを確認すれば知ることができるかと思います。
パッケージマネージャ
Slackwareにはapt dnfのようなツールとして、公式リポジトリと同期、更新を行うslackpkgが用意されています。
そのほかにもパッケージのインストールを行うinstallpkg パッケージを削除する removepkg パッケージを更新する upgradepkgなど使えます。
Slackwareのパッケージマネージャは依存関係を自動で解決しません。 tarを指定場所に展開し、ログを記録するだけです。これは非常に使いづらそうです。確かに使いづらいですが、逆に、依存関係が勝手に解決して余計なパッケージが入ることがなくなり、システムのすべてを管理者が明示的に管理ができる、というメリットがあります。
Slackwareのユースケース
日本ではあまり普及していない印象ですが、世界的にはまだ愛用者が多いようです。ユースケースを考えてみましょう。
Linuxの仕組みを理解するための学習環境
Slackwareのパッケージマネージャは**依存関係を解決しません。**そのためパッケージ管理はすべてユーザ主導で行う必要があります。また、initシステム、rcスクリプト、ライブラリ依存関係などを自分で把握して確認する必要があるため、Linuxの内部構造、他のLinuxディストリビューションの機能の学習に使うことができます。
組み込みマシン
必要なものだけを入れる構成で、パッケージマネージャにより余計なパッケージが暗黙的に入ることがありません。そのため組み込みマシンのように用途が限られるマシンで最小構成を作る際には役に立つかもしれません。
安定したシステム
自動で依存解決が起こらないため、実験室マシンの操作用マシンなど、イミュータブルなシステムが欲しい場合にも使えそうです。ブラックボックスとなる部分が少ないため、トラブルシューティングや改造を行いやすそうです。
逆に
- 日常使用用デスクトップ環境
- 頻繁なアップデートが必要な公開サーバ環境
- 属人性を避けるべきシステム
には使用するべきではありません。
インストール
インストールは逆襲のslackwareの記載を参考に行いました。ルートパーティションはbtrfsを採用しています。
パッケージは記載の通り、すべてインストールしています。Slackwareのパッケージマネージャは依存関係を解決しないため、とりあえずは公式の説明通りのインストールを行うのが安全です。
KDE Plasmaをインストールしているのでkcitx5を使うのがよいかと思います。
KDEデスクトップ
startkwayland
とするとKDE Plasmaデスクトップ環境が表示されます。
日本語環境にはibus+Anthy、fcitx5+Anthyのどちらかを使うことになるかと思います。fcitx5で頑張るのが良いかと思います。
Anthyがうまく動かなかったので、頑張ってmozcを持ち込むのが一番よさそう。
neofetch
デフォルトでインストールされています。
メモリ使用量が驚異的に少ないです。Slackwareでは公式のインストーラ通りに全てパッケージをインストールすれば公式の想定通りの動作をします。非常に動作が軽いことがわかります。
カーネルは5.15.19。LTS版でしたが、既にサポートが終了しています。オフライン環境で使う組込みシステム用には無駄な機能がなくてよいかもしれません。
パッケージの作成
Slackwareのパッケージマネージャは単純な構成をしているため、パッケージも比較的簡単に作成することができます。
これまた逆襲のslackwareに主要なパッケージ作成方法がまとめられています。必要なソフトウェアはUbuntuの.debなどから手動でパッケージを作成し、持ち込みます。
まとめ
最古の歴史を持つ、管理者がシステム全てを把握できる原始的なLinux
以上、最終日は現存する最古のLinuxディストリビューション、Slackwareを紹介しました。依存関係を解決しないパッケージマネージャということで日常使いは厳しいですが、逆に言うと依存解決地獄が起こらないシステムということ。小さく、更新の少ないオフライン環境のサーバであれば余計な問題が起こらなくてよいかもしれません。
Linuxディストリビューションの歴史を感じられる、「生きた化石」のようなLinux、Slackwareでした。


