デスクトップPCくんでArchLinux入れた

f:id:h6n:20191103090710p:plain

以下作業ログ、Arch LinuxのWikiのインストールをなぞったつもり

パーティション

雑に2つに割る

  • /boot
  • /
# parted /dev/nvme0e1
(parted) mklable gpt
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) mkpart primary 513MiB 100%
(parted) set 1 esp on

btrfs on LUKS on LVM

mkfs.btrfsbtrfs-progs いれないと入らないかも

# pvcreate /dev/nvme0n1p2
# vgcreate main /dev/nvme0n1p2
# lvcreate -l 100%FREE -n root main
# cryptsetup luksFormat -c aes-xts-plain -s 512 /dev/mapper/main-root
# cryptsetup open /dev/mapper/main-root root
# mkfs.btrfs -L root /dev/mapper/root
# mount /dev/mapper/root mnt
# mkdir /mnt/boot
# mkfs.fat -F32 /dev/nvme0n1p1
# mount /dev/nvme0n1p1 /mnt/boot

失敗: M.2さすと無効になるPCI Expressのスロットに無線のカードさしてた

lspciしてもネットワークカードがでなくて、でも同じカードからusb接続してるBluetoothは認識されてて壊れてるわけじゃなさそうで、謎で、マザボの説明書を読んだら、M.2使うと使えなくなるスロットにさしちゃってたのが原因だった

ネットワーク

さし直して気を取り直して

# ip link set wlp6s0 up
# vi /etc/wpa_supplicant/wpa_supplicant.conf

かく

ctrl_interface=/run/wpa_supplicant
update_config=1
# wpa_supplicant -B -i wlp6s0 -c /etc/wpa_supplicant/wpa_supplicant.conf

して

# wpa_cli

以下wpa_cli

add_network
set_network 0 ssid "foo"
set_network 0 psk "bar"
enable_network 0
save_config

DHCPでアドレス取る

# dhcpcd wlp6s0
# ping archlinux.jp

NTP設定してマウントしたとこにArch Linuxいれる

# timedatectl set-ntp true
# vi /etc/pacman.d/mirrorlist
# pacstrap /mnt base linux
# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc
# pacman -S vim
# vim /etc/locale.gen
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# echo KEYMAP=jp106 > /etc/vconsole.conf
# vim /etc/hostname

ホスト名、雑にRubyの好きなクラスからつけていってる。今回は「TracePoint」

# vim /etc/hosts

書く

127.0.0.1 localhost
::1 localhost
127.0.0.1 TracePoint.local TracePoint

他いれたやつ

# pacman -S linux-firmware wpa_supplicant iw base-devel lvm2 btrfs-progs

mkinitcpioは

# vim /etc/mkinitcpio.conf

hooksこれでまずやった

HOOKS=(base udev autodetect modconf block lvm2 encrypt filesystems keyboard fsck)
# mkinitcpio -P

パスワード設定とブートローダーのインストール、systemd-boot入れる

# passwd
# pacman -S efivars
# bootctl --path=boot install

コマンドの説明よみたいのでmanも入れる

# pacman -S man

マイクロコードのアップデートも動かす

# pacman -S amd-ucode

ブートローダーの設定でデフォルトでArchLinux起動するようにする、Windows入れてないので楽。

# vim /boot/loader/loader.conf

こんな感じにした、/をLUKSで暗号化してるのでoptions周りはその設定をしてる

default arch

vim /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd amd-ucode.img
initrd initramfs-linux.img
options cryptdevice=/dev/mapper/main-root:root root=/dev/mapper/root

dm-cryptが記号入ってるパスワードで解除できないんで日本語キーボードになるようにkeyboardとkeymapをlvm2の前に書く

# vim /etc/mkinitcpio.conf

はい

HOOKS=(base udev autodetect modconf block keyboard keymap lvm2 encrypt filesystems fsck)

かきかえたら mkinitcpio -P

このあと再起動して/からうまく起動できた、けどdhcpcd入ってなくてIP設定がわからなくて困ったけど、手動でIP設定してとりあえずネットワークつながった

とりあえずログインシェル周り設定してユーザー作る

# pacman -S zsh
# useradd -m -G wheel -s /bin/zsh sei
# passwd sei

sudoできるようにしとく

# pacman -S vi
# visodo

%wheel ALL=(ALL) ALLコメントアウト

つよつよマシンだから雑にGNOME入れる

# pacman -S gnome

なんかパッケージみつからない云々でエラー、更新しとく(1日でこれなのArchLinuxらしさある)

# pacman -Syu

キーうんぬんのエラーメッセージでるので更新

# pacman -S archlinux-keyring
# pacman -S gnome

はいった。ログインマネージャ起動しとく。

# systemctl enable gdm.service
# reboot

ネットワークGUIでぽちぽちしたい

pacman -S networkmanager
systemctl enable NetworkManager

GUIでSettingsのDetailsのAutomatic Date & Timeにチェック キーボードがjp106になってなさそうなのでSettingsのRegion & LanguageのInpup SourcesでJapanese追加

日本語の文字が見えないので

# pacman -S adobe-source-han-sans-jp-fonts adobe-source-han-serif-jp-fonts

にほんご入力、mozcがいいので公式パケではいるfcitx-mozcにする

# pacman -S fcitx-mozc fcitx-configtool fcitx-im

fcitx-configtoolしてMozcのキーボード追加

~/.pam_environment に以下追記

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
DefaultIMModule=fcitx

ログインしなおしてもにほんごがきかない。 /etc/locales.confいじってみたりするができん。 なぜ、、、と思って全然わからなくてruby-jpのSlackの#linuxチャンネルで聞いてみたらWaylandだとだめっぽいの教えてもらった、完全に見落としていた。。。X.orgでログインしたらふつうに日本語打てた。

大感謝

f:id:h6n:20191103095408p:plain https://ruby-jp.slack.com/archives/CN4V0NNP2/p1572670894100000

これ英語版のwikiに書いてないやつだ。。。

Wayland は ~/.xprofile に保管された環境変数を読み込むことができないため、Wayland 上で Fcitx を使うときは /etc/environment で環境変数を設定してください。 https://wiki.archlinux.jp/index.php/Fcitx#GNOME.2FWayland.E4.B8.8A.E3.81.A7.E3.81.AE_Fcitx.E3.81.AE.E5.88.A9.E7.94.A8

ブラウザ、ChromeはAURにしかなさそうなのでFirefox使ってみることにする

# pacman -S fifefox

フォントはnoto-fontsいれる

ここ参考にタイトルバー隠す

ubuntuhandbook.org

こまっていること

環境構築、Debianではmitamaeでenvリポジトリクローンしてきてえいやでできるようにしている(つもり)だけどArchでも同じリポジトリ使ってできるようにするにはそれなりの頑張りが必要そうなので(パッケージ名の違いとかで)、雑にブログを書いて行く運用にしようかな...

つぎやること

  • dotfilesを入れる
  • コミットに署名できるようにする
  • 4TBのHDD入れてgem-codesearch動かす

Slackとかクライアント入れるには結局AUR使うので今のうちyay入れてなれておいたほうがいいかも、という気持ちとSlack入れたら作業はかどらなさそうなので入れなくてよくね、の気持ちがあります。ブラウザで試して疲れたらSlackクライアント入れる感じでいこう。

いいなと思ったらKyashでお金を下さい
20191128011151
GitHubスポンサーも受け付けています
https://github.com/sponsors/hanachin/