ほとんど自分用のメモです。
aptの設定
/etc/apt/apt.conf.d 以下に適当なファイルを作り下記内容追加。これで「推奨(Recommend)」パッケージを入れなくする。また削除したときになるべく全部消すようにする。
APT::Default-Release "buster";
APT::Install-Recommends 0;
APT::Get::Purge 1;
dpkg-reconfigure debconf を実行し、インストール時に省略する質問を自分の好きなように設定する。
deb http://deb.debian.org/debian/ testing main non-free contrib
deb http://deb.debian.org/debian/ unstable main non-free contrib
# deb http://deb.debian.org/debian/ experimental main non-free contrib
上記はfirefox最新版やTeXLive最新版やlibreoffice最新版のインストールに必要
ファームウェア、マイクロコード等のインストール
CPU関連
intel-microcode または amd-microcode をインストールしCPUのマイクロコードを更新する。
他のファームウェア
所有するファームウェアに依存するが firmware-linux と firmware-intel-sound あたりか…
systemd関連
control group v2
cgroup v2を使えるように systemd.unified_cgroup_hierarchy=1 を /etc/default/grub に追加し update-grub を実行する。
その他の kernel command line
好みによるけれど psi=1 i915.fastboot=1 i8042.reset=1 nvidia-drm.modeset=1 iommu=force,merge,nopanic,nopt intel_iommu=on amd_iommu=on あたりでしょうか…変えたら update-grub する。
ログの保存
[Journal]
Storage=persistent
と書かないとsystemd-journaldログが残らないので上記のように設定する。
systemd全体の設定
/etc/systemd/system.conf と /etc/systemd/user.conf のアカウンティング設定を好きなように変える。 設定項目の説明は man systemd-system.conf
ユーザー毎のリソース制限
[Slice]
MemoryHigh=95%
などのユーザー毎のリソース制限を追加する。設定項目の説明は man systemd.resource-control および man user@.service
systemdによるcron (systemd-cron)
apt-get --purge install systemd-cron
Network Managerを用いない無線設定
ip l で無線インターフェース名(例えばwls3)を調べて
network={
ssid="SSID名"
scan_ssid=1
key_mgmt=WPA-PSK
psk="パスフレーズ"
}
というファイルを作る。そして systemctl enable wpa_supplicant@インターフェース名 を実行する。設定ファイルの詳しい書き方は man wpa_supplicant.conf
ifupdown を用いないネットワーク設定
[Match]
Name=wl*
[Network]
DHCP=yes
MulticastDNS=yes
NTP=ntp.nict.jp
というようなファイルを作り systemctl enable systemd-networkd を実行する。設定ファイルの書き方は man systemd.network
ここまで実施すると apt-get --purge remove ifupdown network-manager isc-dhcp-client で ifupdown と ネットワークマネージャー と DHCPクライアントを削除しても問題なくなる。
Ubuntuの場合では上記に加えさらに netplan.io, nplan, networkd-dispatcher を削除してよい。(なお netplan というパッケージは名前が似ているが無関係)
avahiなどを用いないホスト名解決
apt-get install libnss-resolve libnss-systemd と systemctl enable systemd-resolved を実行するとマルチキャストDNS(Appleボンジュールプロトコル)を含めたホスト名からIPアドレスへの解決をsystemdが行うようになる。この処置の後 apt-get --purge avahi-daemon avahi-autoipd libnss-mdns でAvahi関連パッケージを削除して良い
そのほかのいらないパッケージ
apt-get remove xterm plymouth plymouth-label modemmanager
ここらへんまで終わったら再起動してネットワークがちゃんと使えるか確認する
Firefox 最新版
Unstableにしか入っていないため apt-get -t unstable install firefox-l10n-ja firefox でESRではない最新版firefoxを入れる。その後に apt-get --purge firefox-esr でESR版を削除。アドビフラッシュを見られるようにするには pepperflashplugin-nonfree と browser-plugin-freshplayer-pepperflash を入れるとよい。
Emacs (好きなら)
apt-get install emacs emacs-el emacs-common-non-dfsg appmenu-gtk3-module libcanberra-gtk3-module
xim (uim) でemacsに日本語入力する場合最低でも xfonts-base が必要なので消してはいけない
LibreOffice をexperimentalにある最新版に更新
apt-get -t experimental install libreoffice-gnome `dpkg-query -W | grep ^libreoffice | awk '{ print $1 }'`
Windows 10に付属するフォント C:\Windows\Fonts\*.ttf,*.ttc,*.TTF,*.TTC を /usr/share/fonts/trutype/mymsfonts とかからシンボリックリンクを貼り fc-cache -frv /usr/share/fonts/truetype/mymsfonts で使えるようにしておくとよい
TeXLive最新版
apt-get -t testing install texlive-lang-japanese texlive-latex-recommended- またはCTANからinstall-tlをダウンロードしてそれを用いてインストールする。このとき
install-tlのオプションでソースと付属ドキュメントをインストールしないようにするとダウンロードする量が数GBくらい減る。
仮想マシンとWindows
apt-get --install-recommends install virt-manager Linux上でWindowsを動かすときにはvirtioドライバをWindowsにインストールしないとディスクとネットワークが遅くなるから、Windowsインストール時にフロッピーディスクイメージからvirtioドライバをインストールする。インストールを始める前にLinux側の仮想マシン設定で主ネットワークと主ハードディスクにvirtioを用いるように設定する
またlibvirt-guests.serviceの停止で毎回ハングアップして面倒なだけなので systemctl disable libvirt-guests.serviceする。
Cgroup v2 で virt-manager や libvirt を使う
'Invalid value '+cpu' for 'cgroup.subtree_control': 無効な引数です'
が出た場合 apt-get remove rtkit すれば解決する可能性が高い。理由は
リアルタイムプロセスが存在するときにCgroup v2のCPUコントローラーが使えない からである。