2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

農工大Advent Calendar 2024

Day 22

Arch Linux初心者奮闘記

Last updated at Posted at 2024-12-21

0. はじめに

はじめまして。イノユウと申します。Qiitaの記事を書くのは初めてです。至らない点や間違ったことを書いてしまっているかもしれませんが、よろしくお願いします。
この記事は農工大アドベントカレンダー12/22の記事です。

1. 事の始まり

 某おじい3がVimで遊んでいたり、某u○○○○○○○さんがゲーミングノートにArch Linuxを入れて遊んでいるのを見て、「俺もあれで遊びたいな〜」って思ったのがきっかけで、Arch Linuxに手を出してみました。

2. SSD購入&パーティション作成

 今回Arch LinuxをインストールするにあたってSSDを新調しました。

IMG_7689.jpg

ちっちゃい。
このサイズ感で500GBあるの普通にすごいなって思いました。

新品のSSDをPCに繋いだら、Arch Linuxのインストールメディアを差し込みます。
するとこんな感じのシェルが表示されます。
このままだとJP配列のキーボードが正しく認識されず、「_」や「~」が正しく入力できません。レイアウトをJP配列にするために、まずはじめに以下のコマンドを打ち込みます。

shell
root@archiso~ # loadkeys jp106

これでJP配列のキーボードを正しく認識してくれます。
いよいよパーティションを作成します。まずはlsblkコマンドで認識されているドライブ(パーティション)を確認します。

shell
root@archiso~ # lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   1.8T  0 disk 
├─sda1        8:1    0   579M  0 part 
└─sda2        8:2    0   1.8T  0 part 
(以下省略)

上の例では「sda」が物理的なドライブ、「sda1」「sda2」が「sda」内のパーティションになります。自身の用意したのドライブの容量と照らし合わせて、どのドライブがインストールしたいドライブか よく 確認してください。 間違えると最悪既存のドライブのデータが消えます。
ドライブ名を確認したら、以下のコマンドでパーティション設定を行います。以下では、ドライブの名称を「[Your Drive Name]」とします。

shell
root@archiso~ # fdisk /dev/[Your Drive Name]
Command (m for help): 

参考までに、私のパーティション構成を載せておきます。

パーティションカテゴリ 容量
UEFI Boot Partition 1GB
Root Partition 456GB
Swap Partition 8GB

UEFI Boot partitionは1GB、Swap Partitonはメモリ容量の半分、Root Partitionは余りって感じで割り当てました。以下では、上の構成を再現するために実行するコマンドを示します。
「n」を押下してUEFI用の新しいパーティションを作成します。

shell
Command (m for help): n
Partition number (1-128, default 1):  //何も入力せずEnter
First sector (***-***, default = ***) or {+-}size{KMGTP}: 
Last sector (***-***, default = ***) or {+-}size{KMGTP}: 1G
Hex code or GUID (L to show codes, Enter = 8300): ef00

次に、システムパーティションを作成します。スワップパーティションの容量が関係してきます。

shell
Command (m for help): n
Partition number (1-128, default 1): //何も入力せずEnter
First sector (***-***, default = ***) or {+-}size{KMGTP}: //何も入力せずEnter
Last sector (***-***, default = ***) or {+-}size{KMGTP}: -8G
Hex code or GUID (L to show codes, Enter = 8300): //何も入力せずEnter

最後にスワップパーティションを作成します。

shell
Command (m for help): n
Partition number (1-128, default 1): //何も入力せずEnter
First sector (***-***, default = ***) or {+-}size{KMGTP}: //何も入力せずEnter
Last sector (***-***, default = ***) or {+-}size{KMGTP}: //何も入力せずEnter
Hex code or GUID (L to show codes, Enter = 8300): 8200

変更を反映します。

shell
Command (m for help): w

ここで、出来上がったパーティションを確認しましょう。

shell
root@archiso~ # lsblk
(略)
sdb           8:16   0 465.8G  0 disk 
├─sdb1        8:17   0     1G  0 part /boot
├─sdb2        8:18   0 456.8G  0 part /
└─sdb3        8:19   0     8G  0 part [SWAP]
(略)

上で言う「sdb1」(右に/bootと書いてあるもの)がUEFIパーティション、「sdb2」(右に/と書いてあるもの)がルートパーティション、「sdb3」(右に[SWAP]と書いてあるもの)がスワップ用パーティションです。
作ったパーティションをフォーマットします。

shell
//UEFI パーティションをフォーマット
root@archiso~ # mkfs.fat -F32 /dev/sdb1
shell
//ルートパーティションをフォーマット
root@archiso~ # mkfs.ext4 /dev/sdb2
shell
//スワップパーティションを有効化
root@archiso~ # swapon /dev/sdb3

これでパーティションが完成です。

3. ネットワーク設定

次に、無線LANの設定をします。このときの設定はあくまでインストールのための一時的なもので、インストール後は別で設定が必要になります。
まず、以下のコマンドでネットワークデバイスの一覧を確認します。

shell
root@archiso~ # ip link

「wlan〜」とか「wlp〜」が無線LANデバイスです。ここで得られたデバイス名を後で使います。(今後「[Your Device Name]」と表現します。)
はじめのうちはこんな感じの出力になっていると思います。

shell
root@archiso~ # ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
  link/ether ***
  altname ***
  altname ***
+ 3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
  link/ether ***
  altname ***

 stateがDOWNになっています。ネットワークに接続されていないということです。
無線LANの設定にはwpa_supplicantを使います。以下の要領でwpa_supplicant-[Your Device name].confを作成します。

/etc/wpa_supplicnat/wpa_supplicant.conf
ctrl_interface=/run/wpa_supplicant
update_config=1

次に、この設定を読み込んでもらうために、以下のコマンドを実行します

shell
root@archiso~ # wpa_supplicant -B -i [Your Device name] -c /etc/wpa_supplicnat/wpa_supplicant-[Your Device name].conf

これが終わったら、次にwpa_cliを使ってwネットワークのSSIDやパスワードを設定します。

shell
 root@archiso~ # wpa_cli
 wpa_cli v2.11-hostap_2_11+
Copyright (c) 2004-2024, Jouni Malinen <j@w1.fi> and contributors

This software may be distributed under the terms of the BSD license.
See README for more details.


Selected interface '[Your Device name]'

Interactive mode

>

こんな感じの対話型シェルが起動するので、以下のようにコマンドを入力します。

wpa_cli
> add_network
0
> set_network 0 ssid "[Your SSID]"
> set_network 0 psk "[Your passphrase]"
> enable_network 0
<2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]
> save_config
OK
>quit

これで、もう一度最初に実行したコマンドを入力して、ネットワーク接続を確認してみます。

shell
root@archiso~ # ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
  link/ether ***
  altname ***
  altname ***
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
  link/ether ***
  altname ***

ネットワークに繋がりました。
次に、DHCPの設定をします。以下のコマンドを実行します

shell
 root@archiso~ # dhcpcd [Your Device Name]

なんかいい感じになります。
最後にpingコマンドで名前解決を含めたネットワーク接続がうまく行っているかを確認します。

shell
 root@archiso~ # ping google.com

「〜ms」みたいなのがいっぱい出てきたらうまく行ってます。^Cで止まります。

4.インストール編

 では、いよいよArch Linuxをお手持ちのドライブにインストールします。まずは、さっき作ったパーティションをマウントします。[Your Root Partition]がルートパーティション、[Your Boot Partition]がUEFIパーティションです。(sda〜、sdb〜みたいなやつ)

shell
root@archiso~ # mount /dev/[Your Root Partition] /mnt
root@archiso~ # mkdir /mnt/boot
root@archiso~ # mount /dev/[Your Boot Partition] /mnt/boot

必要最小限のパッケージのみをインストールする場合は以下のコマンドで十分ですが、後でネットワーク設定を行う際にwpa_supplicantwpa_cliがあったほうが楽なので、一緒に入れておきます。あと、エディタとしてnano(他のCUIエディタのほうが好きな人はそれでも全く問題ないはずです。)も入れておきます。

shell
root@archiso~ # pacstrap -K /mnt base linux linux-firmware wpa_supplicant wpa_cli nano

まあまあ時間かかるので気長に待ちます。

 終わったら再起動して、さっきArch Linuxをインストールしたパーティションから起動します。

IMG_7772 2.jpg

こんな感じになったらひとまずインストール完了です。

5. おわりに

 今までまともにLinuxを触ったことのない私でも、ブログなどを参考にしながら自力でArch Linuxをインストールすることができました。Arch Linuxのインストールを通して、OSに対する理解が少し深まった気がします。
インストールで苦戦する過程でもいろいろと勉強になりますので、Arch Linuxを試してみたい!って人は気軽に試してみましょう!アドカレには間に合いませんでしたが、気が向いたらi3の設定やIMEの設定の話も書きたいなと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?