#初めに
「社内用ディストロ」ならばおそらくこの程度で事足りる筈。
- GPLでは一つの組織あるいは会社で複数のコピーを作成して使うことは「配布」とみなさないとしている
- MPLでも同様の見解になっている
- FAQのQ6を参照
-
Ubuntuの知財ポリシーもほぼ同様
- You can modify Ubuntu for personal or internal use
- You can make changes to Ubuntu for your own personal use or for your organisation’s own internal use.
組織外に「配布」する場合にはGPLやMPL、Ubuntuの知財ポリシーに従い、少なくとも以下の措置をとるべきである。
- ソースコードを配布できる体制を整えておく
- 必ず
- 商標の差し替え
#要件定義
##コンセプト
COVID-19対策で注目されているテレワーク/リモートワークに全振りする
- ベースにしたのはxubuntu 20.04 (作成開始当時、lubuntu20.04が未リリース)
- Network ManagerのVPNプラグイン全部入り
- Remminaの追加プロトコルのプラグインも全部入り
- ブラウザは残す
- それ以外のパッケージは「消せるものは消す」
###追加要件(途中で思いついた)
- 社内でディストロのコピーをUSBメモリに焼いて引き渡す時、各々の人でバラバラな「VPNとremminaの接続設定を施した状態」で引き渡せるようにする(未解決)
- 筆者は「機材と現物がある所に出向かないとどうしようも無い部門」に所属しているが、間接部門の人も通常通り出勤してきている。(おそらく環境未整備?)
#手順
- 仮想マシンor実機に(x)buntuをインストールして、パッケージを差し替える。
2. この時、外部に配布する予定なら商標の差し替えと、ソースコードがどこに有るか分からないパッケージを含め、再配布に制限のあるパッケージを削除する(snap版パッケージはソースコードを探すのが面倒くさそう・・・) - 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パッケージのソースコードを落としてくるのに手間が掛かりそう(不要なら削除)
#反省点
- ネタを思いついたのが遅くて機を逃した
- 要件定義が甘かった
- そもそも自分専用なら(台数が少なくてそれぞれ用途も違うので)「全てのマシンに共通して入れたい物だけをインストールするメタパッケージ」で事足りた