Arch Linuxをインストールしたあとにした設定。こちらの記事の続きにあたる内容
SSDの設定
SSDコントローラには削除可能な領域をOSに予め知らせてデータ書き換えの遅延を少なくするTRIMという機能が用意されている。最近はSSDストレージが大容量化しているのでTRIMコマンドを頻繁に実行する必要はないが週1回くらいの頻度で実行するとパフォーマンスの低下を防ぐことができる。
・SSDがTRIMに対応しているかどうか確認
$ lsblk --discard
実行結果。DISC-GRAN
とDISC-MAX
のパラメータが0以外ならば、ドライブはTRIMをサポートしていることになる。
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda 0 512B 2G 0
├─sda1 0 512B 2G 0
├─sda2 0 512B 2G 0
└─sda3 0 512B 2G 0
・TRIMタイマーを有効化する。
# systemctl enable fstrim.timer
Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /usr/lib/systemd/system/fstrim.timer.
詳しくはこちらに
コンパイラの設定
プログラムをコンパイルする際の挙動を設定。マルチスレッド処理とCPUに最適化されたパッケージを生成するようフラグの設定を行う。MAKEFLAGS="-j*"
はコンパイラに割り当てるCPUのスレッド数を入れる。当方の環境だと12スレッドなので半分の6スレッドを割り当てることにした。
$ 任意のエディタ /etc/makepkg.conf
もとの設定を削除してしまっても良いがコメントアウトすることにした。
#CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
# -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS
# -Wformat -Werror=format-security
# -fstack-clash-protection -fcf-protection"
#CXXFLAGS="$CFLAGS"
CFLAGS="-march=native -O2 -pipe -fstack-protector-strong"
CXXFLAGS="${CFLAGS}"
...
MAKEFLAGS="-j6"
...
詳しくはこちらに
カスタムカーネルの導入
日常的なデスクトップ利用に最適化されたカーネルである ZEN Kernel を導入する。ネットワークデバイスのバッファーブロートを防ぐ調整やストレージの応答速度に重点をおいたチューニングがなされているカーネル。
・Virtualbox(DKMS)を使う予定なのでヘッダーファイルもインストールしておく。
$ sudo pacman -S linux-zen linux-zen-headers
AURの導入
AURヘルパーである paru を導入する。
AUR(Arch linux User Repository)ヘルパーは野良ソフトウェアのインストールを支援してくれるプログラムで、有志が aur.archlinux.org にアップロードしているスクリプトを用いて簡単に公式リポジトリに無いソフトウェアをインストールすることができる。
今一番使用人口が多いであろう yay は実質開発終了状態でメンテだけ行われているので paru を使う。
・必要なパッケージをインストール
$ sudo pacman -S --needed base-devel
・クローンしてビルドインストール
$ git clone https://aur.archlinux.org/paru.git
$ cd paru
$ makepkg -si
詳しくはこちらに
日本語入力メソッドの導入
ここではフレームワークはGNOMEと一番うまく統合されている iBus。IME(Input Method Editor)はGoogle日本語入力の母体となっている mozc を導入する。
mozc はAURに複数のリポジトリが混在していてややこしい。どれが一番良いのかはわからないがメンテナンスされてそうなレポジトリ「ibus-mozc-ut
」をインストールすることにした。このリポジトリはここの方が郵便番号やWiki記事タイトルから抽出した単語をまとめたデータ「UT Dictionary」をmozcの辞典ファイルに統合してビルドしてくれるスグレモノ。
$ paru ibus-mozc-ut
シェルの導入と装飾
標準のbashシェルでは物足りないのでZ shellを入れる。さらにターミナルを見やすくするために Powerlevel10k テーマを導入する。
Zshのインストール
$ sudo pacman -S zsh
・Zshの設定を行う
$ zsh
.zshrc
設定ファイルがない場合、設定ウィザードが表示される。ここで自動補完などの設定ができる。
コマンドシェルを変更する
Zsh がインストールされているパスを探る
$ which zsh
/usr/bin/zsh
下のコマンドでシェルを変更する
$ chsh
以下のようなメッセージが表示されるのでパスワードと先程調べたZshのパスを入力する。
nemo のシェルを変更します。
パスワード:
新しいシェル [/bin/bash]: /usr/bin/zsh
シェルを変更しました。
Xを再起動したらZshが標準シェルとなっているはずだ。
更に詳しい内容は以下の記事をどうぞ
Zshプラグインマネージャをインストール
Zshのプラグインマネージャーをインストールする。高速なPreztoが最近のトレンドのようだが、開発期間長く活発で機能が豊富なOh-My-Zshをインストールすることにした。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Powerlevel10k テーマを導入する
Zsh の見栄えとみやすさを改善する Powerlevel10k テーマをインストールする。
Arch Linuxの公式リポジトリとAURにパッケージが用意されているが何やら余計にめんどくさいことになりそうなのでOh-My-Zshと同様、GitHubからファイルを引っ張ってくることにした。
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Zsh の設定ファイルである .zshrc
に Powerlevel10k テーマを使用するよう下のコマンドで追記する。
$ echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Zsh を起動すると Powerlevel10k の設定ウィザードが立ち上がるので自分の好みに設定する。
$ zsh
ターミナルにシステム情報を表示させる
スクリーンショットなどでシステム情報を表示するのに便利な neofetch をインストール
$ sudo pacman -S neofetch
$ echo 'neofetch' >>~/.zshrc
全部インストールするとこんな感じになる
コメント