LoginSignup
0
0

More than 3 years have passed since last update.

Slackware の pkgtool の Setup セクションを補完するスクリプトを作る

Last updated at Posted at 2019-07-14

当方執筆の技術情報に関するライセンス、免責事項、禁止事項


本記事について

動機から製作、公開の流れをおおざっぱにまとめました。何かの役に立てて下さい :no_mouth::thumbsup:

製作動機

Slackware のシステム管理・パッケージ管理は柔軟であり、インストールの際セットアップで行った変更の「ほぼ」全てを、後から /sbin/pkgtool の Setup セクションで対話的に再設定可能です。

ですが残念ながら、コンソールのキーマップの選択、及びパッケージグループの選択に関しては再設定のための対話的ツールが見当たりません。

ならばやることはひとつ。ないなら作れば良いのです。

使用許諾で悩む

最初はセットアップスクリプトの流用を考えましたが、Slackware 付属スクリプトの使用許諾で認められる範囲なのか判断がつきません。そこで「表面的には類似するが内部処理は別物」なツールにしようと考えました。

組み立て

シェルスクリプトは基本的には「コマンド行の列挙」です。したがって、部品毎に動作をチェックする場合、ターミナルエミュレータから簡単に行えます。なお、長く複雑なパーツを一行でテストしたい場合、「シェル芸」タグを参照するのが良いでしょう。

互換性の検証

bash 上でテストし組み立てたシェルスクリプトが ash(もしくは dash)でも動くか確認します。気をつけていても bash 固有の便利機能が入ってしまうのはよくある話。

また、今回は関係ありませんが、GNU なコマンドには便利に拡張されたものも多く、結果として「他の UNIX-Like な環境では動かない」スクリプトの原因になってしまうことも。移植性を上げる場合は使用するコマンドの互換性にも気を配る必要がありそうです。

リファクタリング

ノリと勢いによる、あるいはアルコールドリブン開発によるコードは大概可読性に難があります。各種「コーディング規約」が可読性向上のヒントとして有用でした。

公開

コードの公開先は色々ありますが、今回は GitLab で。

Linuxコンソールのキーマップを再設定するツール(テストも出来るよ)

ダウンロードしたスクリプトを /usr/local/sbin に置いて実行権限を付与。
使用時は root で実行して下さい。
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/blob/master/fa-keyboardreconfig
VirtualBox_Slackware_14.2_14_07_2019_16_06_35.png
VirtualBox_Slackware_14.2_14_07_2019_16_06_47.png
VirtualBox_Slackware_14.2_14_07_2019_16_07_02.png
VirtualBox_Slackware_14.2_14_07_2019_16_07_19.png

パッケージグループを再選択するツール(削除も出来るよ)

ダウンロードしたスクリプトを /usr/local/sbin に置いて実行権限を付与。
使用時は root で実行して下さい。
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/blob/master/fa-packagereselect
VirtualBox_Slackware_14.2_14_07_2019_16_08_00.png
VirtualBox_Slackware_14.2_14_07_2019_16_08_07.png
VirtualBox_Slackware_14.2_14_07_2019_16_08_43.png
VirtualBox_Slackware_14.2_14_07_2019_16_09_47.png
VirtualBox_Slackware_14.2_14_07_2019_16_10_22.png
VirtualBox_Slackware_14.2_14_07_2019_16_10_32.png
VirtualBox_Slackware_14.2_14_07_2019_16_11_16.png

デフォルトのランレベルを変更するツール(シングルユーザーモードも選べるよ)

ダウンロードしたスクリプトを /usr/local/sbin に置いて実行権限を付与。
使用時は root で実行して下さい。
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/blob/master/fa-defaultrunlevel

VirtualBox_Slackware64_17_08_2019_17_44_24.png
VirtualBox_Slackware64_17_08_2019_17_45_59.png
VirtualBox_Slackware64_17_08_2019_17_46_30.png

TODO

コメント行で各部の動作説明を書く。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0