にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2017年08月15日

シンプル・ミニマムOS #archLinux インストール&初期設定 その1

archlinux.jpg

世間で評判のArch Linuxをインストールテストしてみました。
参考サイトさんそのままですが、若干の変更を加えてあります。
一部パッケージと設定が修正されているためでした。
興味のある方は是非試してみて下さい。

●Arch Linuxのインストール
今回はこちらを参考にしました。
感謝です。

インストールガイド
Arch Linuxをインストールする

●ArchLinuxのダウンロードとISOファイル
ArchLinuxのISOファイルは公式サーバにあり、
x86-64の一つしかありません。
ダウンロードしたらWindowsならRufsでUSBに焼きましょう。
USB上にファイル構成があるのを確認してから
PCに刺して起動します。

http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/

●USB起動したのちの設定
最初はキーボードの設定
日本語キーボードなら

loadkeys jp106

英語キーボードならpc105でしょうか
次に日本語フォントを指定

setfont Lat2-Terminus16

ネットワークに接続します
端末から

wifi-menu

SSIDとパスワードを入力するとインターネットに繋がるはずなので

ifconfig -a

と入力するとDHCPが効いていれば
Wifiのwlp2s0あたりにIPアドレスが入っているはず。
確認の為、適当なアドレスにpingを入れてみます。

ping -c 3 archlinuxjp.org


次にディスクのパーティション設定
Windowsパーティションとか消えるので自己責任で。
危険です。

fdisk /dev/sda

第1HDDのパーティションのはず

画面が変わったらmでコマンドリストを表示します。
pを押すと現状のパーティションリスト
nで新規パーティションの作成。PrimaryにメインとSwapを作成
MBかシリンダ単位で入力
スワップとかはパーティションを作った後に
tを押して82番のパーティションに変更します。
変更が終わったらwで保存して終了。

もちろんパーティションは全部消えるので注意しましょう。
マルチブートしたい場合は、UbuntuのLIVECDとかの上で
gpartedを使ってパーティションの修正と調整しましょう。
それが一番です。

次に作ったパーティションをEXT4にフォーマット

mkfs.ext4 /dev/sdaX

Xには作ったパーティション名を。消さないように
スワップも入れておきます。

mkswap /dev/sdaY
swapon /dev/sdaY


●ArchLinuxのインストール、pacstrap
次にインストールするために作ったHDDパーティションをマウント
今回は/dev/sda1に入れます。

mount /dev/sdaX/ /mnt/


インストール前にミラーサーバの設定

nano /etc/pacman.d/mirrorlist

でサーバ名を変更します。公式のはやや重たいです。
日本のサーバとmirrors.evowise.com以外はコメントアウトすると
速いかもしれません。

準備が整いましたらArchLinuxのインストール開始です。
まずはCUIで

pacstrap -i /mnt base base-devel linux linux-firmware

pacstrapはbootstrapのArch版で、
マウントしたストレージにルート構造を作成します。
ダウンロードが終わったらCoreパッケージの選択画面が出るので
とりあえずALLを選択しておきます。
パッケージ名がずらりと出てきますのでYを押すとダウンロード開始。
大体263MBくらいですかね。間に一休みします。
pacstrapのインストールが終わったらHDD側の初期設定。重要。

まずはfstabの設定を。
HDDの書き込み権限などを変更します。
再起動した際にfstabを読み込みますので注意。

genfstab -U -p /mnt >> /mnt/etc/fstab

たぶん修正はそれほど不要かとは思いますが、
もし再起動して書き込みエラーが発生した場合は、
再びUSBから起動して修正すれば大丈夫です。
/etc/fstabに書かれたUUIDを覚えておくとタブレットとかでは起動が楽です。一応。


●arch-chrootで初期設定
作った環境は最小限なので、このままでは殆ど何もできません。
chroot環境を用いて初期設定します。

arch-chroot /mmt /bin/bash

・locale.genの設定
設定ファイルを編集します。

nano /etc/locale.gen

⇒下記2行をコメントアウト
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8

で実行

locale-gen

参考サイトにもあるように、文字化けするので
まず英語に設定しておきます。

echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

・キーボードとフォント設定
chroot環境で再び設定

loadkeys jp106
setfont Lat2-Terminus16

再起動しても設定を保存するために

nano /etc/vconsole.conf

テキストエディタで下記を入力して保存

KEYMAP=jp106
FONT=Lat2-Terminus16

・タイムゾーンの設定

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

・ハードウェアクロックの設定

hwclock -w -u

・ホストネームの設定
好きな名前を設定。

echo <host名> > /etc/hostname

・DHCPの設定
IPアドレスをDHCPで自動的に取得する人は

systemctl enable dhcpcd.service


dhcpcdとNetworkManagerが同時に起動するとネット接続が出来なくなります。
NetworkManagerを後で入れる時はご注意を。
その時はバッティングしてしまいますので、
dhcpcdをstopさせます。

$ systemctl stop dhcpcd.service

もしこれでNetworkが繋がる様になったらdhcpcdが悪さしています。
systemctlで止めてしまいましょう。

$ systemctl disable dhcpcd.service


・Rootパスワード設定
パスワードを登録します。

passwd

・ユーザーの追加
新規ユーザーとパスワードを追加

useradd -m -g users -G wheel -s /bin/bash <ユーザー名>
passwd <ユーザー名>

●sudoセッティング
主にArchWikiに書いてあります。
sudoが使えると便利。

pacman -S sudo

したらvisudo

su
visudo

でエディタの画面が出たら、一先ず

root ALL=(ALL) ALL

の#をコメントアウト。
細かい設定はArchWikiを読んで下さい

https://wiki.archlinux.jp/index.php/Sudo


●追加パッケージのインストール
このままだと何にも使えません。
再起動する前に必要なパッケージをあらかじめ入れておきます。
なおUSBから再起動させればwifi-menuは使えますので
困った時はUSBから起動してパッケージを追加してみて下さい。

実はここからがArchLinuxで重要。

・X環境を入れる
今回はIntel VIDEO関係をインストール。
NvidiaやRadeonは別パッケージで。

pacman -S xf86-video-intel xorg-server xorg-apps xorg-xinit mesa xf86-input-synaptics


・統合デスクトップ環境のXFCE4とlightdmをインストール

pacman -S xfce4 lightdm lightdm-gtk-greeter
systemctl enable lightdm.service

念のため、startxの設定をしておきます。

nano .xinitrc

で一行追加して保存

startxfce4

これで再起動した際にたぶんlightdmが起動してxfce4が起動するはず。
たぶん。

・ネットワークマネージャをインストール
X環境からでないとネットワークマネージャは使えませんので注意

pacman -S networkmanager network-manager-applet gnome-keyring
systemctl enable NetworkManager.service

再起動してXが起動すればネットワークマネージャも起動するはず。

・ブートローダーgrub2のインストール(LegacyBIOS用のみ)
HDDからOSを起動する際にはブートローダーが必要です。
ブートローダーを上書きするときはWindowsブートローダが消えるので注意。
最悪、起動しなくなります。

pacman -S os-prober
pacman -S grub
grub-install --target=i386-pc --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg


Ubuntu系がインストールされている場合、ArchからGrub2を入れなくても
Ubuntuからsudo update-grubコマンドで自動設定されますので
上書きして消さないようにご注意を。


・ログアウト&再起動
exit
umount -R /mnt
reboot


●良くある困った事
・Windowsを消しちゃった。助けてください。
⇒諦めてください。ArchLinuxはそういうものです。
 消えるのが怖いならArchLinuxを絶対に使わないでください。
 他のLinuxディストリビューションは沢山あります。
 例えばWubiを使えば、Windowsが消える事はまずありません。

・インターネットに繋がらない(1回目)
⇒有線LANかWifi-menuを使ってみてください。
 簡単です。

・内蔵無線LANが認識しません。
⇒Windowsタブレットとかではよくあります。
 とりあえずUSB無線LANか有線LANで繋いでみてください。

・fdiskの使い方が分からないよ。
⇒OSの入っていないまっさらなPCかエミュレータで実験してみて下さい。
 下手に触ると全部消えるので安易なテストは危険です。
 
・fdiskでリサイズしたいです。
⇒fdiskでHDDのリサイズは止めた方が良いです。
 他のディストリのLiveCDから起動してgpartedを使って下さい。

・fdiskでSwapパーティションが作れないのですが。
⇒まず最初にfdiskを起動してLinuxパーティションを拡張パーティションで作成します。
 その後にtコマンドでパーティションの変更を82番で行います。

・WindowsタブレットのUEFI32bitでArchLinuxのUSBが起動しないのですが
⇒ArchLinuxのISOファイルはUEFI32bitに対応していません。
 bootia32.efiをコピーして、grub.cfgを自分で書き直す必要があります。
 この手の内容はKapperは既にテスト実施済みなので他のブログに書きます。

・pacstrapって何?
⇒bootstrapというコマンドのArchLinux版でLinuxのルートフォルダ構成と
 初期ファイルをダウンロードして構築します。
 Debianとかで有名なインストーラーです。
 ちなみにLFS(LinuxFromScratch)では全部ソースコードからgccでビルドします。
 LFSをやってみると面白いですよ(はーと
 NetBSDの場合、pkgsrcがありKernelと完全に独立しています。

・arch-chrootって何?
⇒OSの上に更にOSを起動するchrootコマンドです。
 母体のKernelやネット設定が引き継げるので設定時に使います。
 
・ブートローダーのGrubの設定が分からないんだけど
⇒LegacyBIOSの場合、下手に上書きするとOSが全て起動しなくなります。
 危険なのでデュアルブートの場合はUbuntuなど他のOSから設定しましょう。
 自己責任で。

・ブートローダーを上書きしたらOSが起動しなくなった。
⇒凄く危険な状態です。
 UbuntuをLiveCDから起動してgrub.cfgを設定してみて下さい。
 個人的な経験だとパーティション上書きできずに直らないです。 
 あくまで参考までに。

 http://niwatako.info/20101206/article629.html

・Xが起動しないんだけど
⇒関連パッケージと設定が足りません。
 エラーメッセージを読んで設定してみて下さい。
 初期設定のままだとtwmやターミナルがないってエラーが出ますので注意。
 .xinitrcを書き換えたら起動しました。

・GMA3600とかPowerVR系のGPUでXが起動しない。
⇒基本です。仕様です。
 Intel Graphics Driverがご認識して衝突してます。
 手動でFramebufferにしないと駄目です。
 そこはArchWikiを読んで下さい。

・再起動してHDDから起動させたらインターネットに接続しない(2回目)
⇒基本です。
 仕様です。問題ありません。
 ISOファイルには様々なパッケージと初期設定されている違いがあります。
 packstrapだけではネット環境のパッケージはインストールされません。
 追加でパッケージを入れなおす必要があります。 
 今回はその為にNetwork-Managerのインストール方法を追加しました。

・再起動してHDDから起動させた際に〜出来ないんですけど?
⇒arch-croot以後からの設定が不足しています。
 再度USBから起動して設定しなおせば大丈夫です。
 困ったらUSBから起動して、インターネットに接続。
 pacman -Sでパッケージを追加インストール。
 細かい話はArchWikiをググって読んでみてください。
 おけ?

・日本語入力、日本語環境は?
⇒長くなったので後日追加します。

・wifi-menuを2回目起動以降でも使いたいんだけど・・・
⇒僕も分かっていません。
 先にnetwork-managerが動いてしまったので・・・


●結論
Archを入れる事は結構Linuxの勉強になります。
でもそれ以上のメリットはありません。
手間ばっかり掛かって複数台設定するには時間がかかりますし
OS環境を壊すこと必須なので初心者にはお勧めしません。
自己責任で。
ローリングリリースとインストールだけならManjaroもありますし。
そもそもArchはRaspberryPiなどを除くと、
x86-64に特化しているので応用が利きません。
ので、結局PCのみの利用になるはずです。
せっかくのユーザーが一般的なPCに限定されています。

Webドキュメントが充実していますので、
*BSDの勉強用にも使えます。中身は大きくは変わりません。
ARMとかPowerPCとかMIPSとか使いたくなったら
DebianやGentoo、NetBSDにも手を出してみると良いかも。
posted by kapper at 02:51 | Comment(0) | Arch Linux
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ