2018/01/21

RaspberryPi で radikoを録音して Podcastで配信する(OS編)

radicast という、radikoを録音してPodcast配信までやってくれるスグレモノを見つけた。
Go言語で記述されていて、ラズパイでも動作可能という。

年単位で絶賛放置中のラズパイに
「もう一度、日の目を見せてあげよう!」
プロジェクトの始動です。

・システム構築編
・改造編1(無劣化録音対応)
・改造編2(Podcastアイコン対応)

今回は「Raspbian Stretch Lite」で radicast 専用機として構築します。
複数番組同時録音をしないのであれば無印ラズパイで十分。
※俺環構築メモです。母艦はUbuntu。ご注意を。

Raspbian のインストール


Raspbianのコピー(コピー後にsyncしてからSDを挿し直す)

$ sudo dd if=./2017-11-29-raspbian-stretch-lite.img of=/dev/sdb bs=1M

SSH有効化の準備

$ touch /media/******/boot/SSH

固定IPの設定(固定IPはやっぱり 81 [パイ]でしょ!)

$ sudo vi /media/******/rootfs/etc/dhcpcd.conf
末尾に追加

interface eth0
  static ip_address=192.168.0.81/24
  static routers=192.168.0.1
  static domain_name_servers=192.168.0.1 8.8.8.8

ラズパイ入電!


SSHログイン


母艦$ ssh pi@192.168.0.81
pi@192.168.0.81's password: raspberry


初期設定


viを高機能版に変更

$ sudo apt-get install vim
$ sudo update-alternatives --config editor
⇛ "vim.basic"を選択する

アクセス制限の設定

$ sudo vi /etc/hosts.deny
末尾に追加

ALL:ALL

$ sudo vi /etc/hosts.allow
末尾に追加

ALL:127.0.0.1
ALL:192.168.0.0/24

Raspberry Pi 設定(raspi-configを使わずに対話式でやってみる)
メモリ割り当て

$ sudo raspi-config nonint do_memory_split 16

タイムゾーン

$ sudo timedatectl set-timezone Asia/Tokyo

言語

$ sudo perl -pe 's/^# (ja_JP.UTF-8 UTF-8)/$1/g' -i /etc/locale.gen
$ sudo locale-gen
$ sudo update-locale LANG=ja_JP.UTF-8

ホスト名

$ sudo raspi-config nonint do_hostname radicast

再起動

$ sudo reboot

操作ユーザーの作成

$ sudo useradd -m -s /bin/bash radicast
$ sudo passwd radicast
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

rootユーザーにパスワードを設定する

$ sudo passwd root
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

操作ユーザーでsudoが使えるようにする

$ sudo visudo
# User privilege specification の下に追加

radicast ALL=(ALL:ALL) ALL

リポジトリの更新

$ sudo vi /etc/apt/sources.list
現行サーバ定義をコメント化し、末尾に追加

#deb http://mirrordirector.raspbian.....
deb http://ftp.jaist.ac.jp/raspbian/ stretch main contrib non-free rpi

システム更新

$ sudo apt-get update && sudo apt-get -y dist-upgrade
$ sudo apt-get -y autoremove && sudo apt-get autoclean

ファーム更新

$ sudo rpi-update

SSHのホスト鍵を更新

$ sudo rm -v /etc/ssh/ssh_host*
$ sudo dpkg-reconfigure openssh-server

再起動して操作ユーザーでログインしなおす

$ sudo reboot
母艦$ ssh radicast@192.168.0.81

Piユーザーの停止(パスワードを期限切れに)

$ sudo passwd -l pi

チャレンジレスポンス認証を許可

$ sudo vi /etc/ssh/sshd_config
変更

ChallengeResponseAuthentication no
↓↓
ChallengeResponseAuthentication yes

NTPの設定

$ sudo vi /etc/systemd/timesyncd.conf
追加

NTP=ntp.nict.jp ntp.jst.mfeed.ad.jp
FallbackNTP=time.google.com

不要サービスの停止

$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

swapの停止

$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall

RAMDiskを有効化(/tmpなどをtmpfsへ)

$ sudo vi /etc/fstab
変更&追加

proc        /proc       proc    defaults          0       0
PARTUUID=00000000-01  /boot     vfat  defaults         0       2
PARTUUID=00000000-01  /         ext4  defaults,noatime 0       1
↓↓
proc        /proc       proc    defaults          0       0
PARTUUID=00000000-01  /boot     vfat  defaults         0       0
PARTUUID=00000000-01  /         ext4  defaults,noatime 0       0
tmpfs       /tmp        tmpfs   defaults,size=256m 0       0
tmpfs       /var/tmp    tmpfs   defaults,size=8m  0       0
tmpfs       /var/log    tmpfs   defaults,size=8m  0       0

再起動

$ sudo reboot

次回、構築編

0 件のコメント:

コメントを投稿

フォロワー