※しばらくは更新していくとおもいます
Arch linuxをインストールした
なので、メモを残します。残念ながら僕はエンジニアではなく、脳波解析オタク兼ゲーマーのパソコン初心者です。
真に受けないように。
方針
- 鯖立てるわけではない
- 暗号化とかfirewallはする
- 処理速度を最大化したいので軽量ソフト重視
- ゲームはしたいのでsteamは入れる
起動ディスク作り
起動ディスクは作り方は色々。OSによっても違うし割愛。
起動ディスク起動後
早速ですが、黒い画面でキーボードを打つしかないです。
腹をくくるのです。
パーティションを切る
fdiskコマンドでパーティションを区切ります。
partedでもいいけれど、fdiskの方がパーティションの大きさを計算してくれて楽です。
mkfs.ext4コマンドでパーティションをフォーマットします。
bootパーティションは1GB推奨。
Arch linuxのインストール
rootパーティションをマウントします。
mount /dev/[root] /mnt
EFIあるならそれもマウントします。
EFIパーティションはいかにもだいじそうなブートローダーみたいなものが入っているところです。
中を見ればわかる。俺は雰囲気でパソコンをいじっている。
mkdir /mnt/efi
mount /dev/[efi] /mnt/efi
ここではrootパーティションにefiディレクトリがあるという設定にしています。
Linuxをインストールします。
pacstrap -K /mnt base linux linux-firmware
pacstrap -Kは特定のディレクトリにpacmanするという意味なのかな?
必要に応じていろいろ入れます。
僕は下記を入れました。
- vim neovim
- python deno nodejs go rust r ruby
- nvidia nvidia-lts nvidia-prime
- man-db
- networkmanager
- apparmmor
nviやvimは必要です。プリインストールされていません。Ubuntuとは違うんです。
もちろん、emacsでもいいですが。
一番初めの設定をする
fstabを生成します。
genfstab -U /mnt >> /mnt/etc/fstab
ここで、実際にインストールする環境に入ります。
入る方法は下記。
arch-chroot /mnt
時間を合わせます。
例えば、日本の場合は Region/City を Asia/Tokyo で置き換えるわけです。
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
ロケール
/etc/locale.gen を編集してen_US.UTF-8 UTF-8 と他の使用するロケール (例: ja_JP.UTF-8 UTF-8) をアンコメント。
そして次のコマンドを実行してロケールを生成します。
locale-gen
/etc/locale.confを編集します。
LANG=en_US.UTF-8
Internet
pacman -S networkmanager
mdnsを使いたいならこう
pacman -S nss-mdns avahi
Consoleを整える
小さくてLinux consoleが見えないわ
しばらくはlinux consoleのお世話になります。
だから、ここでちょっと見やすくしておきます。
/etc/vconsole.confを編集します。
FONT=ter-132b
KEYMAP=us
FONTがter-132bであればお爺さんでも読める大きさになります。
どうだ、見やすくなっただろう。
Keymapが悪くてemacs指を発症した
僕は右altをshiftにして左の小指を保護しています。
僕はvimmerですが、emacs程ではなくても左手小指を酷使すると痛くなります。
Consoleの場合
KEYMAPを作り込みたかったら、適当に
/usr/share/kbd/keymaps/
の中にあるものをコピーしてvimで編集します。
emacsの事は僕には分かりませんが、圧縮されたファイルでもvimなら直で編集できます。
archlinuxは潔いもので、emacsどころかvimどころかnviすらプリインストールされていません。
Xの場合
xmodmapを導入しましょう。
remove mod1 = Alt_R
add shift = Alt_R
!keycode 108 = Shift_R
bashrc
あと、bashrcにset -o viを加えておけば、emacsキーバインドからvimキーバインドに変わります。
これでemacs指は回避できます。vim指にはなりますが。
ネット関連
Hostname
Hostnameを設定します。
sudo echo hoge > /etc/hostname
Root passwordの設定
下記コマンドで設定します。
passwd
一応他の方法もありますが、僕はそうしました。
ルートディレクトリ暗号化
今回はルートディレクトリを暗号化することにしました。
理由は僕のノーパソを誰かがこっそり開けて中のディスクを勝手に読まれたら嫌だからです。
dm-crypt
dm-cryptを使う事にしました。
dm_cryptカーネルモジュールを有効にする必要があります。
/etc/default/grubの
GRUB_CMDLINE_LINUX_DEFAULTの行に
cryptdevice=/dev/sda1:rootみたいにデバイス名を追加します。
そして同じファイルのGRUB_ENABLE_CRYPTODISKの値をyにします。
LUKSの導入
では、ルートパーティションを作りましょう。
cryptsetup -s 512 luksFormat /dev/sda1
では、パーティションが出来たかどうか確認しましょう。
cryptsetup open /dev/sda1 root
そうすると、/dev/mapper/rootというファイルが出来ます。
これは普通にパーティションとしてマウントできます。
mkinitcpio
ブートの時に暗号化を解除しないといけませんから、解除できるように設定します。
/etc/mkinitcpio.confを編集します。
HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block encrypt lvm2 filesystems fsck)
のように、blockとfilesystemsの間にencryptとlvm2を挿入しました。
そして、最後にそれを適用します。
mkinitcpio -p linux
EFIパーティション
これは元々ある場合も、無い場合もあります。
FAT32にするべきだそうです。例えばこうです。
mkfs.fat -F 32 /dev/sda4
これは/bootにマウントすることも/efiのような任意の場所に
マウントする事もできます。/bootにマウントする方が簡単です。
Grub
GRUBを使うなら下記のファイルをいじってください。
/etc/default/grub
GRUB_ENABLE_CRYPTODISK=y
GRUBの設定をします。僕の環境では下記のようにしたらうまくいきました。
efiのあたりをイジるので、とても怖かったです。
ここでは/efiにしていますが、例えばbootディレクトリにする事もできます。
grub-mkconfig -o /boot/grub/grub.cfg
grub-install\
--target=x86_64-efi\
--efi-directory=/efi\
--bootloader-id=GRUB\
--modules="tpm"
After you install os-prober, run it.
This will detect windows partition automatically.
fstabを作る
fstabを自動で作ってくれるコマンドがあります。楽だね!
genfstab -U /mnt >> /mnt/etc/fstab
サンドボックス化
例えば、クリックしただけでウィルスに罹ってパソコンが壊れるサイト(あるのか?)に対して
ブラウザからホームディレクトリを触れなくするという事をします。
firejailをインストールします。
sudo firecfg
とすると、サンドボックスにした方が良さようなものについて全てサンドボックスになります。
結構問答無用でなるので、細かい設定は必要です。
サンドボックス外したければ、
/usr/local/bin/
の中にあるコマンドを手動で消去します。
さて、このままだとサンドボックス内のブラウザはIMEとやりとりできないです。
例えばibusを許して欲しい場合は下記をイジることになります。
${HOME}/.config/firejail/firefox.local
dbus-user.talk org.freedesktop.IBus
whitelist ${HOME}/.cache/ibus
このパソコンについて
ところで、このパソコンどんなものなんだっけ?と思ったら、dmidecodeをインストールして下記。
sudo dmidecode -t baseboard
X11
pacman -S xorg xorg-twm xorg-xinit
という感じですが、twmは流石に時代遅れでしょうか。
好きなのを入れると良いです。
日本語入力
僕はibus-skkを使いました。
sudo pacman -S ibus-skk
Steam
pacman -S steam
って思うじゃん?それよりflatpakを使うほうがトラブル少ないのでflatpak使います。
pacman -S flatpak
で、com.valvesoftware.Steamをインストールします。
あとは、好きなゲームを入れればいいです。僕のお勧めはEldenringです。