2024-12-03
mkdir -p ~/tmp_arch
cd ~/tmp_arch/
# archinstall のログを削除
# ログにユーザーパスワードが記録されている
sudo rm -rf /var/log/archinstall/
# 高速なミラーサーバを選択
sudo pacman -Sy
sudo pacman -S --needed archlinux-keyring reflector rsync
sudo reflector -c tw -f 5 --save /etc/pacman.d/mirrorlist
sudo pacman -Sy
# Arch Linuxの pacman.conf をインストールして非公式リポジトリを削除
wget https://gitlab.archlinux.org/archlinux/packaging/packages/pacman/-/raw/main/pacman.conf
sudo mv pacman.conf /etc/
sudo pacman -Sy
# Arch Linuxの公式リポジトリに存在しないアプリを削除
# 必要なものは後で AUR からインストール
sudo pacman -Rcs $(pacman -Qqm)
# AUR パッケージをビルドするときのスレッド数を論理プロセッサ数にする
sudo pacman -S --needed wget
wget https://gitlab.archlinux.org/archlinux/packaging/packages/pacman/-/raw/main/makepkg.conf
sed -i -e 's,#MAKEFLAGS="-j2",MAKEFLAGS="-j\$(nproc)",g' makepkg.conf
# debug パッケージを作らない
sed -i -e 's,purge\ debug\ lto,purge\ \!debug\ lto,g' makepkg.conf
sudo cp -f makepkg.conf /etc/
# yay をインストール
wget https://aur.archlinux.org/cgit/aur.git/snapshot/yay-bin.tar.gz
tar -xf yay-bin.tar.gz
cd yay-bin/
makepkg -is
cd ~/tmp_arch/
# パッケージのキャッシュを削除
sudo rm -rf /var/cache/pacman/pkg/
# パッケージのビルドディレクトリを tmpfs にする
yay --builddir=/tmp/yay --save
# パッケージのダウンロード先を tmpfs にする
cp /etc/pacman.conf .
sed -i -e 's,.*CacheDir.*,CacheDir\ \ \ \ \=\ \/tmp\/cache\/pacman\/pkg\/,g' pacman.conf
sudo cp -f pacman.conf /etc/
# systemd-boot の起動メニューを自動的に更新
yay -S --needed kernel-install-mkinitcpio
# ファイアウォールを設定
yay -S --needed ufw
sudo ufw enable
sudo systemctl enable ufw
sudo ufw default deny
sudo ufw allow from 192.168.0.0/24
sudo ufw limit ssh
# 許可するアプリを追加
# 追加できるアプリは sudo ufw app list で確認
sudo ufw allow qBittorrent
# ファイアウォールの状態を確認
sudo ufw status
# 追加したアプリを削除
# sudo ufw delete allow qBittorrent
# NetworkManager がDNSサーバを変更しないようにする
cp /etc/NetworkManager/NetworkManager.conf .
printf "
[main]
dns=none" >> NetworkManager.conf
sudo mv NetworkManager.conf /etc/NetworkManager/
# DNSサーバを Cloudflare に変更
printf "nameserver 2606:4700:4700::1111
nameserver 2606:4700:4700::1001" > resolv.conf
sudo mv resolv.conf /etc/
# Cloudflare に障害が発生した場合は Google Public DNS を使う
# printf "nameserver 2001:4860:4860::8888
# nameserver 2001:4860:4860::8844" > resolv.conf
# sudo mv resolv.conf /etc/
# NetworkManager を再起動してDNSサーバを確認
sudo systemctl restart NetworkManager
yay -S --needed bind
dig https://www.youtube.com | grep SERVER
# ;; SERVER: 2606:4700:4700::1111#53(2606:4700:4700::1111) (UDP)
# 日本の時刻サーバに変更
yay -S --needed ntp
printf 'server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
server 3.jp.pool.ntp.org iburst
' > ntp.conf
sudo mv ntp.conf /etc/ntp.conf
sudo systemctl enable ntpd
# ntpd の動作確認
systemctl status ntpd | grep Active
# Active: active (running)
# 「デスクトップ」などのディレクトリが作られるのを止める
printf 'XDG_DESKTOP_DIR="$HOME"
XDG_DOWNLOAD_DIR="$HOME"
XDG_TEMPLATES_DIR="$HOME"
XDG_PUBLICSHARE_DIR="$HOME"
XDG_DOCUMENTS_DIR="$HOME"
XDG_MUSIC_DIR="$HOME"
XDG_PICTURES_DIR="$HOME"
XDG_VIDEOS_DIR="$HOME"
' > ~/.config/user-dirs.dirs
# コアダンプを無効にする
printf "kernel.core_pattern=/dev/null" > 50-coredump.conf
sudo mv 50-coredump.conf /etc/sysctl.d/50-coredump.conf
sudo sysctl -p /etc/sysctl.d/50-coredump.conf
# 既存のダンプファイルを削除
sudo rm /var/lib/systemd/coredump/*
# NotoSansCJK-Regular.ttc をインストール
yay -S --needed noto-fonts-cjk
# ディスプレイマネージャーのフォントを Noto Sans CJK JP にする
# フォントのファイル名からフォント名を調べるには次のようにする
# LC_ALL=C fc-match -a | grep NotoSansCJK-Regular.ttc
wget http://linuxplayers.g1.xrea.com/images/arch_01/65-nonlatin.conf.txt
sudo cp -f 65-nonlatin.conf.txt /usr/share/fontconfig/conf.avail/65-nonlatin.conf
# /home にも Noto Sans CJK をインストール
# 日本語フォントを持たないディストリビューションをインストールしたときでも、
# 管理者権限で実行するアプリ(SDDM など)以外なら日本語を表示できる
mkdir -p ~/.local/share/fonts/
cp -f /usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc ~/.local/share/fonts/
# ディスプレイマネージャを SDDM に変更
# 古いディスプレイマネージャの削除は再起動後に行う
# 現在使用しているディスプレイマネージャを削除するとフリーズする
yay -S --needed sddm
sudo systemctl -f enable sddm
# AMD の GPU を使用する場合: ドライバをインストール
yay -S --needed xf86-video-amdgpu libva-mesa-driver vulkan-radeon libva-utils
fcitx5 と mozc をインストールして、fcitx5 をデフォルトの入力メソッドフレームワークにする。
yay -S --needed fcitx5 fcitx5-configtool fcitx5-gtk fcitx5-qt fcitx5-mozc-ut
printf 'export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
' > ~/.xprofile
設定を有効にするためログアウトしてログイン。
設定ツールを起動。
fcitx5-configtool
「入力メソッド」タブを開き、「現在の入力メソッド」に Mozc
があるのを確認する。なければ右側の「有効な入力メソッド」から追加して、「適用」を押す。
「グローバルオプション」タブを開き、一番下までスクロール。「第1入力メソッドの情報を表示する」のチェックを外して、「適用」を押す。
「アドオン」タブを開く。検索欄に「クラシック」と入力して、ヒットした「クラシックユーザーインタフェース」の「設定」を押す。
フォントを変更。
「アドオン」タブを開く。検索欄に「mozc」と入力して、ヒットした「Mozc」の「設定」を押す。
「用例を表示」を「ホットキー」にする。
「プリエディットカーソルをプリエディットの先頭に固定する」のチェックを外す。
/usr/lib/mozc/mozc_tool --mode=config_dialog
「辞書」タブを開き、「学習履歴のクリア」をクリック。