LoginSignup
2
1

More than 3 years have passed since last update.

ubuntu 20.04が出たので、早速オレオレディストロの作り方のレシピを書いてみる(2020-06-04版)

Last updated at Posted at 2020-05-27

初めに

「社内用ディストロ」ならばおそらくこの程度で事足りる筈。

組織外に「配布」する場合にはGPLやMPL、Ubuntuの知財ポリシーに従い、少なくとも以下の措置をとるべきである。

  • ソースコードを配布できる体制を整えておく
    • 必ず
  • 商標の差し替え

要件定義

コンセプト

COVID-19対策で注目されているテレワーク/リモートワークに全振りする

  • ベースにしたのはxubuntu 20.04 (作成開始当時、lubuntu20.04が未リリース)
  • Network ManagerのVPNプラグイン全部入り
  • Remminaの追加プロトコルのプラグインも全部入り
  • ブラウザは残す
  • それ以外のパッケージは「消せるものは消す」

追加要件(途中で思いついた)

  • 社内でディストロのコピーをUSBメモリに焼いて引き渡す時、各々の人でバラバラな「VPNとremminaの接続設定を施した状態」で引き渡せるようにする(未解決)
    • 筆者は「機材と現物がある所に出向かないとどうしようも無い部門」に所属しているが、間接部門の人も通常通り出勤してきている。(おそらく環境未整備?)

手順

  1. 仮想マシンor実機に(x)buntuをインストールして、パッケージを差し替える。
    1. この時、外部に配布する予定なら商標の差し替えと、ソースコードがどこに有るか分からないパッケージを含め、再配布に制限のあるパッケージを削除する(snap版パッケージはソースコードを探すのが面倒くさそう・・・)
  2. Distroshare Ubuntu ImagerでISOファイル化する

今回は外部配布向けの制作をしなかったが、パッケージのソースコードを取得するにはmanifestファイルを見てパッケージ名=バージョンの形になるようにする

$cat /media/cdrom/casper/filesystem.manifest |sed -e 's/ /=/g' >package.list

とでもすると良い。ただ、apt source --download-onlyで全てのパッケージを食わせようとしたら

NOTICE: 'accountsservice' packaging is maintained in the 'Git' version control system at:
https://anonscm.debian.org/git/collab-maint/accountsservice.git
Please use:
git clone https://anonscm.debian.org/git/collab-maint/accountsservice.git
to retrieve the latest (possibly unreleased) updates to the package.
(以下略)

と言われてしまったので、

$cat /media/cdrom/casper/filesystem.manifest |sed -e 's/ /=/g' | sed -e 's/^/apt source --download-only /g' >pkg-dl.sh
$chmod u+x pkgdl.sh

とでもするべきらしい。

未解決の課題

  • apt等で、パッケージのソースコードの一括取得
  • 個々の人毎に違う設定をした状態のISOイメージを作るのを自動化する良い方法が思い浮かばない
  • 外部配布の場合、Snapパッケージのソースコードを落としてくるのに手間が掛かりそう(不要なら削除)

反省点

  • ネタを思いついたのが遅くて機を逃した
  • 要件定義が甘かった
    • そもそも自分専用なら(台数が少なくてそれぞれ用途も違うので)「全てのマシンに共通して入れたい物だけをインストールするメタパッケージ」で事足りた
2
1
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
2
1