raspberrypiにasteriskをインストール

必要なパッケージ(必要か?)をインストール

sudo apt-get install -y build-essential binutils cpp dpkg-dev fakeroot gcc libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-bin libc-dev-bin libc6 libc6-dev libdpkg-perl libgomp1 linux-libc-dev make manpages-dev git-core subversion libjansson-dev sqlite autoconf automake libxml2-dev libncurses5-dev bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libedit-dev

asteriskをダウンロード&解凍

cd /usr/local/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
sudo tar zxvf asterisk-18-current.tar.gz

インストール

cd  asterisk-18.13.0
sudo ./configure
sudo make menuselect
メニュー画面の「Core Sound Packages」必要なフォーマットのファイルを選択し
[*]CORE-SOUNDS-JA-WAV
[*]CORE-SOUNDS-JA-GSM
[*]CORE-SOUNDS-JA-G729
[*]CORE-SOUNDS-JA-G722
[Save & Exit]
sudo make
sudo make install
sudo make samples
sudo make config
sudo ./contrib/scripts/get_mp3_source.sh
sudo asterisk start
sudo asterisk -vvvvr

起動したら成功。

raspberry pi で固定ip

古い記憶をたどって /etc/network/interfaces を編集すると、

ここを編集するな、/etc/dhcpcd.conf を編集せよ、のようなことが書いてある気がする。

恐る恐る末尾に書き加えてみる
sudo vim /etc/dhcpcd.conf

interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1

とりあえず動いています。

ラジコを聞く~その2~

以前、raspberrypiでradikoを聞けるようにしましたが、いつの間にか聞けなくなってしまいました。AdobeがFlashのサポートをやめたことが関係しているとかいないとか。

別の方法はないかと思い検索していたらこちらのサイトを見つけました。感謝です。

まずはStreamlinkというものをインストール。こちらのサイトの通りにコマンド。

pip install --upgrade --user streamlink

すると
『Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-uWhOKs/cryptography/』
というエラーが出てしまいました。
こちらのサイトを参考にさせて頂くと、必要なライブラリが足りないかもらしい。
試しに、

pip install cryptography

と打ってみると、エラーが出なくなりました。

次にmpvという再生アプリケーション(?)をインストール

sudo apt-get install mpv

後はスクリプトファイルを作りコマンドを実行。

#!/bin/sh
~/.local/bin/streamlink -p mpv http://radiko.jp/#!/live/FMT best

↑はFM TOKYOを聞く場合。
スクリプトファイルを作らずに直接コマンドを実行しても、何故かうまくいきません。

前の方法よりスムーズに聞けるようになりました。快適!

noVNCでパスワード入力を省略する

ブラウザから他PCを操作できる面白vnc、『noVNC』
使い勝手は通常のvncクライアントと比べちゃうと痒いところに手が届かない感は否めないが、ブラウザで動かせるのはやっぱり楽しい。無駄にブラウザで操作したくなる。
が、毎回パスワードを入力するのがとにかく面倒なので省略する方法はないかとソースを眺めていました。

まずnovncがインストールされている場所探しから。
自分の場合は
/usr/share/novnc
にありました。

その中の
/usr/share/novnc/include/ui.js
の600行目前後、
connect: function() {
の中身を編集。

connect: function() {
    ~省略~
    password = $D('noVNC_password').value;

↓直接パスワード書きこんでしまえ。

connect: function() {
    ~省略~
   password = 'パスワード';

novnc起動

/usr/share/novnc/utils/launch.sh --listen 80 --vnc 192.168.1.2:5901 -- web /usr/share/novnc

もっとスマートな方法がある気がするけども・・・

raspberrypiなどの更新系コマンド

apt-getなになに、がいつも混乱するので簡単にメモ。

普段Ubuntuを更新するときは下記のようにしてる。

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

raspberrypiを更新するときは下記のようにすると良さそう。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot

そして

sudo rpi-update

このコマンドはプレリリース版へ更新するコマンドのよう。

それと

sudo apt-get dist-upgrade

dist-upgradeはDebianのバージョンを更新するコマンドのよう。

使いどころを気を付けなくては。

参考にさせて頂いたサイト
apt-get dist-upgradeとapt-get upgradeの違い
raspberrypiのOSを更新する方法
Raspberry Pi の OS を最新の安定版にアップデートする(2020年7月版)

サービス追加・停止

昔ローカルにメモしていたものをこっちに移動。
今のバージョンでも使えるのか。。。

サービスのリストをGUI風に表示。

sudo sysv-rc-conf --list

サービスの自動起動に追加

sudo update-rc.d サービス名 defaults

サービスの停止

sudo update-rc.d -f サービス名 remove

新しいUbuntuで試してみよ。



できないorz

改めてインストールする。

wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sysv-rc-conf/sysv-rc-conf_0.99.orig.tar.gz
sudo tar -zxvf sysv-rc-conf_0.99.orig.tar.gz
cd sysv-rc-conf-0.99
sudo make
sudo make install

参考にさせて頂いたサイトはこちら

Ubuntu20.04でipアドレスを固定する

Ubuntuを新しくインストールしました。
今まで/etc/network/interfacesで固定ipの設定をしていましたが、ない!!

調べたところ、こちらのサイトに掲載されていました。

ついでにsoftetherのvpnで繋いだところにも固定ipを振ってみました。

/etc/netplan/99_config.yamlを作成し、↓のように書きました。
一応うまく動いてますが、間違ってるかも。

network:
  version: 2
  renderer: networkd
  ethernets:
   eth0:
    dhcp4: false
    dhcp6: false
    addresses: [192.168.1.100/24]
    gateway4: 192.168.179.1
    nameservers:
     addresses: [192.168.1.1]
   tap_vpn:
    dhcp4: false
    addresses: [192.168.2.100/24]

wake on LANをオンにする

WOLを使って電源を入れたいけど、うまくいかなかったのでメモ。

まずマジックパケットを送る側のPC(自分の場合はraspberrypi)でwake on lanをインストール。

sudo apt-get install wakeonlan

そこから電源を入れたいPCのMACアドレスに向けて

wakeonlan 00:00:00:00:00:00

と送っても電源が入らない・・・
BIOSの設定も問題なし。何故だろう。。。

マジックパケットを受け取る側のPCにethtoolをインストール。

sudo apt-get install ethtool

WOLが有効か確認

sudo ethtool eth0(←ifconfigで確認)

ぶわぁっと出てくるので下記を確認
『Wake-on: g』gなら有効なので問題なし
『Wake-on: d』dなら無効なので有効にする必要あり

有効にするには下記のコマンドを打つ

sudo ethtool -s eth0 wol g

これを起動時に実行して欲しかったので、/etc/rc.local
に書きました。
そしたらうまくWOLできるようになりました!

参考にさせて頂いたサイトはこちら

bashで日付を扱う

.shファイルで日付を使いたいときのメモ

日付をフォルダ名にする。

#!/bin/sh
DIR=`date +%Y%m%d-%H%M%S`
mkdir /home/user/$DIR

一週間前の日付をフォルダ名にする。

#!/bin/sh
DIR=`date --date "7 days ago" +%Y%m%d`
mkdir /home/user/$DIR

参考にさせて頂いたサイトは
こちら

インストールされているphpのパッケージを調べる

新年始まりました。
おうちのraspberrypiにnextcloudをインストールしようと思ったところ
——
This version of Nextcloud requires at least PHP 7.2
You are currently running 7.0.33-0+deb9u10. Please update your PHP version.
——
と出てしまいました。PHPのバージョンが古いようです。

最新バージョンを入れるにあたり、とりあえずPHP関連のパッケージ?ライブラリ?は何がインストールされてるのかなぁと思い、調べ方を調べました。

apt list --installed | grep php

参考にさせて頂いたサイトはこちら