デビアンな生活 Arch

デビアンな生活

日本語コンソールベースのDebianTIPS集として始めたが、結局LXDEになってしまった。

無線LAN

upgradeのために、パッケージをアンインストールしてしまったので、再設定。
pacman -S wireless_tools
pacman -S netctl
wifi-menu
これで接続OK
以前のnetcfgパッケージがnetctlに更新されており、さらに簡単になった。

Arch Linux upgrade

ひさびさに動かすと、pacman-Syuでエラーが出て、upgradeできない。
error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
よく調べると、/bin, /sbin, /usr/sbinのディレクトリがリンクに変わったためのようだ。
unofficialパッケージをインストールしていなければ、
上記のディレクトリを削除して、upgradeをかければ、とりあえず問題なさそう。

ACRH EFI boot menu

EFI boot loaderには、rEFInd, gummiboot, grub2などがあり、いずれもArch Linuxでサポートされている。
それぞれ試してみたが、gummibootは他のパーティションにあるカーネルをロードできない。
grub2はいろいろ設定できて便利だが、起動時にUSBなどスキャンをしてくれない。
ということで、rEFIndで起動して、grub2につないで、起動することにした。
ARCHISOのなかにあるshellx64_v2.efiをshellx64.efiにリネームしてEFI/toolsに入れておくと、shell commandが使える。
bcfg boot add 0 fs0:\EFI\refind\refind_x64.efi "rEFInd" でBCDに登録して
bcfg boot dump -v -b で確認できる
fatやext2(read only)のファイルシステムにアクセスできて、cd, ls, mv, cp, type, editなどのコマンドが使えるので、便利。editはctrl+eでヘルプが表示される変わった仕組み。
起動時にUSBメモリも含めてlinuxをスキャンしてくれるので、/boot/refind_linux.confを作って、rootとinitrdなどのオプションを設定しておけば、直接起動できる。
ただし、カーネルごとの区別してくれないので、F2でサブメニューに移って、適切なものを選んでやる必要がある。
/boot/refind_linux.confの例
"linux-ck" "root=/dev/sda5 initrd=initramfs-linux-ck.img quiet ro"
"linux" "root=/dev/sda5 initrd=initramfs-linux-fallback.img quiet ro systemd.unit=rescue.target"

ARCH ネットワーク

パッケージをインストール
pacman -S ifpulgd
/etc/conf.d/netcfgを変更
WIRED_INTERFACE="enp9s0"
EWIRELESS_INTERFACE="wlp3s0"
サービスをスタート
systemctl enable net-auto-wireless
systemctl enable net-auto-wired
systemctl enable dhcpcd@enp9s0

ARCH linux-ck

Arch linuxのクラッシュに備えて、ck-linuxカーネルを導入しておく。
/etc/pacman.confを編集して、以下を追記
[repo-ck]
SigLevel = PackageRequired
Server = http://repo-ck.com/$arch
キーを追加して、インストール
pacman-key -r 5EE46C4C
pacman-key --lsign-key 5EE46C4C
pacman -Syu
pacman -S linux-ck-ivybridge
grub-mkconfig -o /boot/grub/grub.cfg

ARCH 日本語

日本語入力のためのインプットメソッドには、uim, scim, ibusとあるが、今後を考えて、ibusを選択。
anthy ibus ibus-anthyをインストール
Application Menu > Settings > Ibus PreferencesのInput Methodsで、USとAnthyを選択。
Application Menu > Settings > Session and Startup - Application Autostartでibusを開始。
フォントは、ttf-hanazonoをインストールした。
firefox firefox-i18n-ja でBrowserも日本語。

Arch Linuxインストール

いよいよArch Linuxのインストール。
wifi-menuで無線LANに接続しておく。
なぜか、manのインデックスがおかしくなっており、man -kで検索できなくなっていたので、mandbでインデックスを作り直し。
pacman -Ss stringでパッケージに検索ができるが、コマンドなどが含まれるパッケージを具体的に検索するために
pkgfileをインストールしておく。
ユーザの作成はadduserが見当たらないので、useraddを使う
useradd -m -G wheel -s /bin/bash 名前
passwd 名前
pacman -S sudo
visudo # wheelを有効にしておく
一般ユーザでログインしなおしたら、X windowのセットアップ
xorg-server xorg-apps xf86-video-intel
x86-input-synaptics xf86-input-keyboard xf86-input-mouse をインストール
~/.xinitrcを設定していない場合は、/etc/X11/xinit/xinitrcが動くため、
xorg-twm xorg-xclock xterm をインストール
startxで起動が確認できたら、
fxwm4 xfce4 xfce4-goodies をインストールして
startxfce4でxfce4をテスト
/etc/skel/.xinitrcをコピーして、~/.xinitrcを作成

日本語キーボードの設定のため
/etc/X11/xorg.conf.d/10-evdev.confの
keyboardのセクションに
Option "XkbLayout" "jp"を追加する

ARCH UEFIブートとGPTハードディスク

まず、マルチブートの環境を整えるために、BOOTメニューを編集しなければならないが、OSをUEFIブートしなければ、それができない。しかし、うれしいことに、Arch LinuxのISOではEFIブートがサポートされている。
Unified Extensible Firmware Interface
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Create_UEFI_bootable_USB_from_ISO
上記のページに詳しく記載されているが、実際に行ったのは以下の通り。
1)UEFIブートのUSBメモリを作成する
USBメモリをFAT32でフォーマットする。HDD形式でもFD形式でもOK。
その後、ISOイメージの中身をコピーする。大文字と小文字を識別するので、Windowsでのコピーは要注意。
これだけで、UEFIブートできるが、Arch Linuxの読み込みのため、ボリュームラベルをARCH_201303などに変更しておく。
2)Arch Linuxのインストール
E130のハードディスクのwindows 8のパーティションをあらかじめ縮小して開けておく。
loadkeys jp106でキーマップの変更。
gdiskでインストール用パーティションを確保する。今回は、ルート用パーティションのみ作成した。
mkfs.ext4 /dev/sda5でフォーマットするが、その前にリブートしておかないとパーティションのサイズを正しく認識しないことがある。
mount /dev/sda5 /mnt
wifi-menu wlp3s0 インターネットへの接続
pacstrap /mnt base base-devel
genfstab -p /mnt >> /mnt/etc/fstab
arch-chroot /mnt ターゲットに切り替え
echo KEYMAP=jp106 > /etc/vconsole
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
echo ホスト名 > /etc/hostname
vi /etc/locale.gen 日本語のja_JP.UTF-8などをコメントアウト
locale-gen
pacman -Syu
pacman -S grub-efi-x86_64
mount /dev/sda2 /boot/efi
grub-install
grub-mkconfig -o /boot/grub/grub.cfg
これで、リブートできるのですが、rootにパスワードを設定しておかないとログインできません。
また、インターネットへの接続のためのパッケージをここでダウンロードしておかないと、何もできないので、とりあえず、netcfg, wpa_supplicant, dialog, wireless_toolsなどをインストールしておきます。
また、grub2はwindows 8のブートには失敗するので、windows boot manegerをgrub2のメニューに加えるために、/boot/grub/custom.cfgを作成しておくと、/etc/grub.d/41_customで取り込んでくれます。
vi /boot/grub/custom.cfg
menuentry "windows boot maneger" {
efiboot=/EFI/Boot/bootx64.efi
search --set=root --file $efiboot
chainloader $efiboot
}
これなら、windows 8は高速起動のままで、Arch Linuxに切りかえることができます。
ノートとのmultibootなので、システムクロックをUTCとした。
Windows 8のレジストリを変更
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
RealTimeIsUniversal=(DWORD)1
Linuxでは、timedatectlで確認できる
timedatectl set-local-rtc 0でUTCに設定

Arch Linux

Lenovo ThinPad Edge E130を購入した。さっそく、SSDに載せ替えて、メモリを16Gに増設。本体は丈夫そうだが、かなり重い。Windows 8は使いにくいが、勉強と思って、しばらく辛抱。でも、いろいろ遊んでみたいので、やっぱりLinuxをトライ。
まずは、LiveCD。以前使ったことのあるPuppyは快適に動くが、普段に使うには物足りない。なによりも3系列に並列になっているので、今後心配。16Gもメモリがあるので、x64で動かしたい。サーバで使用しているDebianは最新ではないので、面白くない。ubuntuはDebianベースなので、もっとも違和感なく移行できるが、これも最新とは言えない。
最新でないとSSDがGPTになっているのだが、そのUEFIブートに対応できていない。それで、ローリング・リリースを採用しているGentooかArch Linuxの2択となった。まず、GentooベースのSabayonを入れてみると、きれいに自動認識できているうえに、UEFIブートにもきれいに対応している。デスクトップもきれいなので、これに決めかけたが、どうも今の流れは、ソースベースのGentooより、アーキテクチャが限定されてもシンプルなArchに分があるようだ。というわけで、Arch Linux導入に決定。
GPT&UEFIにこだわるわけは、BIOS paremeterのdefault loadをするとUEFIのブートメニューが壊れてしまったからで、結局この仕組みの理解に多大な時間を割いてしまった。いままでのBIOS+MBRが懐かしい。
前のページ

FC2Ad