ラズパイのmicroSD延命化

 色々検索してたらmicroSDの寿命の事が書かれていたので、確かにそうだなと言う事で、ちょっとした設定変更。

 PC-Unix全般に言える事だけど、とにかくPC-Unixはログを吐き出しまくる。ローテーションとかしないと溜りまくるイメージw
 それをmicroSD上で行うわけだから、まぁmicroSDでは持ちませんよね。
 今はあまりないと思うけれど、メモリが足りなくなるとストレージをメモリ代わりにするSwapという機能はWindowsなんかでもありまして、処理速度がガクンと落ちるのはどのOSでも同じ。特にラズパイはそれをmicroSD上でやろうってんだから寿命削れちゃいます。
 なので以下のサイトを参考にさせて頂きました。

ラズパイ初期設定の極意!長寿命化し長期安定稼働させる使い方を紹介

 OpenBlocksの時はメモリと内蔵したSSDだったかな、そちらはそこまで気にする必要無かったけど、長年使ってきたmicroSDが1枚お亡くなりになったので…。

 先ずはSwapの無効化

$ sudo apt autoremove -y dphys-swapfile

 「free」を使って確認も。

 次にRAMDisk(メモリをストレージ代わりに使う機能。昔からあって超高速だけど再起動すると中身は消える)を、ログの書き込みが多い/tmpや/var/tmp、/var/logに割り当てます。
 やり方は/etc/fstabを編集します。

$ sudo nano /etc/fstab

 エディタはnanoでなくてもok。
 で、/etc/fstabの最終行に追加するカタチで、RAMdiskを使う様に指定します。

tmpfs   /tmp       tmpfs   defaults,size=256m,noatime,mode=1777   0   0
tmpfs   /var/tmp   tmpfs   defaults,size=256m,noatime,mode=1777   0   0
tmpfs   /var/log   tmpfs   defaults,size=128m,noatime,mode=0755   0   0

 sizeは環境に合わせて変えて良いと思います。ただ少なすぎるとパッケージのインストール時にtmpの容量足りないよと怒られる事があります。参考サイトだと上から256、16、32だったかな。普段のメモリの空きを眺めながら決めるといいですね。
 個人的にはかなり余裕持たせました。NTPとDnsmasqとvsftpd入れただけなので…。
 設定ファイル弄り終わったら、rebootで再起動。

$ sudo reboot

 再起動したら「free」でのメモリ使用量や「df」でマウント状態を確認して下さい。

ラズパイでDNSキャッシュサーバー(Dnsmasq)

 2023/01/13改訂

 今までBIND8→9でしたけど、面倒くさいのでより軽くって事で。
 他にもキャッシュサーバーを軽く見てきたけど、設定が楽。
 ローカルのLANの為にゾーンとか要らない…LAN内の名前解決は単純に鯖のhostsを参照してくれるだけ(‘∀`)

 あと、今更ながらTLDを普通のにして使ってたので(ドメイン名は独特なのでまあ使われる事は無いし、最終的には1つだけ使ってるドメイン…このレン鯖に割り当ててるのを使えばいいのだけど)、.internalを使う事にしました。

“ラズパイでDNSキャッシュサーバー(Dnsmasq)” の続きを読む

ラズパイでFTPサーバー

 もう簡単に。vsftpdを使います。

 インストールは

$ sudo apt install vsftpd

 もうサクッとインストールされてサービスも開始されてます。

 あとは設定変更。/etc/vsftpd.confを編集します。

$ sudo nano /etc/vsftpd.conf

 3つの項目だけコメントアウトしてあるのを外して有効にします。

#write_enable=YES

#ascii_upload_enable=YES
#ascii_download_enable=YES

 ↓にする感じ。

write_enable=YES

ascii_upload_enable=YES
ascii_download_enable=YES

 終わったらvsftpd再起。

$ sudo systemctl restart vsftpd

 確認はrestartの所をstatusにする。
 一応リブートして確認しても良いかなと。

 あとは他のPCからFTPクライアント立ち上げて確認。


 SMB(Samba)を使っても良かったけれど、メディアサーバーとかNASにするワケでは無いので、今回はFTP鯖で。大体の使用目的は壁紙好きなの使いたいとか、DNSのローカル用のファイルに書いてるホスト件数多いので…。
 

ラズパイでNTPサーバー

 簡単なのから(゚∀゚) 説明もザックリで。
 使ってるOSはRaspberry Pi 64bit Desktop版(2022-09-22)です。

 なんかソフトウェアのインストール周りはGUIのツールだと反映されないような謎があるので、さっくりとコンソールを開き、アプリインスコツールの「apt」を使います。

$ sudo apt install ntp

 すると色々言われて(timesyncd削除するよーとか幾ら容量使うとか)やっちゃいますか? ノンノンですかと[Y/no]で訊いてくるのでYを押す。

 するとズラズラーと処理が始まってパタッと止まってコマンドプロンプトが返ってくるので、エラーが出てなかった事を確認して、設定ファイルの編集です。

 えー、テキストエディタで編集するんですが、この手のサーバーの設定ファイルはroot権限ないと編集後の上書き保存ができません。(GUIで出来ないのもそういう事かな?)
 当たり前なんですが初心者はこういうのにハマるのですが、私も忘れてGUIのエディタ使ったら怒られた(^_^;)
 ディストリビューションによっては使えたりしたと思うけど、ラズパイのGUIでは出来ませんでしたと言う事で、コンソールからCUIなテキストエディタを使います。
 行儀良くviぽいの使うのも良いのですが、自分はnanoを使います(OpenBlocksではお世話になりました)。

$ sudo nano /etc/ntp.conf

 で、デフォ設定をコメントアウトして、こちらの都合の設定をします。

pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst

 このあたりを、

#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst
pool ntp.nict.jp iburst
pool ntp.jst.mfeed.ad.jp iburst
pool jp.pool.ntp.org iburst

 こんな感じに。
 因みに以前は鯖指定に「server」を使ってましたが、「pool」も使えるようになった様で。serverは単一の鯖指定、poolは中にいっぱい鯖あるような所に使う感じかな。
 末尾の「iburst」は起動時や鯖からの応答が無くなった場合に高速に同期するためのオプション…みたいなので入れておくの推奨みたいです。

 あともう一箇所、

#restrict 192.168.123.0 mask 255.255.255.0 notrust

 この下にNTPの時刻問い合わせを許可するLANを書いておく。

#restrict 192.168.123.0 mask 255.255.255.0 notrust
restrict 192.168.0.0 mask 255.255.255.0 notrust

 こんな感じ。「restrict」はアクセス許可、「notrust」はこのLANでは自身の時刻問い合わせをしない…でよかったはず(^_^;)
 あとは編集したのを保存(nanoはCtrl+o)してエディタを終了(同じくCtrl+x)。

 サービスの自動起動が出来る様にします。

$ sudo systemctl enable ntp.service

 リブートしないで起動しちゃえ

$ sudo systemctl start ntp.service

 disableで自動起動無効、restartで再起動、stopで停止とか色々あります。
 serviceとしての確認は、statusですね。

 最後にちゃんと動いてるか確認。

$ ntpq -p

 -p オプション付けないとプロンプト出て来ちゃうので慌てずexitって入力すれば脱出できます。

 うん、楽ちんですね(‘∀`)
 DNSは面倒臭そう…。

ラズパイ弄ってました(‘∀`)

 なんか良い感じです…温々してるしw
 KSYで頼んだキットとヒートシンクなケースが届いて…うーん。マウスとキーボード用意してなかった(^_^;)

 最初は適当なの用意したけど…後日コンパクトなキーボードとちっこいマウス用意しました。

 あとキットに入ってたRaspberry Pi OS入りのmicroSDカードだけど…古いバージョンのが入ってて上手く日本語入力できなかったので、結局自分で最新版(2022-09-22)のインストール作業する事に。
 作業自体は専用ツールのRaspberry Pi Imagerを使えばあっと言う間です。
 この感じだとOS切り替えはカード入れ替えでいいのかな。

 さっと64bit版入れて初期設定して取り敢えず一昨晩はここまで。
 


 昨夜はNTPdについての事前調査。
 えーと全然時刻同期しませんw
 それは兎も角、調べてみると最近のラズパイ(他のDebian系も?)のデスクトップ版にはNTPのクライアントとしてsystemd-timesyncdってのが走ってるらしい。
 サーバーとしては使え無いっぽい? ので、これはntpをインスコする事になって、systemd-timesyncdの方はその時に競合するから削除される模様。

 うん、DNSはBIND9なのかな。これは今までの設定そのまま使えそう。

 あと何やってたっけ…(^_^;) SSHにVPNとかVNCとか…うーん。あまり使わなくなったので、やらなくていいかな。
 LAN内を便利するのってあとはなんですかね。
 ファイル共有…いるかな? ラズパイと他PCとのファイルのやり取り位は出来た方が楽か。


 あとセキュリティ対策。ネットで調べると大体がrootとデフォルトユーザーとSSH周りの件。
 rootはパスワード設定されてないけれど、無いとSSHでログインは出来ないので、非常時に備えて設定するように書かれている…いや、やらなくていいでしょ(‘∀`)

 デフォルトユーザーは「pi」なんだけど、最新のRaspberry Pi OS(64bit 2022-09-22)の場合、初期設定で新規ユーザー名を入力するようになっていたので、この対策も必要無しw

 SSHはどうしよう的な。
 鍵作るのもOpenBlocksの時にやったけど、モニター繋いでるし、コンパクトなキーボードとマウス繋げてしまったし、特にリモートしたくないからこれ選んで、SSHもOFFにしてるので…。


 記事のカテゴリはどうしよう。「Linux」に子カテゴリ作る方がいいかな。