Slackware

Slackware（スラックウェア）は、Linuxディストリビューションの一つ。

概要 
数あるLinuxディストリビューションの中でも特に歴史の長いものの一つであり、その歴史は1992年にまでさかのぼる。日本でもかつてはJE（JE) をインストールして日本語対応を施したり、FM TOWNSへ移植されたりなど、人気があった。

パッケージ化されたアプリケーション群もほとんどいじられておらず、素に近い状態から設定できる。そのためLinuxの学習によいとされている。slackは弛いという意味であり、配布者の考え方を示している。

パッケージ作成の容易さ 
Slackwareのパッケージ管理において、依存関係の自動解決が行われず、自動で必要なパッケージがインストールされない事を揶揄されることが多い。
しかし、Slackwareの利点は、自分でパッケージを容易に作れるところにある。昨今、Gitで、ソースコードをダウンロードしてビルドしてインストールする機会が増えているが、Slackwareであれば、簡単にパッケージを自分で作成できるため、管理が容易になり、且つ、アンインストールやアップグレードの際にはシステムをクリーンな状態にし続ける事が可能である。

パッケージビルド時の自由度 
Slackwareでソースコードからコンパイルしてビルドする際には、configureのオプションを自分で選んでからmakeすることになるので、自分でリンクさせるライブラリを選択できる。従って、必要がないオプション扱いのライブラリや不安定なライブラリなどを外して、自分の好みでパッケージを作成することが可能である。ライブラリのリンクもStaticにして速度を優先させるか、Dynamicにしてファイルサイズを小さくするかも、自分で決められる。

レポジトリの制約からの解放 
パッケージ管理のためにレポジトリを追加しなくてはいけない他のディストリビューションに比べて、ソースコードさえあればビルドしてパッケージ化し、システムで利用できるため、パッケージ化されて登録されているレポジトリを探し回り登録する必要もない。他のディストリビューションにあるような複数のレポジトリを参照して発生するパッケージの衝突もない。

パッケージ管理 

Slackwareのパッケージ管理システムは、ソフトウェアのインストール、アップグレード、削除を管理できる。これらはpkgtoolで管理できる。

Slackwareのパッケージはアプリケーションがインストールされるディレクトリツリー、その説明ファイル、インストール時に実行するスクリプト、パッケージ構成ファイル情報をtarでアーカイブしlzma(12.2以前はgzip)で圧縮しただけの非常にシンプルなものである。

pkgtool 
Slackwareで使用されるデフォルトのソフトウェアパッケージ管理ツール。これにより、ユーザーはシステム上のソフトウェアパッケージを管理、インストール、アンインストール、アップグレードすることができる。

Slackwareはそのシンプルさと最小限の自動化を特徴とするLinuxディストリビューションであり、pkgtoolはその哲学を反映している。ソフトウェアパッケージは.tar.txz形式のアーカイブとして配布され、これらはpkgtoolを使用して手動でインストールされる。

pkgtoolには依存関係解決の機能が含まれていない。これは他の多くのパッケージ管理システム（例えば、DebianのAPTやRedHatのdnfなど）が持っている機能で、一部のユーザーには不便になりうる。ただし、このアプローチはシステムのコントロールを最大限にユーザーに与え、何がインストールされているのか、またそれがどのように動作するのかを理解するためのシンプルさと透明性を提供する。

pkgtoolには、以下のコマンドがある。

installpkg ... パッケージのインストール。

upgradepkg ... パッケージのアップグレード。

removepkg ... パッケージの削除。

Slackpkg 
12.2で、サードパーティーツールとして、Piter Punkによって開発されてきたSlackpkgというパッケージ管理ツールが公式パッケージとして取り込まれた。

Slackpkgは、以下のオプションがある。

--update ... パッケージリストの更新

--install-new ... 新しく公式パッケージに追加されたパッケージのインストール

--upgrade-all ... 既存インストール済みのパッケージのアップグレード

--clean-system ... 公式パッケージから削除されたパッケージの削除

Slackwareは、公式パッケージについては依存関係が考慮されているが、パッケージシステムとしては、依存関係のチェックは行わない。Slackwareは、現在は、全パッケージをインストールすることが推奨されている。

rpm2txz 
RPMパッケージをSlackwareパッケージ形式（.txz）に変換するツール。これにより、RPM形式で配布されているソフトウェアパッケージをSlackwareシステムで使用できるようになる。

rpm2txzは、RPMパッケージを解凍した後、その内容を.txz形式に再パッケージ化する。しかし、このツールは単なる形式の変換を行うだけで、RPMパッケージが持つ依存関係を解決したり、Slackwareシステムで適切に機能するようにパッケージを調整したりする機能は提供していない。したがって、rpm2txzを使用してパッケージを変換して利用する場合には、依存関係を調べておいて解決しておく必要がある。

尚、debパッケージについては、コミュニティのツールとして、deb2tgzという変換ツールがある。

日本語対応 
デフォルトで日本語に対応している。日本語フォントは、SazanamiやNoto Sans/Serifが含まれている。日本語入力は、Input Method FrameworkにFcitx及びibusが、入力システムにAnthyのUnicode版が採用されている。

ディスカッション 
Slackwareのバージョンアップに関するディスカッションは、LinuxQuestions.orgのRequests for current-next (15.0-->15.1)スレッドで行われている。

Patrickを始めとする、主要な開発メンバーも参照しており、Slackwareの派生ディストリビューションの開発者も参照している。Slackwareを利用しているユーザ達が公式パッケージに含まれる各ソフトウェアのバージョンアップの情報を提供したり、Slackwareで変更や改善すべき点を日々投稿している。

最新リリース 
Slackwareの最新安定版は15.0（2022年2月4日リリース）。 これにはLinux 5.15.19、GCC 11.2、KDE Plasma 5、Xfce 4.16が含まれている。

バージョン履歴 
Slackwareの最新安定版は15.0である。

派生版

Slackware派生 

Slackwareからすると、"子"にあたるものである。一覧は、Slackware派生版一覧（英語版Wikipedia）に掲載された、Slackwareとパッケージ管理等が同様のもの。

Slax派生 
SlaxはSlackwareの派生版で、Slackwareからすると、孫にあたるもの。一覧は、Slax派生版一覧（英語版Wikipedia）に掲載されたもの。SLAX#関連ディストリビューションも参照。

openSUSE 
openSUSEは、登場した当初はSlackwareの派生版ではあったが、パッケージ管理システムがRPMへと変更となり、ディストリビューションのあり方がSlackwareとは異なり、Slackwareがベースとなっているディストリビューションでもない。現在はRPM系ディストリビューションに分類される。

その他の派生版

海外発の派生版 
 Dragora GNU/Linux-Libre : 完全に自由ソフトウェアのみで構成される独自のGNU/Linuxディストリビューション。シンプルであることをコンセプトとしている。
Puppy Linux : ver.5 以降のSlacko PuppyはSlackwareを母体とする。ver.3.0以前も、Slackwareと互換性が高かった。

日本発の派生版 
Plamo Linux : Slackwareを日本語化し、プラモデルのようにいじれることを念頭に置いて開発されている。Version3.3まではPC-9800シリーズに対応した。

スクリーンショット

脚注

外部リンク 
 The Slackware Linux Project

関連項目 
スラッカー
Linuxディストリビューションの比較

1992年のソフトウェア