「linux」カテゴリーの記事一覧
ラズパイにapache2とPHP7とmariaDBをインストール
apache2
apt install apache2
PHP7.0
apt install php php-mysql php-gd php-mbstring
mariaDB
apt install mariadb-client mariadb-server
とりあえず、これで動くみたい。apache2は/var/log/apache2がないと起動時にエラーになるため、RAMディスクで/var/logを構築している場合は、apacheをrc.localより後に起動するように設定する。
ラズパイのext4ジャーナルを無効にする
ラズパイのSDメモリカードへの書き込みを減らすため、ファイルシステムのジャーナルを無効にする。
ラズパイで
tune2fs -o journal_data_writeback /dev/mmcblk0p7
/dev/mmcblk0p7は/にマウントされているデバイス。/etc/fstabを見ると分かる
ラズパイをシャットダウンしてSDメモリカードを外す。他のDebianのマシンにSDメモリーカードを差して、自動マウントされたらアンマウントしておく
tune2fs -O ^has_journal /dev/sdb7
/dev/sdb7はSDメモリカードの/の領域。SDメモリカードをラズパイに差して起動して、ラズパイで
debugfs -R features /dev/mmcblk0p7
で、結果にhas_journalがなくなっていれば、無事ジャーナルが無効になっている。
ラズパイZERO WのBluetoothがWindowsより使いやすい
ラズパイZERO WのBluetoothが使いやすい。Raspbianをインストールした直後から使える。BluetoothマークのメニューバーアイコンをマウスでクリックするだけでBluetoothキーボードとペアリングできた。WindowsだとBluetoothのドライバをインストールしたり、専用アプリでペアリングしたりで面倒だった。最近のWindows10だともっと楽になっているかもしれないが。
ラズパイZERO Wをサーバーにすると配線がシンプルに
ラズパイZERO WをThinkpadの代わりにサーバーにする計画は着々と進んでいるが、ラズパイZERO Wは消費電力が少ないだけでなく、配線がすごくシンプルになることが分かった(って、買う前から分かっていたはずだが)。ACアダプターから短いUSBケーブルで電力を供給するだけ。後は何の配線も要らない。フリスクの箱くらいの筐体をUSBケーブルの先につなげるだけ。置き場所も自由に選べる。すごく便利だ。
あと、コストも安い。ラズパイZERO W本体が1300円。いくつでも買えるラズパイZERO WHだと1800円。SandiskのA1仕様16GB マイクロSDメモリカードが800円。電力を供給するUSBケーブルが162円(スイッチサイエンス)。ACアダプタがAnker PowerPort 6 Liteだとアマゾンで2099円。この6ポートのACアダプタから4台のラズパイへ電力を供給しているので、ラズパイ1台当たりは2099/4=525円。公式ケースが648円。高い方のZERO WHで計算しても合計で1800+800+162+525+648=3935円。4千円弱でサーバーが1台手に入るのだ。これは安いよ。
ラズパイのサービス起動順序を確認する
ラズパイに/etc/rc.localがあるのは良いのだが、こいつはsystemdで管理されているrc-localというサービスなのだ。放っておくと、他のサービスと同時に起動・実行される。他のサービスがrc.localの実行結果を当てにしていたりすると、エラーになってしまう。そのようなサービスは、rc.localの実行が終わってから起動するように設定しないといけない。まず生きているサービスを確認する。
systemctl list-units –type=service
私の場合、rc.localにRAMディスクの設定を書いてあるので、そこに書き込みそうなサービスであるcron, ntp, rsyslogあたりはrc.localの後に起動したい。
/etc/systemd/system/multi-user.target.wants/
に各サービスの設定ファイルがある。それらのファイルの[Unit]の項に
After=rc-local.service
を書き加える。
ラズパイはデフォルトでrc.localが生きていた
ラズパイをいじっていて気付いたのだけど、ラズパイはデフォルトで/etc/rc.localが生きていた。raspbianの元であるDebian Stretchでは、インストールしないと/etc/rc.localは動かない。ラズパイは組み込みなどに使う人が多いのを考慮してrc.localを生かしているのだ。
systemctl status rc-local
とやると、/etc/rc.localが生きているかどうか分かる。コマンドのrc-localは誤記ではない。サービス名はrc-localなのだ。
Debian Stretchで自動ログイン
タブレットはキーボードが付いてないので,起動時にログインしろと言われるとちょっと困る.そこで自動ログイン.ウインドウマネージャーによっていろいろ違うらしいが,私のlxdeの場合は
/etc/lightdm/lightdm.conf
を編集して以下の2行を追加
autologin-user=ログインしたいユーザ名
autologin-user-timeout=0
追加する場所はどこでも良い訳じゃあなかった.[Seat:*]と書かれた行の後に追加しないと正しく動かない