tag:blogger.com,1999:blog-68496974373613955362024-03-14T03:39:09.434+09:00まさおのブログ (表)主に Linux (Ubuntu, Fedora) 関連の設定メモ&小技集です。たまに Windows 関連ネタも。<br>
(プロンプトの $ は一般ユーザ権限、# は root 権限です。いちいち説明はせんよ。)
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.comBlogger299125tag:blogger.com,1999:blog-6849697437361395536.post-83287535967072325242023-12-30T18:08:00.000+09:002023-12-30T18:08:28.972+09:00Raspberry Pi 4 + DVB-T + Ubuntu 22.04.3 server で ADS-B 受信機を作成 ( Flightradar24、FlightAware、RadarBox )<p>
ADS-B 受信機を Ubuntu 22.04.3 に更新です。
<br>最近、この RasPi を Radiko ダウンロードサーバと兼用しているので、microSD の容量大きめ (256GB) です。
</p>
<h4>
■ 環境
</h4>
<Table Border Cellspacing="0" cellpadding="2" width="600">
<Tr><Td>Hardware</Td><Td>Raspberry Pi 4 Model B / 4 GB</Td></Tr>
<Tr><Td>OS</Td><Td>Ubuntu Server 22.04.3 64-bit</Td></Tr>
<Tr><Td>SD</Td><Td>SanDisk microSDXC Ultra Class10 UHS-I A1 128GB</Td></Tr>
<Tr><Td>DVB-T</Td><Td>R820T2 & SDR+SMD X-tal 10PPM [DVB-T+FM+DAB/RTL-SDR][RTL2832U+R820T2][High quality USB-CN][広帯域受信用]Blue</Td></Tr>
</Table>
<h4>
1. Ubuntu Server 22.04.3 イメージを micro SD に書き込む
</h4>
<p>
<a href="https://ubuntu.com/download/raspberry-pi" target="_blank">Ubuntu のサイト</a> から Ubuntu Server のイメージを取得。micro SD に書き込む。
</p>
<Pre>
$ sudo apt install gddrescue xz-utils
$ unxz ubuntu-22.04.3-preinstalled-server-arm64+raspi.img.xz
$ sudo ddrescue -D --force ubuntu-22.04.3-preinstalled-server-arm64+raspi.img /dev/mmcblk0
GNU ddrescue 1.23
Press Ctrl-C to interrupt
ipos: 4539 MB, non-trimmed: 0 B, current rate: 14417 kB/s
opos: 4539 MB, non-scraped: 0 B, average rate: 14834 kB/s
non-tried: 460714 kB, bad-sector: 0 B, error rate: 0 B/s
rescued: 4539 MB, bad areas: 0, run time: 5m 6s
pct rescued: 90.78%, read errors: 0, remaining time: 32s
time since last successful read: 0s
Copying non-tried blocks... Pass 1 (forwards)
</Pre>
<h4>
2. Ubuntu Server 22.04.3 諸設定
</h4>
<p>
デフォルトユーザのログインは、User: ubuntu, Password ubuntu で。
<br>最初のログインは、起動してからちょっと待ったほうが良い。
<br>パスワード変えるのと、adduser でユーザを作成。
<br>SSHd は、最初から入ってました。あと、GNU screen も入ってた!
<br>あとはお好みで。
</p>
<Pre>
$ sudo apt update
$ sudo apt upgrade -y
キーボードレイアウトを日本語キーボードに変更。
$ sudo dpkg-reconfigure keyboard-configuration
・Generic 105-key PC を選択
・keyboard: Japanese を選択
・Keyboard Layout: Japanese を選択
・AltGr 設定: The default for the keyboard layout を選択
・Compose key: No compose key を選択
NTP クライアントとして、Chrony をインストールする。
$ sudo systemctl stop systemd-timesyncd.service
$ sudo systemctl disable systemd-timesyncd.service
$ sudo apt purge systemd-timesyncd
$ sudo apt install chrony
timezone を Asia/Tokyo に変更
$ sudo timedatectl set-timezone Asia/Tokyo
$ sudo apt install -y language-pack-ja
ifconfig は欲しい
$ sudo apt install -y net-tools
dash を bash に切り替える (No を選択)
$ sudo dpkg-reconfigure dash
/lib/systemd/system/systemd-networkd-wait-online.service を編集
$ sudo vi /lib/systemd/system/systemd-networkd-wait-online.service
(下記の行を編集 --any -i eth0 -i wlan0 を追記)
ExecStart=/lib/systemd/systemd-networkd-wait-online --any -i eth0 -i wlan0
</Pre>
<h4>
3. FlightAware
</h4>
<p>
(参考)
<br> <a href="https://discussions.flightaware.com/t/flightaware-on-ubuntu-22-04-arm64/82668" target="_blank">https://discussions.flightaware.com/t/flightaware-on-ubuntu-22-04-arm64/82668</a>
<br> <a href="https://github.com/abcd567a/ubuntu22/blob/master/README.md" target="_blank">https://github.com/abcd567a/ubuntu22/blob/master/README.md</a>
</p>
<Pre>
$ sudo wget -O /etc/apt/sources.list.d/abcd567a.list https://abcd567a.github.io/ubuntu22/abcd567a.list
$ sudo wget -O /etc/apt/trusted.gpg.d/abcd567a-key.gpg https://abcd567a.github.io/ubuntu22/KEY2.gpg
$ sudo apt update
$ sudo apt install -y piaware
$ sudo apt install -y dump1090-fa
$ sudo apt install -y piaware-web
$ sudo piaware-config feeder-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$ sudo init 6
</Pre>
<p>
しばらくしたら、下記リンクで Piaware と FlightAware のアカウントを関連付ける。
<br>同じルータ配下の別 PC からブラウザでアクセスすれば OK。
<a href="https://flightaware.com/adsb/piaware/claim">https://flightaware.com/adsb/piaware/claim</a>
<br>更に、MY ADS-B のリンクから、アンテナ設置場所の緯度、経度、高度を設定すれば OK。
</p>
<h4>
4. Flightradar24
</h4>
<Pre>
$ sudo apt install -y libssl-dev tcl-dev chrpath
$ sudo dpkg --add-architecture armhf
$ sudo dpkg --print-foreign-architectures
armhf
$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"
______ _ _ _ _ _ _____ ___
| ___|| |(_) | | | | | | / __ \ / |
| |_ | | _ __ _ | |__ | |_ _ __ __ _ __| | __ _ _ __`' / /' / /| |
| _| | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / / / /_| |
| | | || || (_| || | | || |_ | | | (_| || (_| || (_| || | ./ /___\___ |
\_| |_||_| \__, ||_| |_| \__||_| \__,_| \__,_| \__,_||_| \_____/ |_/
__/ |
|___/
[main][i]FR24 Feeder/Decoder
[main][i]Version: 1.0.44-0/generic
[main][i]Built on Oct 31 2023 11:09:57 (T202310311106/Linux/static_arm64)
[main][i]Running on: ubuntu="22.04"
[main][i]Local IP(s): XXX.XXX.XXX.XXX,XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX,fe80::xxxx:xxxx:xxxx:xxxx
[main][i]Copyright 2012-2023 Flightradar24 AB
[main][i]https://www.flightradar24.com
[main][i]DNS mode: PING
Welcome to the FR24 Decoder/Feeder sign up wizard!
Before you continue please make sure that:
1 - Your ADS-B receiver is connected to this computer or is accessible over network
2 - You know your antenna's latitude/longitude up to 4 decimal points and the altitude in feet
3 - You have a working email address that will be used to contact you
4 - fr24feed service is stopped. If not, please run: sudo systemctl stop fr24feed
To terminate - press Ctrl+C at any point
Step 1.1 - Enter your email address (username@domain.tld)
$:<font color="#00ff00">●Flightradar24 に登録しているメールアドレスを入力</font>
Step 1.2 - If you used to feed FR24 with ADS-B data before, enter your sharing key.
If you don't remember your sharing key, you can find it in your account on the website under "My data sh
aring".
https://www.flightradar24.com/account/data-sharing
Otherwise leave this field empty and continue.
$:<font color="#00ff00">●新規登録であれば、メールで送られてきた sharing key を入力。または既存のものを入力</font>
Verifying sharing key...OK
Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:<font color="#00ff00">yes</font>
IMPORTANT: For MLAT calculations the antenna's location should be entered very precise!
Step 3.A - Enter antenna's latitude (DD.DDDD)
$:<font color="#00ff00">●設置場所の緯度を入力</font>
Step 3.B - Enter antenna's longitude (DDD.DDDD)
$:<font color="#00ff00">●設置場所の経度を入力</font>
Step 3.C - Enter antenna's altitude above the sea level (in feet)
$:<font color="#00ff00">●設置場所の高度を入力</font>
Using latitude: XX.XXXX, longitude: XXX.XXXX, altitude: XXft above sea level
We have detected that you already have a dump1090 instance running. We can therefore automatically configure the FR24 feeder to use existing receiver configuration, or you can manually configure all the parameters.
Would you like to use autoconfig (*yes*/no)$:<font color="#00ff00">● yes を入力</font>
Saving settings to /etc/fr24feed.ini...OK
Settings saved, please run "sudo systemctl restart fr24feed" to use new configuration.
Starting the fr24feed service, it may take a while if dump1090 needs to be installed...
Installation and configuration completed!
</Pre>
<p>
fr24feed を再起動。
</p>
<Pre>
$ sudo systemctl restart fr24feed
</Pre>
<h4>
5. RadarBox
</h4>
<p>
続いて RadarBox。
<br> RadarBox のアカウントに紐付ける方法は、忘れてしまいました。
<br> 通常は、下記を実行するだけなのですが、スクリプト内の lsb_release -c コマンドで、コードネームが bionic となってしまい、
<br> スクリプトが停止してしまいます。
<br> ちょっと修正して、buster と同じ流れにすれば OK。
</p>
<Pre>
$ sudo bash -c "$(wget -O - http://apt.rb24.com/inst_rbfeeder.sh)"
Don't know how to install for a distribution named で止まってしまう、、、。
</Pre>
<p>
inst_rbfeeder.sh を取得して、スクリプトを修正、実行します。
</p>
<Pre>
$ wget http://apt.rb24.com/inst_rbfeeder.sh
$ vi inst_rbfeeder.sh
case 文の bullseye) となっている部分に jammy を追記。
(変更前)
bullseye)
(変更後)
bullseye|jammy)
$ sudo sh inst_rbfeeder.sh
</Pre>
<p>
mlat-client をソースからビルドしてインストール。
<br>ビルドの前に python3.pm を作成しておきます (ビルドエラーになるため)。
</p>
<Pre>
$ sudo vi /usr/share/perl5/Debian/Debhelper/Sequence/python3.pm
(下記を記述)
#! /usr/bin/perl
# debhelper sequence file for dh_python3
use warnings;
use strict;
use Debian::Debhelper::Dh_Lib;
insert_before("dh_installinit", "dh_python3");
1
</Pre>
<p>
ここからビルド。
</p>
<Pre>
$ sudo apt install -y dh-python python2 python3-dev debhelper
$ wget https://github.com/mutability/mlat-client/archive/refs/tags/v0.2.13.tar.gz
$ tar zxvf v0.2.13.tar.gz
$ cd mlat-client-0.2.13/
$ sudo dpkg-buildpackage -b --no-sign
$ sudo dpkg -i ../mlat-client_0.2.13_arm64.deb
$ sudo ./setup.py install
$ sudo init 6
</Pre>
<p>
設定ファイルのメモを残しておきます。
</p>
<Pre>
$ cat /etc/rbfeeder.ini
[client]
network_mode=true
log_file=/var/log/rbfeeder.log
key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sn=XXXXXXXXXXXX
[network]
mode=raw
external_port=30005
external_host=127.0.0.1
[mlat]
</Pre>
<p>
/etc/default/mlat-client ファイルを編集 LAT, LON, ALT を設定
</p>
<h4>
6. graphs1090
</h4>
<p>
dump1090-fa の受信状況をグラフで表示。
<br>http://192.168.x.x/graphs1090/ にアクセス。
</p>
<Pre>
$ sudo apt install -y librrd8
$ sudo apt --fix-broken install -y
$ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/c/collectd/collectd_5.12.0-11_arm64.deb
$ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/c/collectd/collectd-core_5.12.0-11_arm64.deb
$ sudo dpkg -i collectd_5.12.0-11_arm64.deb collectd-core_5.12.0-11_arm64.deb
$
$ sudo bash -c "$(wget -q -O - https://raw.githubusercontent.com/wiedehopf/graphs1090/master/install.sh)"
</Pre>
<h4>
7. logrotate を設定する
</h4>
<p>
fr24feeder.log, rbfeeder.log, mlat-client.log については、logrotate の設定をしておく。
</p>
<Pre>
$ sudo vi /etc/logrotate.d/fr24feed
(下記を記述)
/var/log/fr24feed/fr24feed.log {
daily
rotate 7
copytruncate
}
</Pre>
<Pre>
$ sudo vi /etc/logrotate.d/rbfeeder
(下記を記述)
/var/log/rbfeeder.log {
daily
rotate 7
copytruncate
}
</Pre>
<h4>
■ 備考
</h4>
<p>
ADS-B feeder を設置すると、下記プランが無料で利用可能になります。
<br>年間、$ 1 = 130 円 換算で、$ 499.99 + ($ 89.95 × 12) + $399.50 = $ 1,978.89 = 257,255 円 お得です♪
</p>
<Table Border Cellspacing="0" cellpadding="2" width="600">
<Tr><Td>Service</Td><Td>Plan</Td><Td>$ / month</Td><Td>$ / year</Td></Tr>
<Tr><Td><a href="https://www.flightradar24.com/" target="_blank">Flightradar24</a></Td><Td><a href="https://www.flightradar24.com/premium/" target="_blank">Business</a></Td><Td>$ 49.99</Td><Td>$ 499.99</Td></Tr>
<Tr><Td><a href="https://ja.flightaware.com//" target="_blank">FlightAware</a></Td><Td><a href="https://ja.flightaware.com/commercial/premium/" target="_blank">Enterprise</a></Td><Td>$ 89.95</Td><Td>$ -</Td></Tr>
<Tr><Td><a href="https://www.radarbox24.com/" target="_blank">RadarBox</a></Td><Td><a href="https://www.radarbox24.com/subscribe/" target="_blank">BUSINESS</a></Td><Td>$ 39.95</Td><Td>$ 399.50</Td></Tr>
</Table>
<p>
dump1090 の受信状況は下記コマンドで確認できます。
</p>
<Pre>
$ nc 127.0.0.1 30003
</Pre>
<p>
● Raspberry Pi 4, raspi4, raspi, DVB-T, Ubuntu Server 22.04, ADS-B, Flightradar24, FlightAware RadarBox, dump1090-fa, ddrescue
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-67628570050227640622022-02-17T23:59:00.002+09:002022-02-17T23:59:00.238+09:00HTTP サーバ OPTIONS メソッド確認方法 (curl)<p>
curl コマンドで、HTTP サーバの OPTIONS メソッドを確認する方法。
</p>
<Pre>
$ curl -X OPTIONS http://localhost/ -i
HTTP/1.1 200 OK
Date: Thu, 17 Feb 2022 08:00:55 GMT
Server: Apache/2.4.41 (Ubuntu)
Allow: GET,POST,OPTIONS,HEAD
Content-Length: 0
Content-Type: text/html
</Pre>
<p>
● curl, HTTP, http, OPTIONS, options, メソッド, method, 確認, check
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-36820204921589508292022-01-29T20:34:00.006+09:002022-01-29T20:34:42.263+09:00Raspberry Pi 4 の Ubuntu Server バックアップ、リストア (dd, PiShrink)<p>
Raspberry Pi 4 にインストールしている Ubuntu Server をバックアップして、別の microSD カードにリストアする手順。
<br>Ubuntu PC 上で、dd コマンドでバックアップ、PiShrink でイメージの縮小化、dd コマンドでリストア します。
</p>
<h4>
1. バックアップ
</h4>
<p>
まず、Raspberry Pi 4 から microSD カードを抜いて、Ubuntu PC に挿入して、dd コマンドでバックアップ。
<br>自動マウントされる場合は、unmount してから作業。
</p>
<pre># dd if=/dev/mmcblk0 of=/home/raspi.img status=progress
</pre>
<h4>
2. イメージサイズの縮小化
</h4>
<p>
PiShrink を使用。
<br><a href="https://github.com/Drewsif/PiShrink" target="_blank">https://github.com/Drewsif/PiShrink</a>
</p>
<pre>
# wget wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
# chmod 755 pishrink.sh
# ./pishrink.sh /home/raspi.img
pishrink.sh v0.1.2
pishrink.sh: Gathering data ...
pishrink.sh: Checking filesystem ...
writable: Inode 2809 extent tree (at level 1) could be shorter. IGNORED.
writable: Inode 28025 extent tree (at level 1) could be shorter. IGNORED.
writable: Inode 40963 extent tree (at level 1) could be shorter. IGNORED.
writable: 203145/926640 files (0.2% non-contiguous), 2164496/3823739 blocks
resize2fs 1.45.5 (07-Jan-2020)
pishrink.sh: Shrinking filesystem ...
resize2fs 1.45.5 (07-Jan-2020)
Resizing the filesystem on /dev/loop16 to 2346988 (4k) blocks.
Begin pass 2 (max = 909346)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 117)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 26342)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXX^HXXXXXXXXXXXXXXXX
The filesystem on /dev/loop16 is now 2346988 (4k) blocks long.
pishrink.sh: Shrinking image ...
pishrink.sh: Shrunk raspi.img from 15G to 9.3G ...
</pre>
<h4>
3. リストア
</h4>
<p>
microSD カードを入れ替えて、リストア。
</p>
<pre>
# dd if=/home/raspi.img of=/dev/mmcblk0 status=progress
</pre>
<p>
● raspberry pi, ubuntu server, バックアップ, backup, リストア, restore, PiShrink, pishrink.sh, 縮小化, shrink
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-59456179672432833082022-01-04T10:12:00.008+09:002022-01-04T10:12:57.828+09:00Ubuntu 20.04 Server で、timezone を日本時間に変更する<p>
Raspberry pi に Ubuntu 20.04 Server をインストールした場合、timezone の設定が UTC になっています。
<br>日本時間に変更する方法。
</p>
<p>
現在の設定を確認。
</p>
<Pre>
$ timedatectl
Local time: 火 2022-01-04 01:04:39 UTC
Universal time: 火 2022-01-04 01:04:39 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
</Pre>
<p>
日本時間に変更 (即時反映)。
<br>
</p>
<Pre>
$ sudo timedatectl set-timezone Asia/Tokyo
</Pre>
<p>
設定の確認。
</p>
<Pre>
$ timedatectl
Local time: 火 2022-01-04 10:05:14 JST
Universal time: 火 2022-01-04 01:05:14 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
</Pre>
<p>
● Ubuntu, 20.04, server, timezone, タイムゾーン, 日本, 変更, JST, JST-9, Tokyo, Asia, date, timedatectl
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-68876143140557200602022-01-03T15:38:00.006+09:002022-01-03T15:46:11.332+09:00raspberry pi 4 で radiko を録音してローカル RSS でスマホに Podcast として同期する<p>
JUNK 爆笑問題カーボーイ の Podcast 配信サービスが終わったので、代替手段のメモ。
<br>raspberry pi 4 で、radiko (タイムフリー、2022/01/03 現在無償) を録音して、ローカル RSS でスマホに配信するようにしました。
</p>
<h4>
1. radiko を録音するために rec_radiko_ts をインストール
</h4>
<p>
rec_radiko_ts に必要なパッケージをインストール
</p>
<Pre>
# apt install curl ffmpeg libxml2
</Pre>
<p>
rec_radiko_ts を git clone
</p>
<Pre>
$ git clone https://github.com/uru2/rec_radiko_ts
$ cd rec_radiko_ts
$ sudo cp rec_radiko_ts.sh /usr/local/bin/
$ sudo chmod 755 /usr/local/bin/rec_radiko_ts.sh
</Pre>
<h4>
2. rec_radiko_ts.sh の動作確認
</h4>
<p>
2021/12/29 01:00-03:00 の放送をタイムフリーで録音する場合の例。
<br>radiko プレミアムに入っている場合は、-m "mail address" -p "password" オプションを追加すると良い。
<br>-s オプションで放送局 ID を指定。うちは福岡なので、RKB です。
<br>放送局 ID は、下記サイトを参照。
<br><a href="https://www.norikistudio.com/station-id-list" target="_blank">https://www.norikistudio.com/station-id-list</a>
</p>
<Pre>
$ /usr/local/bin/rec_radiko_ts.sh -s RKB -f 202112290100 -d 120 -o 20211229-JUNK_bakusho.m4a
</Pre>
<h4>
3. HTTP サーバは、lighttpd をインストール
</h4>
<p>
HTTP サーバは何でもいいんですが、とりあえず、lighttpd を選択。
</p>
<Pre>
# apt install lighttpd
</Pre>
<h4>
4. RSS の設定
</h4>
<p>
RSS は、下記サイトから、makepodcast.rb を使わせてもらいました。
<br><a href="https://gist.github.com/matchy256/5552631" target="_blank">指定ディレクトリ内のmp3ファイルから必要最低限のPodcast用RSSを生成する</a>
<br>lighttpd の document root である /var/www/html/radiko/ に保存。
<br>あと、ruby をインストール。
</p>
<Pre>
# apt install ruby
</Pre>
<h4>
5. 自動ダウンロード設定、RSS フィード更新 (cron)
</h4>
<p>
JUNK 爆笑問題カーボーイ は、毎週火曜日 25:00-27:00 (水曜日 1:00-3:00) の放送なので、
<br>毎週水曜日の 4:00 に録音。5:00 に RSS フィードを更新するように cron を設定。
<br>ちなみに、raspberry pi 4 の IP は、192.168.10.100 固定になってます。
<br>将来的には、古いファイルを自動で消すようにするかな。
</p>
<Pre>
# crontab -e
(下記を追加)
00 04 * * 3 /usr/local/bin/rec_radiko_ts.sh -s RKB -f "`date +\%Y\%m\%d`0100" -d 120 -o "/var/www/html/radiko/`date +\%Y\%m\%d`-JUNK_bakusho.m4a"
30 05 * * 3 (cd /var/www/html/radiko/ ; ./makepodcast.rb JUNK_bakusho http://192.168.10.100/radiko/ ./ >| ./JUNK_bakusho.rss)
</Pre>
<h4>
6. スマホの Podcast アプリに RSS を登録する。
</h4>
<p>
スマホの Podcast アプリに RSS を登録すれば、あとは自動で同期できます (アプリの方は適当に設定してください)。
</p>
<Pre>
http://192.168.10.100/radiko/JUNK_bakusho.rss
</Pre>
<h4>
■ 注意
</h4>
<p>
録音したデータをインターネットで配信とかしたら著作権法違反になるので、個人利用の範囲で楽しみましょう。
</p>
<p>
● raspberry pi 4, radiko, 録音, タイムフリー, RSS, Podcast, ポッドキャスト, ローカル
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-78889783779007676812021-12-20T23:59:00.000+09:002021-12-20T23:59:00.289+09:00Ubuntu コマンドで ISO ファイルを DVD に書き込む<p>
growisofs コマンドを使う。
<br>= (イコール) を忘れないように注意。
</p>
<Pre>
$ sudo apt install growisofs
$ growisofs -dvd-compat -Z /dev/dvd=./ubuntu-ja-20.04.1-desktop-amd64.iso
</Pre>
<p>
● growisofs, linux, command, iso, file, dvd, DVD, ISO, コマンド
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-6408042281489651802021-12-15T23:59:00.002+09:002021-12-16T08:15:54.817+09:00SVN チェックアウト時の mtime をコミットされた時刻にする<p>
SVN でリポジトリをチェックアウトしたとき、mtime は、チェックアウトした時刻になります。
<br>コミットした時刻にする方法。
</p>
<Pre>
$ vi ~/.subversion/config
(miscellany セクションに use-commit-times = yes を記述。コメントアウトでいける場合もあり)
[miscellany]
use-commit-times = yes
</Pre>
<p>
● SVN, チェックアウト, checkout, コミット, commit, mtime, 更新時刻, 時刻, タイムスタンプ, timestamp
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-52960194479298821482021-12-11T20:02:00.004+09:002021-12-11T20:02:51.856+09:00tcpdump オプションメモ<p>
よく忘れるので、メモしておく。
</p>
<Pre>
# tcpdump -s0 -n -nn -tttt -i eth0
</Pre>
<p>
● tcpdump, オプション, option
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-56981367206164746502021-09-09T21:54:00.004+09:002021-09-09T21:54:50.601+09:00ディレクトリ以下の zip ファイルをすべて解凍する<p>
必要があったので、メモ。
</p>
<Pre>
$ find . -name "*.zip" | while read filename; do unzip -o -d "`basename -s .zip "$filename"`" "$filename"; done;
</Pre>
<p>
● zip, 解凍, unzip, ディレクトリ, directory, 全て
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-73465528183454117032021-07-14T23:59:00.003+09:002021-07-14T23:59:00.238+09:00rpm ファイルの中身を展開する<p>
rpm2cpio がインストールされていない場合は、インストールする。
</p>
<Pre>
# apt install rpm2cpio
</Pre>
<p>
展開。
</p>
<Pre>
$ rpm2cpio hogehoge.rpm | cpio -id
</Pre>
<p>
● rpm, 中身, 展開, rpm2cpio
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-88384513219333364082021-07-14T23:59:00.002+09:002021-07-14T23:59:00.238+09:00Ubuntu 20.04 で、フォントをインストールする<p>
ttf ファイルを /usr/local/share/fonts/ ディレクトリにコピー
</p>
<Pre>
$ sudo cp FONT_NAME.ttf /usr/local/share/fonts
</Pre>
<p>
Font Cache を更新
</p>
<Pre>
$ fc-cache -fv
</Pre>
<p>
Font Cache への登録を確認
</p>
<Pre>
$ fc-list | grep FONT_NAME
</Pre>
<p>
● Ubuntu, font, cache, ttf, TTF, fc-cache, fc-list, 登録
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-80096755667429527592021-07-14T23:59:00.001+09:002021-07-14T23:59:00.238+09:00Ubuntu 20.04 に KVM をインストール<h4>
■
</h4>
<p>
CPU がハードウェア仮想化に対応しているか確認する。
</p>
<Pre>
$ egrep -c '(vmx|svm)' /proc/cpuinfo
32
</Pre>
<p>
KVM をインストール
</p>
<Pre>
# apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
</Pre>
<p>
virt-manager をインストール
</p>
<Pre>
# apt install virt-manager
</Pre>
<p>
libvirt, kvm グループにユーザを登録
</p>
<Pre>
# adduser USER_NAME libvirt
# adduser USER_NAME kvm
</Pre>
<p>
virt-top をインストール
</p>
<Pre>
# apt install virt-top
</Pre>
<p>
あとは、virt-manager でゲスト OS を設定
</p>
<Pre>
$ virt-manager
</Pre>
<p>
● Ubuntu, KVM, kvm, virt-manager, 仮想, 仮想化, virtual
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-23847064282521821812021-07-12T21:08:00.000+09:002021-07-12T21:08:36.003+09:00Ubuntu 20.04 NTP client (timesyncd) の設定<p>
/etc/systemd/timesyncd.conf を編集
</p>
<Pre>
# vi /etc/systemd/timesyncd.conf
(下記の箇所を変更)
[Time]
NTP=ntp.nict.jp
FallbackNTP=ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp
</Pre>
<p>
timesyncd 再起動
</p>
<Pre>
# systemctl restart systemd-timesyncd
</Pre>
<p>
状況確認
</p>
<Pre>
timedatectl timesync-status
</Pre>
<p>
● NTP, 時刻, 同期, 時刻同期, timesync, timesyncd,
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-58856429129344151292021-07-09T23:59:00.014+09:002022-12-19T13:36:27.971+09:00Ubuntu 20.04 (gdm) で、synergyc の自動起動設定をする<p>
少しハマったので、メモ。gdm を使っているのが前提。
</p>
<p>
ログイン画面で synergy が動作するように設定。
</p>
<Pre>
# vi /usr/share/gdm/greeter/autostart/synergyc.deskgop
(新規作成して、下記を記述)
[Desktop Entry]
Type=Application
Name=synergyc
Exec=/usr/bin/synergyc IP_ADDRESS
NoDisplay=true
X-GNOME-AutoRestart=true
</Pre>
<p>
ログイン時、gdm で起動した synergyc を kill するように設定。
</p>
<Pre>
# vi /etc/gdm3/PostLogin
(新規作成して、下記を記述)
#/bin/sh
killall synergyc
</Pre>
<p>
モード変更
</p>
<Pre>
# chmod 755 /etc/gdm3/PostLogin/Default
</Pre>
<p>
ログアウト後、synergy が動作するように設定。
</p>
<Pre>
# vi /etc/gdm3/PostSession/Default
(下記のように記述)
#!/bin/sh
# Kill old process
/usr/bin/killall synergyc
while [ $(pgrep -x synergyc) ]; do sleep 0.1; done
# Get the xauthority file GDM uses, setup DISPLAY var and start synergyc again
xauthfile=$(ps aux |grep Xauth | grep '^root' | grep -oP '\-auth \K[\w/]+')
export DISPLAY=:0
export XAUTHORITY=${xauthfile}
/usr/bin/synergyc IP_ADDRESS
exit 0
</Pre>
<p>
ログイン時、自動起動するアプリケーションに下記を実行するように追加。
</p>
<Pre>
$ vi ~/bin/start-synergy.sh
(下記のように記述)
#!/bin/sh
/usr/bin/killall synergyc
while [ $(pgrep -x synergyc) ]; do sleep 0.1; done
/usr/bin/synergyc IP_ADDRESS
</Pre>
<p>
実行権を追加
</p>
<Pre>
$ chmod 775 ~/bin/start-synergy.sh
</Pre>
<p>
参考: <a href="https://stackoverflow.com/questions/67399211/starting-synergy-during-gdm-startup-greeter-in-centos8" target="_blank">https://stackoverflow.com/questions/67399211/starting-synergy-during-gdm-startup-greeter-in-centos8</a>
</p>
<p>
■ 2021/09/08 追記
gdm が、Xorg → Wayland に切り替わっていて、ログイン時に synergy が接続できなくなっていた。
</p>
<Pre>
# vi /etc/gdm3/custom.conf
(下記のコメントを外す)
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
</Pre>
<p>
● Ubuntu, 20.04, gdm, synergy
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-6292520802277422752021-07-09T23:59:00.001+09:002021-07-09T23:59:00.231+09:00Ubuntu 20.04 で、ネットワークインタフェースを eth0 にする<p>
/etc/default/grub を編集。
</p>
<Pre>
# vi /etc/default/grub
(下記を編集)
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
</Pre>
<p>
update-grub を実行。そのあとで、再起動。
</p>
<Pre>
# update-grub
</Pre>
<p>
● Ubuntu, 20.04, eth0, 変更, ubuntu
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-84709811449837647872021-07-07T23:59:00.001+09:002021-07-07T23:59:00.225+09:00Ubuntu 20.04 インストール時に画面解像度が 800x600 になってしまい、インストールができない<p>
Alt + F7 で画面が動かせるようになる。
</p>
<p>
● Ubuntu, 20.04, インストール, install, 画面, クリック, できない, display, click, ボタン, 押せない
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-56120117939227940902021-07-07T23:59:00.000+09:002021-07-07T23:59:00.224+09:00古い PC の ssh サーバにログインできない (no matching key exchange method found.) <p>
古い PC の ssh サーバにログインしようとしたとき、key exchange method がマッチしないというエラーが出る。
<br>その時の解決方法。
<br>古い PC は、セキュリティー対応が追いついてないってことね。
</p>
<p>
エラーの例。
</p>
<Pre>
$ ssh 192.168.0.1
Unable to negotiate with 192.168.0.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
</Pre>
<p>
~/.ssh/config に設定を追加。Host のところは適宜変更。
</p>
<Pre>
$ vi ~/.ssh/config
(下記を追加)
Host 192.168.0.1
KexAlgorithms +diffie-hellman-group14-sha1
</Pre>
<p>
● ssh, key exchange, 古い, サーバ, old, server, login, ログイン, できない
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-18390934294909892702021-07-01T23:59:00.002+09:002021-07-01T23:59:00.238+09:00telnet 代替手段 curl, nc<p>
telnet コマンドが無いときの代替手段。
<br>便宜上、22 番ポートにつないだ場合の例を書いてます。
</p>
<h4>
■ curl
</h4>
<p>
curl -v telnet://<HOST:PORT> で接続。
</p>
<Pre>
$ curl -v telnet://192.168.0.1:22
* Trying 192.168.0.1:22...
* TCP_NODELAY set
* Connected to 192.168.0.1 (192.168.0.1) port 22 (#0)
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.10
</Pre>
<h4>
■ nc
</h4>
<p>
nc -v [destination] [port] で接続。
</p>
<Pre>
$ nc -v 192.168.0.1 22
Connection to 192.168.0.1 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.10
</Pre>
<p>
● telnet, 代替, curl, nc, alternative
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-89174302116063774652021-06-28T23:59:00.003+09:002021-06-28T23:59:00.264+09:00proxy 経由で Gitlab に ssh 接続<p>
proxy 経由で Gitlab に ssh で接続する設定メモ。
<br>ssh の公開キーを Gitlab に登録するところは説明省略。
<br>~/.ssh/config の設定箇所のみ。PROXY_HOST, PROXY_PORT は適切に変更。
</p>
<Pre>
$ vi ~/.ssh/config
(下記を追加)
Host gitlab.com
Hostname altssh.gitlab.com
IdentityFile ~/.ssh/id_rsa
Port 443
ProxyCommand nc -X connect -x PROXY_HOST:PROXY_PORT %h %p
</Pre>
<p>
確認。Welcome to GitLab が出れば OK。
</p>
<Pre>
$ ssh -T git@gitlab.com
...
Welcome to GitLab, @USR_NAME
</Pre>
<p>
● Gitlab, gitlab, proxy, ssh, nc, id_rsa, キー, 設定
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-85643723039367605112021-06-26T20:08:00.004+09:002021-06-26T20:08:40.280+09:00Ubuntu 20.04 で X-Mouse (focus follows mouse) の設定をする (GNOME)<p>
Ubuntu 20.04 で、X-mouse (focus follows mouse) の設定をする方法。
<br>デスクトップ環境が Unity から GNOME に変わったので、やり方も変わってた。
</p>
<Pre>
$ gsettings set org.gnome.desktop.wm.preferences focus-mode 'mouse'
</Pre>
<p>
(参考) <a href="https://askubuntu.com/questions/64605/how-do-i-set-focus-follows-mouse" target="_blank">https://askubuntu.com/questions/64605/how-do-i-set-focus-follows-mouse</a>
</p>
<p>
● Ubuntu, 20.04, X-Mouse, x-mouse, GNOME, gsettings, focus follows mouse, マウス, フォーカス, mouse, focus, アクティブ, active
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-14786878275101609582021-05-04T20:06:00.001+09:002021-05-04T20:06:04.611+09:00Ctrl-d で ログアウトしない ( 今更ながら )<p>
Ctrl-d でログアウトしない設定。
<br>今更ながらこのメモを書くのは、その設定になってないシステムがあって困ったからだ。
</p>
<Pre>
$ set -o ignoreeof
</Pre>
<p>
ちなみに、現在の設定を確認するのは、set -o
</p>
<Pre>
$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof on
interactive-comments on
keyword off
monitor on
noclobber on
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
pipefail off
posix off
privileged off
verbose off
vi off
xtrace off
</Pre>
<p>
● Ctrl-d, ログアウト, logout, ignoreeof, させない, しない
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-47536587552926838522021-04-27T23:59:00.001+09:002021-04-27T23:59:00.233+09:00zip ファイルの中身を解凍せずに確認する (unzip, less)<h4>
■ zip ファイルに含まれているファイルのリストを確認
</h4>
<Pre>
$ unzip -l hogehoge.zip
</Pre>
<h4>
■ zip ファイルに含まれているファイルの中身を確認
</h4>
<Pre>
$ unzip -c hogehoge.zip hoehoe.txt | less
</Pre>
<p>
● unzip, zip, less, 中身, 解凍, 解凍しない, 解凍せずに, 解凍せず
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-46718926403962264832021-04-24T20:22:00.001+09:002021-04-24T20:22:07.097+09:00ripgrep-all (zip, tar.gz の中身も ripgrep)<p>
zip, tar.gz の中味までも ripgrep できる ripgrep-all。
<br>これはいい。インストールは簡単。
<br>(参考) <a href="https://github.com/phiresky/ripgrep-all" target="_blank">https://github.com/phiresky/ripgrep-all</a>
</p>
<p>
依存パッケージをインストール。
</p>
<Pre>
# apt install ripgrep pandoc poppler-utils ffmpeg
</Pre>
<p>
下記から、適当なリリースバージョンをダウンロードして解凍。
<br><a href="https://github.com/phiresky/ripgrep-all/tags" target="_blank">https://github.com/phiresky/ripgrep-all/tags</a>
</p>
<Pre>
$ tar zxvf ripgrep_all-v0.9.6-x86_64-unknown-linux-musl.tar.gz
$ cd ripgrep_all-v0.9.6-x86_64-unknown-linux-musl.tar.gz
$ sudo cp rga rga-preproc /usr/bin/
</Pre>
<p>
rg のかわりに、rga を使えば OK。
</p>
<Pre>
$ rga hogehoge
</Pre>
<p>
● ripgrep, zip, tar.gz, rg, rga, rust, ripgrep-all
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-10485753082071476662021-03-10T23:59:00.000+09:002021-03-10T23:59:01.386+09:00diff コマンドでシンボリックリンクの先をチェックしないようにする --no-dereference<Pre>
$ diff -qr --no-dereference aaa/ bbb/
</Pre>
<p>
● diff, no-dereference, シンボリックリンク
</p>
まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0tag:blogger.com,1999:blog-6849697437361395536.post-66013349426598953062021-02-16T23:59:00.002+09:002021-02-16T23:59:03.321+09:00Emacs のコピー/ペーストをシステムのコピー/ペーストに反映させる<p>
Emacs のコピー/ペーストをシステムのコピー/ペーストに反映させるには、autocutsel を使う。
<br>
</p>
<Pre>
(ウィンドウマネージャの起動時に実行するように設定する)
autocutsel -fork
autocutsel -fork -selection PRIMARY
</Pre>
<p>
■参考
<br><a href="https://stackoverflow.com/questions/3216081/integrate-emacs-copy-paste-with-system-copy-paste" target="_blank">https://stackoverflow.com/questions/3216081/integrate-emacs-copy-paste-with-system-copy-paste</a>
</p>
<p>
● Emacs, emacs, copy, paste, system, integrate, コピー, ペースト, システム, 同期, 反映
</p>まさおhttp://www.blogger.com/profile/11422594736969440340noreply@blogger.com0