寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

Raspberry Pi に関して書いた記事一覧(ブクマおすすめw)

最近Raspberry Piに関して何本か記事を書いたので INDEX.

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

chidakiyo.hatenablog.com

これを読めばRaspberry Piマスター!w

Raspberry Pi : OSのswapを無効にする

どういうこと?

Raspberry PiはストレージがSDカードなので、読み書きを大量にしているとちょっと寿命的に気になる。
そのため無駄な読み書きをなくすためにswapを無効化したほうが良さそう!
(実際にRaspberry PiKubernetesクラスタを作る手順とかでもswapは無効化してる)

swap状況を確認してみる

以下のコマンドでswap状況を見てみる

free -h

表示はこんな感じ

              total        used        free      shared  buff/cache   available
Mem:           927M         95M        210M         37M        621M        730M
Swap:           99M        3.5M         96M

100MBぐらいのswap領域を確保しているようだ。

swapを無効化する

以下のコマンドで不要なパッケージ及び領域を削除する

sudo swapoff --all
sudo apt-get purge -y --auto-remove dphys-swapfile
sudo rm -fr /var/swap

swap無効化後の状況を確認してみる

free -h

表示はこんな感じ

total        used        free      shared  buff/cache   available
Mem:           927M         95M         91M         40M        740M        727M
Swap:            0B          0B          0B

バッチリ!
swap領域がなくなったのでこれでok.

Raspberry Pi : tmuxをインストールする

Motivation

Raspberry Pi上でなにか処理をするとまーまー時間がかかります。
特にDockerのBuildとか待ってるのしんどいですよね。もうすぐ帰ろうというタイミングでうっかり実行すると悲しくなります。
そんな時にtmuxがインストールされていればデタッチすればSSH接続が切れてもOK。そんなわけでインストールしましょう。

tmuxのインストール

sudo apt-get -y install tmux

tmuxを実行してみる

tmux

なんかかっこいいバーが下段に出てきたら成功。

セッションをデタッチしてみる

デフォルトのコントロールキーが Control + b なので、

Control + b (を押したあとに) d

これでtmuxセッションが生きたままデタッチができる

デタッチしたセッションに再度アタッチし直す

先程のセッションにアタッチするので

tmux attach

これでまたさっきのカッコイバーが出ている画面に戻る。

長い時間が必要なバッチを実行する場合などは、 tmux を起動した状態でスクリプトを実行し、
detachすることで端末とのSSHが切れてもバッチが止まることがないので便利。

tmuxのconfigのカスタマイズ

先程のコントロールキーのバインドなどを任意に変更ができる。
この記事では詳しくは書きません

Raspberry Pi : Dockerのexperimentalな機能(--squash)を有効化する

Motivation

MacRaspberry Piバージョンは 18.06.1-ce で同じものを使っていたのですが、Mac側では--squashを利用できたものの、Raspberry Pi側では利用できなかったので有効化したい。
(おそらくMacはDocker on MacのEdgeを利用していたので有効化されていたのでは?)

設定する

experimentalな機能を有効化するには /lib/systemd/system/docker.service 内の以下の場所を修正する必要がある。

sudo vi /lib/systemd/system/docker.service

ExecStart の行を以下のように変更する

ExecStart=/usr/bin/dockerd -H fd:// -s overlay --experimental

(overlayもついでに追加した)

Dockerの再起動

設定を有効化するにはDockerを再起動する必要がある

sudo systemctl daemon-reload
sudo systemctl restart docker

これで --squash コマンドも利用できるようになります。

Raspberry Pi : Dockerのインストールと設定を行う

Motivation

もちろん、Raspberry PiでもDocker使いたいっしょ!w

Dockerのインストール

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Dockerグループの作成

sudo groupadd docker

もしかするとすでにあるかも

piユーザをdocker groupに追加する

sudo gpasswd -a $USER docker

一旦exitしてSSHログインし直す

そのままだと docker コマンド叩いてもうまくいかないかも

dockerコマンドを実行してみる

docker ps

エラーが表示されずにコマンドの応答が返ってくればOK!

参考

参考にしたサイトはこちら

Raspberry Pi : nginxのインストールと設定を行う

Motivation

やはりサーバを立てたからには、なにかアクセスして使いたい!
というわけでnginxでもインストールしましょう。

nginxのインストール

sudo apt-get -y install nginx

多分この時点でnginxが起動しているはず。

起動していない場合には

sudo systemctl start nginx

を実行すれば良い

nginxの動作確認

ブラウザから

http://{ホスト名}.local

へアクセスしてみる。
nginxのwelcome画面が出れば成功。

indexのファイルを書き換える

サンプルで表示されるindexのファイルは以下にある

/var/www/html/index.nginx-debian.html

index.htmlページを書き換えてみる

sudo echo "<h1>ラズパイサーバです</h1>" > /var/www/html/index.html

ブラウザでアクセスすると書き換えたファイルが見れるようになります。

Proxy設定を入れてみる

Proxyする元がまだないが、Proxy設定を入れてみる(goでサーバ書いたときなどに使える)

設定ファイルを開く

sudo vi /etc/nginx/sites-available/default

location / {…} の下に以下のように記述する

location /hoge/ {
  proxy_pass  http://locahost:8000;
  rewrite /hoge/(.*)  $1  last;
}

まだアクセスしても何も見えないけどね。

Raspberry Pi : vimの設定を行う

Motivation

標準でインストールされている vim はイマイチなので、普通のvimをインストールしてSyntax Highlightなどがされるようにしたい。

vim-common, vim-tinyのアンインストール

sudo apt-get -y --purge remove vim-common vim-tiny

普通のvimnインストール

sudo apt-get -y install vim

かんたんですね。