ラジオ録音用のVPSの Ubuntu を 14.04 LTS から 16.04 LTS にしました。
実は「アップグレードできます」のダイアログはずーっと出ていて、ずーっと無視してきたのですが、いい加減引っ越さないといかんかなと思って、ポチっとOKを押してアップグレードしました。
しかるべきデータはすべて退避して作業を始めたものの、アップグレード自体はさしたるトラブルもなく完了しました。
いくつか問題がありました。
★ gnome-schedule が消えている
これは地味に痛いです。仕方ないから crontab -e してますが、時間できたらソース探してきてビルドすべきなのかと思ったり、ほかのアプリを使おうかと思ったり。
まぁ、大した手間があるわけでもないから、crontab -e に慣れてしまえばいいのかなとも思いますが、何が面倒って記述したコマンドをターミナルでさくっと試行できないのが何とも面倒なんです。
追記:
16.04 LTS に入っていなかった GNOME-schedule は、結局 GNOME-schedule 2 というのをビルドして使っています。日付・時間の表現とか下手に日本語化されちゃって気持ち悪いんですが…。(Feb 07, 2018)
★ 画面が小さくなった
今回は VPS の方も ubuntu-mate にしてみました。デスクトップの最大解像度が 1024x768 になってしまっていて、画面が狭いのです。どうやって広げたんだったか、またちまちま調べなきゃ…。
★ 自前ビルドの ffmpeg が動かない
fdk-aac が扱えるように ffmpeg は先人の足跡を辿って自前ビルドしているのですが、アップグレード後のインストールではこの自前 ffmpeg が共有ライブラリのロードでエラー(libass.so.4, No such file or directory)、といって動いてくれませんでした。
★ ffmpeg が自前ビルドできない
そこで、先人の知恵を頼ってやってみたんですが…
Compile FFmpeg on Ubuntu
(GithubGist)
https://gist.github.com/teocci/f7a438013a0197a91446ee86de41faee
Compile FFmpeg on Ubuntu, Debian, or Mint
(ffmpeg.org の wiki)
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
うまくいかないのです。最後の最後で失敗するんです。同じところで失敗するのです。
必要なデータは退避していたこともあり、アップグレードしたインストールを捨てて、さくらが用意してくれている 16.04 Server をクリーンインストールしてリトライしたけど、やっぱり同じエラーでダメ(ここできちんと記録を残しておくべきでした)。
その日は眠くなって、サーバー閉じて寝てしまいました.。
で、翌日。
どうしたものかと思っていたのですが、ふとローカルで作業することを思い付き(ローカルの方が何かとストレスなくていいかなと思った)、VirtualBox に 16.04 Server を入れてほぼ同じ環境をつくってみました。参照する手順は、本家 ffmpeg.org のウィキ通りにやってみることに。VPS 上では一度失敗しているのですが、初心に帰って。
何の滞りもなくビルド完了。VPS に実行形式をコピーして、無事動作を確認しました。一体何がいけなかったんだろう…という根源的な問いに答えを出す技術がないので、結果オーライで生成された実行形式にスイッチすることにしました。
----------------
Jan 25, 2018
2018/01/25
2016/06/05
crontab -e のエディタを選ぶ
引き続きよちよち crontab の話なんですが…
crontab の時に使うエディタは、ターミナルでの編集が基本のキだということなのか、「viじゃ難しいからnano」とかってよく書いてあって、しかたなくそれを使ってたんだけど、普通の Ubuntu なら別に gedit とか MATE なら pluma とかでいいじゃん、と思うんですが、そういう手掛かりってないのかなー、と思ってまたまた Google 先生に伺ったんです。
答えはすぐ見つかりました。
■ プログラムの自動実行(cron)について(釣ったよ!)
http://tsuttayo.jpn.org/crond/
ありがとうございます。釣られました。
$ export EDITOR=/usr/bin/gedit
だけでいいんだそうでして…「ユーザ別のcrontab」(俺が使ってるのはこれなのですね!)の編集で使うエディタのパスは、環境変数 EDITOR を参照している、と書いてありました。
やってみたら、あっさり。CUIのエディタしか使えない、というのは先入観、単なる思い込み。先入観はいけないです。
----
(Jun.05, 2016)
crontab の時に使うエディタは、ターミナルでの編集が基本のキだということなのか、「viじゃ難しいからnano」とかってよく書いてあって、しかたなくそれを使ってたんだけど、普通の Ubuntu なら別に gedit とか MATE なら pluma とかでいいじゃん、と思うんですが、そういう手掛かりってないのかなー、と思ってまたまた Google 先生に伺ったんです。
答えはすぐ見つかりました。
■ プログラムの自動実行(cron)について(釣ったよ!)
http://tsuttayo.jpn.org/crond/
ありがとうございます。釣られました。
$ export EDITOR=/usr/bin/gedit
だけでいいんだそうでして…「ユーザ別のcrontab」(俺が使ってるのはこれなのですね!)の編集で使うエディタのパスは、環境変数 EDITOR を参照している、と書いてありました。
やってみたら、あっさり。CUIのエディタしか使えない、というのは先入観、単なる思い込み。先入観はいけないです。
----
(Jun.05, 2016)
2016/06/03
cron と PATH
cron で何かを実行する時にいつも PATH のワナに引っ掛かる。で、いつも引っ掛かるから何かいい方法がないのかと思ってGoogle先生に伺ったら、答えがいくつかありまして、一番よさげだったのが
「crontabに書き込む」
という方法でした。
今回参考にさせていただいたのは次のサイトです。
■cron実行時の環境変数を設定(admin note)
http://admnote.paix.jp/2014/07/cron実行時の環境変数を設定/
ここでは system-wide の crontab(/etc/crontab)に書き込む方法が紹介されているのですが、わが家のPCで当該ファイルを見てみると、通っててほしい /usr/bin とかはちゃんとパスが通ってます。
たぶん $ crontab -e で呼べる一時ファイルの crontab に書き込んでやんないと、gnome-schedule で設定したスケジュールとかには適用されないんじゃないかなーと思います。
でも crontab -e で開いたところにポチポチ手打ちするのは面倒なので、また例によってターミナルで開いたままにした状態で gedit で開き、編集し、保存して閉じ、ターミナルの方も何もせずにそのまま閉じるというようなことをしました。
もっとエレガントな方法、ないんだろうか?
で、いまのところ思い通りの動作をしているように見えます。何か分かったら、また追記します。
----
(Jun.03, 2016)
「crontabに書き込む」
という方法でした。
今回参考にさせていただいたのは次のサイトです。
■cron実行時の環境変数を設定(admin note)
http://admnote.paix.jp/2014/07/cron実行時の環境変数を設定/
ここでは system-wide の crontab(/etc/crontab)に書き込む方法が紹介されているのですが、わが家のPCで当該ファイルを見てみると、通っててほしい /usr/bin とかはちゃんとパスが通ってます。
たぶん $ crontab -e で呼べる一時ファイルの crontab に書き込んでやんないと、gnome-schedule で設定したスケジュールとかには適用されないんじゃないかなーと思います。
でも crontab -e で開いたところにポチポチ手打ちするのは面倒なので、また例によってターミナルで開いたままにした状態で gedit で開き、編集し、保存して閉じ、ターミナルの方も何もせずにそのまま閉じるというようなことをしました。
もっとエレガントな方法、ないんだろうか?
で、いまのところ思い通りの動作をしているように見えます。何か分かったら、また追記します。
----
(Jun.03, 2016)
2016/05/25
crontab -e
gnome-schedule の設定を引き継ぐのに、crontab -e で生成された一時ファイルにまんま上書きしたら、コメント欄(Description)がおかしくなった、ということを書きました。
http://qubuntu.blogspot.jp/2016/05/ubuntu-mate.html
で、結局、crontab -e のファイルにある「JOB_ID_1」とかいうのの管理がうまくいってないんだろうということまでは推測できたので、ダメ元でその部分をすべて削除しました。
その上で再び gnome-schedule で読み込み、さらに crontab -e したところ、IDは「38」から始まる連番に差し替わっていました。中身はすべて空なので全部書き直しです。
最初に移植した設定の JOB_ID がプログラムが管理するテーブルと一致していなかったことは分かったのですが、じゃぁそのテーブルはどこにあるんだろう、というのはいまだに分かりません。「gnome-schedule」でファイルシステムを検索しても、それらしいファイルは見つからないんですよね。どこにあるんだろう。
VPSで動かしてる Ubuntu と自宅の録音PCで同じスケジュールを回しているので、さくっと共有する方法があればそうしたいのです。
先人の知恵にまだたどり着いてません。ソースコード読めば分かるのだろうけど、スキルに欠けるよちよちには、なかなか。てなわけで、探索は継続します。
つづく。
----
(May 25, 2016)
http://qubuntu.blogspot.jp/2016/05/ubuntu-mate.html
で、結局、crontab -e のファイルにある「JOB_ID_1」とかいうのの管理がうまくいってないんだろうということまでは推測できたので、ダメ元でその部分をすべて削除しました。
その上で再び gnome-schedule で読み込み、さらに crontab -e したところ、IDは「38」から始まる連番に差し替わっていました。中身はすべて空なので全部書き直しです。
最初に移植した設定の JOB_ID がプログラムが管理するテーブルと一致していなかったことは分かったのですが、じゃぁそのテーブルはどこにあるんだろう、というのはいまだに分かりません。「gnome-schedule」でファイルシステムを検索しても、それらしいファイルは見つからないんですよね。どこにあるんだろう。
VPSで動かしてる Ubuntu と自宅の録音PCで同じスケジュールを回しているので、さくっと共有する方法があればそうしたいのです。
先人の知恵にまだたどり着いてません。ソースコード読めば分かるのだろうけど、スキルに欠けるよちよちには、なかなか。てなわけで、探索は継続します。
つづく。
----
(May 25, 2016)
2016/05/23
Ubuntu MATE を再インストール
元々はWindows 7 Home Premiumが入っていたPCがあります。買ってすぐにUbuntuを入れてラジオ録音に使っているので、Windowsのライセンスは死蔵状態ではあるけれど、10に塗り替えとかないと有料になるらしいので、せっかくだし、HDDを大きくしてWin7を入れなおし、そこからWin10にアップグレードすることにしたのです。
Ubuntu も入れ直し。旧HDDからのシステム移植は諦めて、まっさらなところから入れ直し。その記録です。
しかし Windows ってインストールもアップグレードもむちゃくちゃ時間掛かりますねぇ。何なんだろう。関係ないけど。
----
★ crontab
「crontab -e」で生成される一時ファイルに、旧システムで確保しておいた一時ファイルを上書きしてスケジュールを移植。取り敢えず成功しましたよ。普段、スケジュールの管理は gnome-schedule でやっていて、コメント欄(description)は引き継がれなかったけど、数十件ある録音のスケジュールはそっくり移植できました。
もっとエレガントな方法、あるのかな。たぶんあるんだと信じてる。
追記:
コメント欄は cron 自体とは分離して gnome-schedule が管理しているらしく、「# JOB_ID_1」のようなコメントのようにして付いていて、gnome-schedule の方で合体して表示しているっぽい。
そこの管理が、無理矢理上書きのせいか混乱している。連番がきちんとつながらないんだと思う。やはり、もっとエレガントな方法を探さなきゃ、と思いました。crontab -e でいったん「JOB_ID」を全部削除したらどうなるんでしょうね。もっと混乱するかな。
★ rtmpdump
再コンパイル。こないだやったばかりだから、これはスムーズに。例によって、Ubuntu MATE で削られている gcc やら何やらを入れています。
★ ffmpeg
再コンパイル。これは実は久々で、苦労。しかも時間掛かるし、以前参考にしていた先人の知恵が環境の変化で頼れなくなっていて、新たなる先人の知恵を検索。
■ ubuntu14.04 にffmpegをインストールする
http://eco.senritu.net/ubuntu13-10_ffmpeg/
Ubuntu も入れ直し。旧HDDからのシステム移植は諦めて、まっさらなところから入れ直し。その記録です。
しかし Windows ってインストールもアップグレードもむちゃくちゃ時間掛かりますねぇ。何なんだろう。関係ないけど。
----
★ crontab
「crontab -e」で生成される一時ファイルに、旧システムで確保しておいた一時ファイルを上書きしてスケジュールを移植。取り敢えず成功しましたよ。普段、スケジュールの管理は gnome-schedule でやっていて、コメント欄(description)は引き継がれなかったけど、数十件ある録音のスケジュールはそっくり移植できました。
もっとエレガントな方法、あるのかな。たぶんあるんだと信じてる。
追記:
コメント欄は cron 自体とは分離して gnome-schedule が管理しているらしく、「# JOB_ID_1」のようなコメントのようにして付いていて、gnome-schedule の方で合体して表示しているっぽい。
そこの管理が、無理矢理上書きのせいか混乱している。連番がきちんとつながらないんだと思う。やはり、もっとエレガントな方法を探さなきゃ、と思いました。crontab -e でいったん「JOB_ID」を全部削除したらどうなるんでしょうね。もっと混乱するかな。
★ rtmpdump
再コンパイル。こないだやったばかりだから、これはスムーズに。例によって、Ubuntu MATE で削られている gcc やら何やらを入れています。
★ ffmpeg
再コンパイル。これは実は久々で、苦労。しかも時間掛かるし、以前参考にしていた先人の知恵が環境の変化で頼れなくなっていて、新たなる先人の知恵を検索。
■ ubuntu14.04 にffmpegをインストールする
http://eco.senritu.net/ubuntu13-10_ffmpeg/
シェルスクリプトをコピペして、ちょこちょこ手を入れて使わせていただくだけ。本当にありがとうございます。手を入れたのは、
1) 作業場所は home ディレクトリにした
2) x264 の configure の時に言われるがままに「--disable-asm」追加
3) libvpx の make でエラー。必要ないので破棄
4) ffmpeg の configure のオプションから「--enable-libvpx」削除
途中でエラーが出ると面倒なので、コマンドをひとつひとつコピペして実行していたのですが、これって基礎知識なのかもしれないけど…コマンドとコマンドを「&&」でつないである部分は、ちゃんとつないだまま実行した方がいいんですね。最後の ffmpeg のコンパイルの部分で分かりました。
★ hddtemp / MATE sensors applet
入れ替えた新しいHDDが、元々入っていたHDDより厚くてびっくり。小さい筐体の中でHDD周りの空きスペースが狭くなってしまい、放熱にやや不安が生じたので入れてみました。
★ 諸々のメディアプレイヤー
取り敢えず mplayer SMPlayer VLC を入れました。
このうち SMPlayer のインタフェイスをカスタマイズしていたんだけど、.conf の類をコピーしておらず新規インストールでやりなおし。Ubuntu 標準で入れられる SMPlayer はスキンとかの選択肢が少ないので、開発元オリジナルから再インストールしました。
★ xmllint
何かをコンパイルする時に(多分 rtmpdump)xmllint が足りなかったので、ibxml2-utils を入れました。
---------------- これで民放ラジオの録音が可能に ----------------
★ MATE の実行形式を gnome のものに偽装
gnome-schedule のコマンド実行を試すボタンが反応しないから変だなと思ったら、gnome-terminal がないのが原因でした。/usr/bin の MATE の実行形式のエイリアスを gnome のものにリネームして /usr/bin に。ついでに gedit なども。
mate-terminal -> gnome-terminal
pluma -> gedit
caja -> nautilus
★ box.com のストレージをマウント
これも最近やったはずなのに、同じ所で引っ掛かる。「mount ~/hogehoge」すると「davfs2 にユーザが追加されていない」と言われたけど、確かに追加されている。でもマウントできない → 再起動したら大丈夫だった。
★ mozc with ibus
ibus も再起動しないとアクティベートされなかった気がする。ちゃんとコマンドで restart すればよかったのかなと思うけど。
★ ウィンドウの「勝手に全画面化」抑止
デスクトップでウィンドウを上の縁に寄せるとスナップしてしまうのを抑止。
によるとスナップしないはずなのだが、初期値が変わったのか。ここでは「有効にする」方法を示してあるので、その逆をたどります。dconfエディタで「org → mate → marco → general」の「side-by-side-tiling」のチェックを外す。
★ ターミナルで何かを実行する時のウィンドウの挙動
ターミナル上でアプリケーションを起動した時に、アプリ実行終了まで実行する様子を見せたままにしたい時は「gnome-terminal -x hogehoge;hogehoge2 &」のように「&」を最後に付ける。
----
(May 23, 2016、追記:May 24, 2016)
登録:
投稿 (Atom)
楽天モバイルを台湾で使ってみた
GWに、久しぶりに台湾に赴きました。コロナ禍の間に延命していた台湾大哥大と中華電信の回線のうち中華電信の方を失効させてしまい(なぜ中華電信だけ失効したんだろう)、今回の滞在は台湾大哥大と楽天モバイルの2回線で賄うことにしました。テザリングでAndroidスマホ1台とiPad、Ma...
-
たったこれだけに1トピックを費やすのももったいないですが… $ sudo service xrdp stop で一旦停止して、 $ sudo service xrdp start で再会する。restart とかじゃないんだね。 これを調べる過程でなんだか素...
-
PCM digital Plugin のドキュメンテーション (http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html)を、自分が参照するために勝手に翻訳。PCMとかの基本が分かってないから訳せないところがたく...
-
これまで面倒に思ってきていたネットワークの Wi-Fi 化を、2台分やってみました。結果から言うと、先人のおかげでとても簡単に作業ができました、というご報告です。 今回は2台とも ac(433Mbps、規格値)で使います。自宅で使うデスクトップなので、5GHz専用で構わないと...