Linux Mint(Ubuntu)でChromeのアップデートにエラーが出る

32 bit 版の LinuxGoogle Chrome のサポートが終わりましたが、どうもそのせいで 64 bit 版の Linux でも Chrome のアップデートにエラーが出るようになりました。世界的な発現らしく、海外でも同じだということです。

対策はこのブログ記事に載っていました。このとおり実行したところ、エラーがでなくなりました。感謝です。

一応その内容をここにも書いておきます。端末で

$ sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/etc/apt/sources.list.d/google-chrome.list"
$ sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/opt/google/chrome/cron/google-chrome" 

を実行。あとは

$ sudo apt-get update

で OK です。

32 bit版 Chrome

Linux 32 bit版 Chrome はサポートされなくなりました。これもこのままだとアップデートのエラーがでるので、

$ sudo rm /etc/apt/sources.list.d/google-chrome.list

でエラーが解消されるかも知れません。ここの情報なのですが、こちらでは確認していないので(※追記 確認しました。これでいけます)、どうなのか何とも云えません。いずれにせよ既にセキュリティサポートも終了しているので、Firefox などに乗り換えるしかないようです。

Linux のHDD をまるごとコピー

Linux ってシステム丸ごとコピーできるのだな。こういうバックアップの仕方があるのか。

$ dd if=/dev/hdX of=/dev/hdX


Ubuntu日本語フォーラム / 新しいHDDにまるごとコピー
DDコマンドで物理ディスクをバックアップする - kurobaraのブログ

 

※追記
dd_rescue というのもある。実際はこちらを使った方がよいようだ。Wikipedia

自宅サーバを立てるために最小限度すること

以前から遊びで自宅サーバを立ち上げたいと思っていて、とりあえず最小限度何をすればよいか調べました。
とりあえず CentOS などで本格的なサーバを立てるのではなく、まずはふつうの Ubuntu 14.04 でやってみました。


まず、家庭の LAN に割り当てられているグローバルIPアドレスはふつう変化する(動的)ので、これを固定するサービスを導入するか(これはたいてい有料オプション)、あるいは No-IP などの「ダイナミックDNSサービス」を使う必要があります。No-IP は無料プランがあるので、それを使ってみました。これで自分の家の LAN に URL が割り当てられ、この URL でインターネットからアクセスするわけです。

それから、LAN内のプライベートIPアドレスもふつう変化するので、サーバに使う PC のIPアドレスを固定しなければなりません。自分は UbuntuGUI で設定しましたが(参照)、ぐぐるCUI で設定するのが普通らしいです。自分のところのルーターDHCP を使っていますが、家庭内の他の PC はそのままで、自分の PC の IPアドレスだけを固定できます。

次に、いわゆる「ポート開放」というのをやってやらねばなりません。これをやらないと、WAN(インターネット)の方から LAN 内のサーバにアクセスできないからです(ルーターが余計なアクセスを遮断するので)。これはルーターの設定になるので、僕のバッファロー製のルーターだと http://192.168.11.1/ にアクセスして設定します(参照)。ルーターが「静的IPマスカレード」をサポートしている必要があります。


自分の場合は、ネットワークの設定は以上でした。

次はサーバを用意します。ぐぐると普通は Apache を使う例が多いですね。自分はとにかく最小限度でとりあえず動かそうというのですから、いつも Ruby を使っているので、標準添付ライブラリの簡易サーバである WEBrick を使いました。これは非常に簡単に使えるので、以前 LAN内で試しに動かしてみたことがあります(ここ)。これをそのまま流用して、公開用の HTTPサーバとして使いました。適当なサンプルの HTML を用意して、実行してみます。

以上でお終いです。本当にインターネットから接続できるか、自宅の LAN ではないところから、No-IP から取得した URL でブラウザからアクセスしてみます。サンプルの HTML で指定されたようにブラウザで表示されれば、実際に接続できることがわかります。

なお、以上ではセキュリティ上のことは特に何もしていません。これは次の課題だな。


細かいところは、以下の自分の日記ブログの記事も参考になるかも知れません。
自宅サーバにまず何が必要か
自宅サーバをインターネットに公開する
ひきつづき自宅サーバ


※追記(3/10)
サーバを立ち上げるとき、「`bind': Address already in use」のような表示が出てエラーになる場合は、たぶん既にソケットが使われているのである。そういう時は $ ps x でソケットを探しだしてプロセスを kill し、サーバを再スタートさせてみる。

Linux Mint(Ubuntu)で効果音を鳴らす

/usr/share/sounds/ あたりに色いろな音が入っています。

Linux Mint 17.2 では

$ paplay /usr/share/sounds/freedesktop/stereo/complete.oga

などで鳴ります。色いろ試してみて下さい。

※参考
Ubuntu日本語フォーラム / ビープ音が鳴りません

SSH でファイル転送(Linux)

LinuxUbuntu)同士でファイルを手で移してやるのが面倒なので、SSH を使ってみることにしました。とりあえずローカル(インターネットに出ない)で使う前提です。

まずサーバー側に OpenSSH を入れます。

$ sudo apt-get install openssh-server

インストールしたらサーバーを再起動します。

$ sudo service ssh restart

サーバー側はこれで OK です。


クライアント側から画像ファイルを送ってみます。送りたいファイルの場所へ移動して下さい。name はユーザー名、***.***.***.*** はサーバーの IPアドレスです。実行するとパスワードを求められるので、入力して下さい。ファイルはホームのトップに転送されます。

$ scp biwako.jpg name@***.***.***.***:~/

ディレクトリも再帰的に送れます。-r オプションで再帰的に転送します。

$ scp -r 琵琶湖周遊旅行 name@***.***.***.***:~/


※参考:
聖杯を探して - Quest for Holy Grail - : Ubuntu 14.04でSSHの設定
Linuxコマンド【 scp 】リモートマシンにファイルコピー - Linux入門 - Webkaru

Linux Mint で Ruby/Tk

LinuxRuby で Tk を使いたい場合、bundler ではインストールできません。Ruby インストール時に一緒に入れるようです。自分は既に最新の Ruby 2.2.3 を Tk なしでインストールしていたので、rbenv を使って Ruby 2.2.2 + Tk を入れてみました。

$ sudo apt-get install tk-dev
$ CONFIGURE_OPTS="--with-tcltkversion=8.6 --with-tcl-lib=/usr/lib/x86_64-linux-gnu --with-tk-lib=/usr/lib/x86_64-linux-gnu --with-tcl-include=/usr/include/tcl8.6 --with-tk-include=/usr/include/tcl8.6 --enable-pthread --enable-shared" rbenv install 2.2.2

で、Tk 付きの Ruby 2.2.2 がインストールされます。

テストとしては

$ ruby -e "require 'tk'"

でエラーが出なければ成功です。

初めてのRuby』にあるサンプルコードを写しておきます。

require 'tk'

TkLabel.new {
  text "Hello, world!"
  bg "red"
  pack
}
TkButton.new {
  text "Close"
  command {exit}
  pack
}
Tk.mainloop


順に数字を表示させる。

require 'tk'

def pout
  l = TkLabel.new
  for i in 1..3
    l.text("#{i}").pack.update
    sleep(1)
  end
  exit
end

e = TkButton.new('text'=>'start', 'command'=>proc {pout}).pack
Tk.mainloop


参考:
Ruby 2.2.0でRuby/TKを使えるようにするconfigureオプション - ござるのブログ
Ubuntu 14.04にrbenvでRuby 2.2.3をインストールし、Ruby/Tkを有効にする - ksino's diary

Rubyを256倍使うための本 界道編

Rubyを256倍使うための本 界道編

virtualenv で Python 3.4 にNumPy を入れる

$ sudo apt-get install python3.4-dev

が必要です。あとは source bin/activate で環境に入ったあと、

$ pip install numpy

で OK です。ついでに

$ pip install scipy

で SciPy もインストール。Linux Mint 17.2 で確認しました。

参考:
Python - Ubuntu 12.04 LTS Serverのvirtualenvにnumpy scipyなどを入れる - Qiita
1.3. NumPy: 数値データの作成と処理 — Scipy lecture notes