2024-10-29 /
@syui
arch
, macbook
/ arch
macbook air(intel)にarchlinuxをinstallした
いよいよm1の前に使っていたmacbook air(intel)の使い道がなくなっていたので、archをinstallすることにしました。例えば、homebrewはmac-intelのsupportを打ち切っています。packageのinstallはbuildが必要になり、現実的使用が困難です。
私がapple製品を買うのはハードがいいからです(長持ちです)。ただし、バッテリーは何度か交換しています。
しかし、近年は少し事情が変わってきました。apple製品を買うならgpuを買ったほうがいいかもしれません。私ならそうします。
install
installは簡単で/
にpacstrapでarch(linux,base)を入れること。bootを設定することです。grubが簡単なのでgrubを使用します。bootloaderは起動時にlinux.imgを実行したり選択するものです。
$ fdisk -l
/dev/nvme0n1p1
/dev/nvme0n1p2
$ mkfs.vfat /dev/nvme0n1p1
$ mkfs.ext4 /dev/nvme0n1p2
$ mount /dev/nvme0n1p2 /mnt
$ mkdir -p /mnt/boot/efi
$ mount /dev/nvme0n1p1 /mnt/boot/efi
$ pacstrap /mnt base linux grub efibootmgr
$ arch-chroot /mnt
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub
$ grub-install --force /dev/nvme0n1p1
$ grub-mkconfig -o /boot/grub/grub.cfg
$ passwd
$ useradd -m -g wheel -s /bin/bash ${username}
$ passwd ${username}
$ pacman -S base-devel zsh git vim tmux sudo dhcpcd openssh
$ systemctl enable dhcpcd
$ systemctl enable sshd
$ chsh -s /bin/zsh
network
dhcpcd
を使う方法とsystemd-networkd
を使う方法があります。基本的にどのlinuxもdhcpcdを入れておりnetworkを設定しています。
まずkernelで自動設定されるインターフェイス名をeth0
などに戻しましょう。
$ ip route show
enp0s12 192.168.1.23
# 伝統的な名前を使う
$ mkdir -p /etc/systemd/network/99-default.link.d
$ vim /etc/systemd/network/99-default.link.d/traditional-naming.conf
[Link]
NamePolicy=keep kernel
# こちらの方法も使える
$ ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
dhcpcd
/etc/dhcpcd.conf
interface eth0
static ip_address=192.168.1.23/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 1.1.1.1
systemd-networkd
$ systemctl disable dhcpcd
$ vim /etc/systemd/network/eth.network
[Match]
Name=eth0
[Network]
Address=192.168.1.23/24
Gateway=192.168.1.1
DNS=192.168.1.1
$ systemctl enable systemd-networkd
なお、デバイスによってはこの方法で接続できない場合があります。その場合はdhcpcd
が有効です。
nameserverは/etc/resolv.conf
を見てください。
ssh
次にsshで接続する方法です。
# 接続する側
$ ssh-keygen -f ~/.ssh/archlinux
$ ssh-copy-id -i ~/.ssh/archlinux.pub ${username}@192.168.1.23
# 接続される側:archlinux
$ vim /etc/ssh/sshd_config
PasswordAuthentication no
$ systemctl restart sshd
$ ssh ${username}@192.168.1.23
xorg
デスクトップ環境の構築です。
$ pacman -S tilix xterm zsh git tmux chromium otf-ipaexfont i3 xorg xorg-xinit pcmanfm lightdm lightdm-gtk-greeter
# autologin
$ groupadd -r autologin
$ gpasswd -a $USER autologin
$ vim /etc/lightdm/lightdm.conf
[Seat:*]
pam-service=lightdm
pam-autologin-service=lightdm-autologin
autologin-user=${USER}
autologin-user-timeout=0
session-wrapper=/etc/lightdm/Xsession
autologin-session=i3
$ systemctl enable lightdm
displayが暗くならないようにする
$ vim ~/.xinitrc
xset s off -dpms
蓋を閉じてもsleepしないようにする
/etc/systemd/logind.conf
HandleLidSwitch=suspend
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore