auditのパーミッション

# pacman -Syuのアップデートで、/var/log/auditのパーミッションエラーとなった。
warning: directory permissions differ on /var/log/audit/
filesystem: 755 package: 700
パーミッションは755になっているが、700にしろと丁寧に表示されているので、変更して解決。
# chmod 700 /var/log/audit
# ls -ld /var/log/audit

pacmanとexpacなど

いろいろ設定していたら,変更したファイルがわからなくなった。
pacman -Qii | grep ^MODIFIEDで設定を変更したファイルがわかる。
パッケージのファイルを抽出する場合,tarを使えばよいのだが,
tar: Ignoring unknown extended header keyword ‘SCHILY.fflags’の警告がでる。
気持ちがよくないので,pacman -S libarchiveでbsdtarをインストールする。
# bsdtar tvf /var/cache/pacman/pkg/package* *file.conf
目的のファイルを確認する。
# bsdtar xOf /var/cache/pacman/pkg/package* etc/dirname/file.conf > orig.conf
目的ファイルを標準出力。復元するときは、属性等が必要なのでxで抽出。
diff -y –suppress-common-lines file.conf orig.confで変更点が確認できる。

パーケージリストだけなら、以下で簡単に表示される、。
# pacman -Qe

expacをインストールすると、以下のように、最近インストールしたパッケージの表示ができるので、便利。
# expac -t ‘%Y-%m-%d %T’ ‘%l\t%w\t%n’ | sort | tail -n 20

pkgfileもパッケージ内容が確認できて、検索できるので便利。
検索前に、pkgfile -uでデータベースを更新しなければならないが、自動更新のためのタイマーが付属しているので、セットすると毎日自動更新してくれる。
# systemctl start pkfile-update.timer
# systemctl enable pkgfile-update.timer

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 hname > /etc/hostname,再起動時のホスト名を設定。
# hostname hname; 現在のホスト名を変更。
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で更新。
その後、pkgfile arch-chrootで検索して、pacman -S arh-install-scriptsをレスキュー用に導入しておく。
pacman -S sudoも入れたら、visudoで、%wheel ALL=(ALL) ALLを追加(コメントアウト)。
useradd -m -G wheel xxxで常用アカウントを追加するが,固有のグループを作らないときは,-g wheel。
# gpasswd -a user group //後から追加する場合
pacman -S bind-toolsで,digとhostをインストール。

syslinuxは昔から慣れていたのだが,どうも最近は更新がない様子。

let’s encryptの定期更新

Arch Linuxでは、標準ではcronがインストールされていない。
cronieまたはfcronをインストールすればよいが、標準にしたがって、timerで、let’s encryptの定期更新。

# cd /etc/systemd/system
# vi certbot.timer
[Unit]
Description=Run bimonthly certbot
[Timer]
OnCalendar=*-01,03,05,07,09,11-01 03:00:00
RandomizedDelaySec=60min
Persistent=true
[Install]
WantedBy=timers.target

# vi certbot.service
[Unit]
Description=bimonthly certbot
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew –quiet –agree-tos

# systemctl start certbot.timer
# systemctl status certbot.timer
# systemctl enable certbot.timer
# systemctl list-timers –all

3か月前には更新できたcertbot renewで以下のエラーが発生する。
Attempting to renew cert (domain.name.com ) from /etc/letsencrypt/renewal/domain.name.com.conf produced an unexpected error: Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.. Skipping.
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/domain.name.com/fullchain.pem (failure)

解決のために、/etc/httpd/conf/extra/httpd-vhosts.confを編集して、以下を追加。
<VirtualHost:80>
ServerName domain.name.com
</VirtualHost>

/etc/httpd/conf/httpd.confを編集して、rewriteモジュールをコメントアウト。
LoadModule rewrite_module modules/mod_rewrite.so

# httpd -t ; syntax check
# systemctl restart httpd
# certbot renew –dry-run; 動作確認
# stemctl daemon-reload; ファイルを修正した場合

日本語とサウンド

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-systray &を動かすと、言語ツールバーが起動するので、Preference-Global settings-Input method deploymentでDefault input methodでanthy-utf8を選択しておく。
日本語のオンとオフはShift+Spaceなので、そのまま使える。
Spaceで変換、Enterで確定、Escapeで取消、Ctrl+pで前候補。
次回以降もツールバーが必要であれば、自動起動のために、Applications – Settings – 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も。

“日本語とサウンド” の続きを読む

xfce4

xfce4を起動したとき、rootでは問題ないのに、ユーザだとなぜか
“no running instance of xfce4-panel was found”のエラー・メッセージが出る。
rm -r ~/.cache/sessions/* で、とりあえず解決した。

“kiosk mode”になって、パネルが変更できない問題も、同様に削除で解決。

日本語キーボードの設定は、echo KEYMAP=jp106 > /etc/vconsoleだが、X11のTerminalでも有効にするためには、
# localectl set-keymap jp106
# localectl //確認できる

pdf viewerは、evinceがあるが、アーカイブのイメージビューワ、つまり漫画を読むために、mcomixをインストール。

logoutのあとのメニューが面倒なので、Applications – Settings – Setting ManagerのSession and Startupで、logout SettingsのPrompt on logoutのチェックを外す。

FreeBSDに挑戦

ThinkPad i1124が泣いている。ThinkPad 240シリーズであり、240xの姉妹機というか、そのものであるが、チップセットの制限で、基盤をいじっても、メモリが256Mbまでしか増設できないのが致命的。HDDをSDDに換装してもWindowsXPでさえ実用的に使用できない。Puppy Linuxを入れてみたが、どうも使いにくい。結局、 Windows2Kで放置していた。 そろそろ、Puppyを再挑戦しようかと思っていたが、次々に32bitのディストリビューションがなくなり、non-PAEのサポートがなくなった。

いろいろ考えていたが、BSD系なら制限がない事に気が付いたので、FreeBSDを入れてみることにした。
USBメモリにFreeBSD-12.0-RELEASE-i386-memstick.imgを書き込み。
i1124はUSBブートができないので、plpbt-5.0.15をダウンロードしてFDに書き込み。
BIOSをリムーバブル起動にセットして、FDブート。plpbtからUSBブートして、FreeBSDのインストールメニューまで問題なく実行できた。
ZFSはレスポンスが悪くなりそうに感じたので、UFSでパーティショニングを自動でした。スワップは、1.5Gb作成された。
LANは、無線ランカードを挿入すると、無事自動認識できるので、ipv4でネットワークを設定する。ただし、挿しっぱなしでは認識しないので一度抜き差する。 AtermWL54SC
Wifiのスキャンはなぜか2回繰り返さないと、SSIDが全部表示されなかった。
後は再起動すれば、無事インストール終了。
hostnameを登録しておかないと、sendmailの起動に時間がかかるので、登録
# vi /etc/hosts
hostname 127.0.0.1

x-windowもインストールしてみた。
pkg install xorgでよいが、startxで確認するとエラー終了する。
/var/log/Xorg.0.logを確認してみると、siliconmotion moduleがないことが原因のよう。pciconf -vl | grep -B3 -A1 displayで確認すると、deviceはSM712 LynxEM+となっている。
Ports Collectionをセットアップして、siliconmotion moduleを導入する。
# portsnap fetch
# portsnap extract
# portsnap fetch update
# cd /usr/ports/x11-drivers/xf86-video-siliconmotion
# make install
startxで確認すると、800×600が少し悲しいが動く。
キーボードが英語設定なので、/usr/local/etc/X11/xorg.conf.dにキーボードの設定を追加。

xfceを導入。pkg install xfce
d-busを設定。
# vi /erc/rc.conf
dbus_enable=”YES”
# pkg install ja-font-ipa
ブラウザをインストール。
# pkg install firefox

日本語IMEも導入。
# pkg install ja-uim-anthy
# pkg install uim-gtk

旧型でも素直にxfceまでインストールできるのは、さすがBSD。
firefoxでブラウジングができるが、速度的には実用は難しい。

Windowsのプログラムのインストール

Winodws 10でLenovo Solution Centerがきれいにアンインストールできなかったようで、プログラムと機能に名前が残っているが、アンインストールもインストールもできない。
レジストリを削除すればよいのであろうが、マイクロソフトのツールがあった。
以下のリンクから、MicrosoftProgram_Install_and_Uninstall.meta.diagcabをダウンロードして実行すると、残骸がアンインストールされて、再インストールできるようになった。
https://support.microsoft.com/en-us/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed

DD-WRT

WHR-G301Nをコンバータにするべく、DD-WRTをインストール。

Open Wrtは、Flash、RAMとも最小をみたすのみで、非推奨になっているのであきらめる。
https://wikidevi.com/wiki/Buffalo_WHR-G300N_v2
https://openwrt.org/ja/supported_devices
https://openwrt.org/toh/hwdata/buffalo/buffalo_whr-g301n_v1

Client Bridgeで動かすためには、build r14896を使う必要がある。
https://wiki.dd-wrt.com/wiki/index.php/WHR-G300N_V2
リンク
Support > Other Downloads › betas › 2010 › 08-07-10-r14896 › buffalo_whr_g300nv2
にある、buffalo-to-dd-wrt_webflash-MULTI.binをダウンロード。
https://dd-wrt.com/support/other-downloads/?path=betas%2F2010%2F08-07-10-r14896%2Fbuffalo_whr_g300nv2%2F

ルータモードで、起動したG301NにLANで接続し、http://192.168.11.1のウェブでファームの更新。
終了したら、電源を入れ直し、http://192.168.1.1でウェブアクセス。
最初にユーザー名とパスワードを設定。
LANでは、DNSmasqでDHCPサーバが動いている。

Wifiに接続するためには、wireless modeをclientかclient bridgeに設定する。
SSIDは、接続するwifiを入力。
wifi securityで接続先のキーを入力。
Security > Firewall ProtectionでSPI Firewallをdisableにする。
それぞれのステップでsave。
すべてセットできたら、最後に、Apply Settings。
https://wiki.dd-wrt.com/wiki/index.php/Client_Mode

初期設定で、telnetが動いているので、接続できる。user rootでpasswdはwebログインと同じだった。nvramなどのコマンドがあって面白い。

問題なく動いていたが、突然Masquaradeできなくなったので、リセットで回復した。記録を取り忘れたが、メモリが少ないためか。定期再起動をすることにした。
Administration, Kep Alive, Scedule Rebootをenableに設定する。

apache 2.4

NextCloudの導入の目的が,巨大ファイルをアップロードしたいためだったが,肝心の巨大ファイルのアップロードがうまくいかない。
イントラのproxyのせいなのか,原因はわからないまま,方針変更。
chunk機能付きHTTPのuploaderとWebDAVで良いのではということで,Nginxに退場いただいて,apacheをインストール。
# pacman -S apache php-apache
久々なので,設定を忘れてしまい,いろいろ難しい。
confが複数ファイルに分かれているのも,ややこしい。
WebDAVが設定できたら,jQuery File Uploadをダウンロードして設定。
server/php/filesにアップしてくれるので,同じディレクトリをWebDAVにすると便利。
# vi /etc/httpd/conf/httpd.conf
httpd-userdir.confは,ユーザのpublic_htmlようなので,不要。
mod_infoを有効にしたら,conf/extra/httpd-info.confは不要。
# httpd -D DUMP_CONFIG | grep -v ‘#’ ; 設定確認