デビアンな生活 Arch

デビアンな生活

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

Nextcloud

NextCloudを使うのが,Arch再使用の理由なので,さっそくセットアップ。
Sqliteは,テスト,軽量,シングルユーザーとのことなので,今回はMariaDBを選択。
対象のサーバーのメモリが限られているので,ウエブサーバーはNginxを選択。
sudo -iでrootに移行し,pacman -S phpでphpのインストール
nextcloud 12で必要なphpのモジュールは,
ctype, dom, gd, iconv, json, libxml, mbstring, posix, SimpleXML, XMLReader, XMLWriter, zip,zlib
pdo_mysql, curl, fileinfo, bz2, intl, mcrypt, openssl, opcacheなど。
mysqliは不要。
php -mで確認後,/etc/php/php.iniのextensionsをコメントアウト。
pacman -Ss php-でインストールが必要なモジュールを確認して,
pacman -S php-gd php-intl php-mcryptをインスト。

pacman -S mariadbでmysqlをインストール
指示通り,mysql_install_db --user=mysql --basedir=/usr --datadir=/vat/lib/mysql
systemctl start mariadb
mysql_secure_installationでrootのパスワードなどを設定。
mysql -u root -p
CREATE database `nextcloud` default character set `utf8` collate `utf8_unicode_ci`;
CREATE USER `nextcloud`@'localhost' IDENTIFIED BY 'passwd';
GRANT ALL PRIVILEGES ON `nextcloud`.* TO `nextcloud`@`localhost`;
quit

pacman -S php-fpmをインスト
/etc/php/php-fpm.d/www.conf の env[PATH] = /usr/local/bin:/usr/bin:/bin をコメントアウト
/et/php/php.iniを編集し,open_basedir=を設定。後述。
systemctl start php-fpm

pacman -S nginxでインストール
mkdir /etc/nginx/conf.d/
vi /etc/nginx.confで,httpセクションの最後に以下を追加
server_names_hash_bucket_size 64;
include conf.d/*.conf;
/etc/nginx/conf.dにarch wikiのcloud-initial.confをコピーする。
Nextcloudの本家のconfだと,ドキュメントディレクトリが違うので,arch wikiのものを使用する。
https用のnextcloud.confは後で使用する。
nignx -tで設定を確認
ディレクトリの設定のスクリプトがないので,Arch Wikiのset-nc-permsを流用。
browserで確認すると

以上で,ドメインにアクセスするとnextcloudが動くはず。
Cannot write into config directory!のエラー。
原因は、/etc/php/php.iniのbasedirなので、
open_basedir = /usr/share/webapps/nextcloud/:/etc/webapps/nextcloud/:/usr/share/nginx/html/:/dev/urandom:/tmp/:/var/tmp/に変更して、systemctl restart php-fpm。
/tmpの追加が必要だと分かるまで、かなり悩んだ。uploadディレクトリを分けたので,/var/tmpも追加。

systemctl enabel nignx
systemctl enabel php-fpm
systemctl enabel mariadb
起動時の設定もしておく。

日本語とサウンド

x-windowsは、pacman -S xfce4で手っ取り早く導入。
機動は、startxfce4でOK。
ブラウザは、pacman -S midori flashpluginでやってみたが、ときに強制終了するので、
pacman -S seamonkey。
日本語フォントは,pacman -S otf-ipafontで簡単。
問題は,日本語入力の選択。インプットメソッドは,kinput2, SCIM, ibus, Fcitxと変遷してきたようだ。
いまは,Fcitxが素直な選択と思われるが,中国産なのでなんとなくいや。
ウテナとアンシーが忘れられないので、昔ながらのuimにしてみる。
まだ公式リポジトリにあるので、pacman -S uim anthyでよい。
ターミナルで、uim-toolbar-gtk &を動かすと、言語ツールバーが起動するので、Preference-Global settings-Input method deploymentでDefault input methodでanthy-utf8を選択しておく。
日本語のオンとオフはShift+Spaceなので、そのまま使える。
Spaceで変換、Enterで確定、Escapeで取消、Ctrl+pで前候補。
次回以降もツールバーが必要であれば、自動起動のために、Applications-Settings-Settings Manegerで
Session and Startup-Applicaiton Autostart-Addで設定しておく。
uim-fep -u anthyでコンソールでも使えるはずだが、フレームバッファのターミナルが公式ではないようなので、残念。
つぎにサウンド。pacman -S alsa-utils導入後、alsamixerを起動して、F6で確認するとデフォルトがHDMIになってるため。cat /proc/asound/modulesで確認すると、HDMIもPCHも同じモジュールを使用しているので、順番を入れ替える
echo options snd_hda_intel index=1,0 > /etc/modprobe.d/alsa-base.conf
再起動したら、音が出た。
念のため、cat /proc/asound/cardsで確認したら、alsamixerで音量調節。
alsactl storeで保存

pacman -S xarchiverは必要。
Applications-Settings-Power Manegerで、Status notificationsとSystem tray iconをONにしておく。
Web browserを複数インストールした時は、Applications-Settings-Preferred Applicationsで選んでおくと、Panelで起動するものを選択できる。
pacman -S mousepadでdefault text editorも。
【“日本語とサウンド”の続きを読む】

Arch linuxの更新というか再インストール

2年ほど放置していたarchを更新しようとしたが流石に上手くいかない。share libraryのリンク切れは、ln -sでリンクを作成。
PGP signatureのエラーは、pacman-keyring -uで更新しようとしたが、
libcryptoが古すぎてエラーになるので、別システムからpacstrap /mnt libcrtptoで送りこみ。
最後は,pacman -S --force packageで,conflictがあるパッケージを無理やり更新。
形は整ったが,systemd関連がおかしい。
結局,再インストールしてしまった。
かなり前から,更新を続けた挙句の2年放置がとどめをさしてしまった。
思えば,4年の付き合いであった。新規一新,クリーンインストールだ。

Arch Linux MBR+BIOS編

ARCHを久々にインストール。今回は、MBRのパーティションにセットアップ。
インストールガイドどおりで問題ないのだが、ブートローダーにsyslinuxを使用したので、嵌ってしまった。
ISOをダウンロードしたら、DDWinでUSBに書込み。
USBから起動したら、インストールするパーティションを、"fdisk -l"で確認したら、ext4でフォーマット。
mkfs.ext4 -O \^64bin /dev/sdxx
ここで、64bitオプションを無効にしておかないと、syslinuxの起動の時に、"Failed to load ldlinux.c32"でエラー終了する。
あとは簡単。
"wifi-menu"で無線LANに接続したら、"ping www.yahoo.com"でインターネットアクセスを確認。
mount /dev/sdxx /mnt
pacstrap /mnt base base-devel
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
"vi /etc/locale.gen"で、en_US.UTF-8とja_JP.UTF-8をコメントアウトして
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo hostxxx > /etc/hostname,反映されるのは再起動後。
vi /etc/hosts
pacman -S syslinux
syslinux-install_update -ima
vi /boot/syslinux/syslinux.cfg
wifi-menuのために、"pacman -S dialog wpa_supplicant"を導入しておく。
exit
reboot
wifi-menuで無線LANに接続したら、次回から自動化のために
pacman -S wpa_actiondを導入。
ip linkでポートの確認
systemctl enable netctl-auto@wlp3s0でセット。

vi /etc/pacman.confで,Colorのコメントを外すと表示がわかりやすい。
その他、pacman -S pkgfileを導入して、pkgfile -uで更新。
その後、pkffile arch-chrootで検索して、pacman -S arh-install-scriptsをレスキュー用に導入しておく。
pacman -S sudoも入れたら、visudoで、%wheel ALL=(ALL) ALLを追加(コメントアウト)。
useradd -m -G wheel xxxで常用アカウントを追加するが,固有のグループを作らないときは,-g wheel。
pacman -S bind-toolsで,digとhostをインストール。
【“Arch Linux MBR+BIOS編”の続きを読む】

無線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も日本語。
前のページ 次のページ

FC2Ad