コンソール画面

パッケージ作成情報

slackware-current(x86_64)用のオリジナルパッケージを配布しています。
各パッケージのビルドスクリプトと作成方法も解説します。

最終更新

Slackwareパッケージ作成の概要

Slackwareのパッケージは、tarアーカイブをxzまたはgzipで圧縮した形式(.txz / .tgz)です。
makepkgコマンドで作成し、installpkgでインストールします。

パッケージ作成の基本手順

  1. 前提: slackware-current (x86_64) 環境、pkgtools(makepkg, installpkg等)がインストール済み。ソースからビルドする場合はインストール時にDシリーズ(開発ツール群)を全てインストールしておくことを推奨します。
  2. ソース取得: 公式サイトからソースコードをダウンロード
  3. ビルド: ./configure && make でコンパイル
  4. 仮インストール: make install DESTDIR=/tmp/pkg で一時ディレクトリにインストール
  5. slack-descの作成: /tmp/pkg/install/slack-desc を作成します。パッケージの説明を記述する必須ファイルです。installpkg での表示や pkgtool での管理に使用されます。
  6. doinst.shの作成(必要な場合): インストール後処理(シンボリックリンクの作成やGLib設定の更新など)が必要なパッケージでは /tmp/pkg/install/doinst.sh を作成します。
  7. パッケージ化: makepkg -l y -c n /tmp/パッケージ名-バージョン-アーキテクチャ-ビルド番号.txz
  8. 検証: installpkg でインストールし、動作確認

公式リソース

日本語入力関係

Slackwareで日本語入力を行うためのIME(Input Method Editor)と関連ツールです。

  • Anthy ... G-HALさんのパッチを当てて快適な変換へ
  • ... Anthy用個人辞書管理ツール

フォント

日本語表示に適したフォントパッケージです。

メールクライアント

軽量で高速なメールクライアントです。

Webブラウザ

Chromiumベースのブラウザを中心に、各社公式バイナリをパッケージ化しています。

エディタ

プログラミングやテキスト編集向けの高機能エディタです。

ファイラー

GUIベースのファイル管理ツールです。

アプリケーション

各種アプリケーションです。

ツール

開発やシステム管理に役立つユーティリティ、および汎用アーカイブツールです。

  • Difftastic ... インテリジェントな構文解析してくれるdiff
  • cabextract ... Microsoftのcabinetファイルを解凍する
  • p7zip ... 7z形式をはじめ、ZIP、RAR、TAR、GZIPなど多数のアーカイブ形式に対応したアーカイブツール

クラウドストレージ

ファイル同期・共有サービスのクライアントです。

メッセンジャー

インスタントメッセージ・通話アプリです。

オンライン会議ツール

ビデオ会議・ウェビナー用のアプリケーションです。

プログラミング言語関係

各種プログラミング言語の処理系・ランタイムです。

分析・監視ツール

システムのパフォーマンス測定やネットワーク解析に使用するツールです。

ライブラリ

他のアプリケーションが依存する共有ライブラリです。

Wine関連ツール

Linux上でWindowsアプリケーションを実行するための互換レイヤーと関連ツールです。

  • Wine ... LinuxでWindowsアプリケーションを実行する
  • Winetricks ... Wineの設定やライブラリのダウンロードなどのユーティリティツール

ネットワーク

VPNやセキュアな接続を実現するネットワークツールです。

  • Tailscale ... WireGuardベースのセキュア接続基盤

デバイスコントロール

液冷クーラー・デバイスなどの制御ツールです。

  • liquidctl ... 液冷クーラー・デバイス制御ツール

よくある質問(FAQ)

Q1. Slackwareのパッケージ形式は何ですか?
A. Slackwareのパッケージは .txz(tar + xz圧縮)形式です。
makepkgコマンドで作成します。
Q2. パッケージのインストール・アンインストール方法は?
A. installpkg パッケージ名.txz でインストール、removepkg パッケージ名 でアンインストール、upgradepkg パッケージ名.txz でアップグレードします。
Q3. SlackBuildsとは何ですか?
A. SlackBuilds.orgは、Slackware用のビルドスクリプト(.SlackBuild)を集めたコミュニティプロジェクトです。
公式リポジトリにないソフトウェアのパッケージ作成に利用できます。
Q4. このページのパッケージの対象環境は?
A. slackware-current(x86_64アーキテクチャ)を対象としています。
Q5. パッケージ作成に必要なツールは?
A. 基本的には makepkg コマンド(pkgtoolsに含まれる)があれば作成できます。
ソースからビルドする場合は gcc、make、autoconf 等が必要なため、インストール時にDシリーズ(開発ツール群)を全てインストールしておくことをお勧めします。
Q6. 依存関係はどう管理しますか?
A. Slackwareは依存関係を自動解決しません。
各パッケージページに記載の依存パッケージを事前にインストールしてください。
SlackBuilds.orgでは依存関係情報が提供されています。
また、SlackBuildsを効率的に扱うフロントエンドツールとして sbopkgsbotools を使うと、依存関係の解決やビルドの管理が楽になります。
Q7. パッケージのバージョンが古い場合は?
A. 各パッケージページのビルドスクリプトを参考に、最新ソースで再ビルドしてください。
バージョン番号とダウンロードURLを更新するだけで対応できる場合が多いです。
Q8. わざわざ自分で依存関係を調べて、手間を掛けてパッケージを作るのは面倒では?
A. 確かに手間はかかります。
しかし、最初から自動化された仕組みに頼ってパッケージを使い続けると、その裏側にある仕組みを学ぶ機会を失います。
パッケージを自分で手動で何度も、いくつもの種類を作ってみることで、ソフトウェアの依存関係やビルドの仕組みが、頭で理解するだけでなくからだに染み込むように習得できます。
ある程度慣れてきたら、繰り返し行う作業についてはビルドスクリプトを自分で作成すると良いでしょう。
手順を自動化できるようになった時点で、その作業を本当に理解しているという証でもあります。
使い込んでいくうちに、むしろ他のディストリビューションのパッケージ管理システムに縛られる方が窮屈に感じるようになるエンジニアは少なくありません。
それはちょうど、Lispを覚えた後に他の言語の制約が気になり始めるのと似たような感覚です。
もちろん、手軽さを優先したい場合は、よりパッケージ管理が充実した他のディストリビューションを選ぶのも賢い判断です。