5.0 KiB
5.0 KiB
title, slug, date, tags, draft
title | slug | date | tags | draft | |
---|---|---|---|---|---|
archlinux install by syui | arch | 2025-08-08 |
|
false |
最小構成
まずはdiskの設定から。
# cfdisk /dev/sda
次にdiskのフォーマットなど。それをmountしてarchlinuxを入れます。bootloaderも設定しておきましょう。
$ mkfs.vfat /dev/sda1
$ mkfs.ext4 /dev/sda2
$ mount /dev/sda2 /mnt
$ mount --mkdir /dev/sda1 /mnt/boot
$ pacstrap /mnt base base-devel linux linux-firmware linux-headers
$ arch-chroot /mnt
$ pacman -S dhcpcd grub os-prober efibootmgr
$ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
$ grub-mkconfig -o /boot/grub/grub.cfg
これでexit;reboot
すると起動できます。
よく使うもの
$ pacman -S openssh zsh vim git tmux cargo
userの作成
$ passwd
$ useradd -m -G wheel ${USER}
$ passwd ${USER}
$ chsh -s /bin/zsh ${USER}
or
$ useradd -m -G wheel -s /bin/zsh ${USER}
sudoの使い方
/etc/sudoers
は編集を間違えると起動できなくなります。安全のためvisudo
が推奨されています。vim
では:w!
で保存します。
$ sudo visudo
or
$ vim /etc/sudoers
%wheel ALL=(ALL:ALL) ALL
%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/pacman -Syu --noconfirm
よくupdate
する人はpasswordなしで特定のコマンドをsudoを実行できるようにしておいたほうが良いでしょう。
$ sudo pacman -Syu --noconfirm
networkの設定
次にnetworkです。ここではsystemd-networkd
を使用します。dhcpcd
を使ったほうが簡単ではあります。もし安定しないようならdhcpcd
を使用。
# systemctl enable dhcpcd
$ systemctl enable systemd-networkd
network deviceをeth0にします。
$ ip link
$ ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
[Match]
Name=eth0
[Network]
Address=192.168.1.2/24
Gateway=192.168.1.1
DNS=192.168.1.1
$ systemctl enable systemd-resolved
auto-login
次にauto-loginを設定していきます。ここではgetty
を使用。${USER}
のところを自分のusernameにしてください。
$ mkdir -p /etc/systemd/system/getty@tty1.service.d/
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin ${USER} --noclear %I $TERM
$ systemctl daemon-reload
$ systemctl restart getty@tty1
window-manager
xorg
でdesktop(window-manager)を作ります。i3
を使うことにしましょう。xorg
はwayland
に乗り換えたほうがいいかも。その場合はsway
がおすすめ。
$ pacman -S xorg xorg-xinit i3 xterm
# 確認
$ startx
$ i3
exec i3
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi
sshの使い方
$ systemctl enable sshd
$ cat /etc/ssh/sshd_config
Port 22119
PasswordAuthentication no
$ systemctl restart sshd
基本的にlanから使う場合はdefaultで問題ありませんが、wanから使う場合は変更します。とはいえ、lanでもport, passwordは変えておいたほうがいいでしょう。
次に接続側でkeyを作ってserverに登録します。
$ ssh-keygen -f ~/.ssh/archlinux
$ ssh-copy-id -i ~/.ssh/archlinux ${USER}@192.168.1.2 -p 22119
ssh-copy-id
がない場合は以下のようにしましょう。
$ cat ~/.ssh/archlinux.pub | ssh -p 22119 ${USER}@192.168.1.2 'cat >> ~/.ssh/authorized_keys'
この設定でssh archlinux
コマンドで接続できます。
Host archlinux
User syui
Hostname 192.168.1.2
Port 22119
IdentityFile ~/.ssh/archlinux
おそらく、これがarchlinuxを普通に使っていくうえでの最小構成かと思います。
serverだけならxorgなどは必要ありません。
zshの使い方
$ sudo pacman -S git-zsh-completion powerline zsh-autocomplete zsh-autosuggestions zsh-completions zsh-history-substring-search zsh-syntax-highlighting
例えば、ls -
と入力すると補完され、C-n
, C-p
で選択。
alias u="sudo pacman -Syu --noconfirm"
alias zs="vim ~/.zshrc"
alias zr="exec $SHELL && source ~/.zshrc"
source /usr/share/zsh/plugins/zsh-autocomplete/zsh-autocomplete.plugin.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# source /usr/share/powerline/bindings/zsh/powerline.zsh
autoload -Uz compinit
compinit
fpath=(/usr/share/zsh/site-functions $fpath)
HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.zsh_history
setopt SHARE_HISTORY
setopt HIST_IGNORE_DUPS
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
powerline
は重いのでコメントしています。