Slackware

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

## 概要
数あるLinuxディストリビューションの中でも特に歴史の長いものの一つであり、その歴史は1992年にまでさかのぼる。日本でもかつては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の**[https://www.linuxquestions.org/questions/slackware-14/requests-for-current-next-15-0-15-1-a-4175706801/ 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である。
}
| 
| 2.6.37.6
| GPTのサポート、Btrfsファイルシステム追加
|-
| 
| 
| 未発表
| 3.2.29 (3.2.98のパッチ適用済)
| NetworkManagerの追加とHALの削除、HALの機能をudevに統合
|-
| 
| 
| 未発表
| 3.10.17 (3.10.107のパッチ適用済)
| UEFIサポートの追加、MySQLからMariaDBへの変更
|-
| 
| 
| 未発表
| 4.4.14 (4.4.276のパッチ適用済)
| PulseAudioとVDPAUの追加、udevからeudev、ConsoleKitからConsoleKit2への変更
|-
| 
| 2022年2月4日
| 未発表
| 5.15.19 
| デフォルトのエンコーディングをASCIIからUTF-8へ変更、ConsoleKit2からelogindへの変更、そしてKDE4からPlasma5への変更、それに伴いpython3への移行、したがってパッケージのデータベースが /var/log/packages/ から /var/lib/pkgtools/ へと変更、lame、vulkansdk、SDL2、FFmpeg、そしてWaylandのコアシステムへの追加、APIからABIへの移行、LDAP、PAMへの移行
|-
| 
| 開発中
| N/A
| 6.12.75
|PHP8.2、OpenSSL3.1へ移行、PythonでPEP 427とPEP 517に対応、ACPIをモジュール読込からカーネルにビルトインに変更、スクリプト言語Luaの追加、initrdを使わずに直接カーネルを読んで起動するユーザのためにgeneric kernelとhuge kernelの差をSCSIドライバの有無など小さくなるように変更、UTF-8 文字エンコーディングサポートをカーネルにビルトイン、glibc 2.39に移行、プリンタ検出がhplipからAvahiに移行、kernel-hugeの廃止によるkernel-genericへの一本化、ドライバ関係のパッケージであるkernel-moduleの廃止によるkernel-genericへの統合
|-
| colspan=36 | 
|}

## 派生版
### 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ディストリビューションの比較