Posts on linux

快適!全部入りメディアサーバ自作のススメ。

超低消費電力なARMマイコンLinuxサーバとして活用できるRaspberry Pi。 我が家では、既に販売終了している初代のRaspberry Pi 1 Model Aが現役で活躍中です。 そんな我が家の家庭内LAN上に張り巡らせた、超快適環境を提供してくれるサーバ群を紹介します。 というより、そろそろ整理しておかないと、壊れた時に困りそうな気がして、慌てて書き出したというのが正直なところ^^; 提供サービス一覧@Raspberry Pi 低消費電力を活かして、Raspberry Piには常時稼働が必要な、それでいて負荷が少ないサービスを割り当てるのが得策です。OpenVPNは負荷が低いサービスに入るのか…? 一般的なマイコンより高性能とはいえ、さすがにx86 Core2/CoreiなどのCPUには劣るARM。目的が違うのでしょうがない。 そういうわけで、我が家では以下のサービスがRaspberry Piで稼働しています。ディストリは標準的なraspbian。 サーバサイド クライアントサイド 名称 価格 概要 名称 価格 概要 OpenVPN free 家庭内LANに安全にアクセス。 OpenVPN Connect free iOSアプリ。家庭内LANに安全にアクセス。 OpenVPN Connect free Androidアプリ。機能はiOSアプリと同様。 BIND9 free 家庭内LANの名前解決に。…

Raspberry Pi Zeroセットアップでするべき事4つ。

raspbianインストール手順は公式ページにあるので、そちらを参照するとして…。 実際に使える状態に持っていくためにすべき事をまとめておきます。 X起動をやめる 独立電源でスタンドアロンで働いてもらうので、重い&消費電力デカイXは不要。 Raspberry Pi ZeroのMini HDMIを適当なディスプレイに繋いで起動して、ターミナルから以下のコマンドを実行し、再起動すると、めでたくXを無効にできます。 $ sudo systemctl set-default multi-user.target $ sudo reboot 以前は/etc/initrdの設定を変更していたはずですが、今後は組みこみLinuxも軒並みsystemdになっていくんですかね。 キーボードレイアウトを日本語109に変更する 英語101キーボードを使っている人には関係ないですが、自分は日本語109キーボードを使っているので、設定しないと記号入力がとても不便。 以下のようにします。 $ sudo dpkg-reconfigure keyboard-configuration 使っているキーボードそのものズバリな機種はもちろん存在しないので、適当にDellとかのJapaneseキーボードを選択してやると、ちゃんと動作します。 ネットワーク(無線LAN)に繋ぐ Zeroという名の通り、Zeroには何も付いてません。Raspberry Pi 1/2/3には普通にあったEthernetポートですら…。 ということで、後々楽チンな無線LANを設定します。 生産終了しちゃってますが、バッファロー製のwli-uc-gnという無線LANドングルは、何も追加インストールせずに動作しました。 BUFFALO Air Station NFINITI…

$5(約500円)Linuxボード、Raspberry Pi Zeroが再入荷してる!

Raspberry Pi Zeroが一向に入荷しないなぁ… と、いつも通り諦めつつ在庫チェックしていると… 入荷してる! ココです↓ adafruit PIMORONI MICRO CENTER はい、全部海外サイトです。購入時の送付先住所を英語で入力するというハードルと、高めの送料、為替レート換算が必要になります。adafruitで最安送料を選択すると、以下のようになりました。 Raspberry Pi Zero - Version 1.3 $5.00 USD 1 $5.00 USD Shipping and handling $29.86 USD Exchange rate: 1 JPY = 0.00954112 USD 以前は入荷と同時にSold Outだったのが、今回は余裕ありますね。お一人様一品限りという制限のおかげか…? でもこの制限、海外から輸入する立場の人間からすると厳しすぎ…。だって、$5ボード1枚購入するのに$29.86の送料って、…

bashでファイル末尾を0埋めする方法。例えばLinuxカーネルのページサイズでalignしたい場合。

文字列の先頭や末尾を0埋めする方法はよくあるんですが、ファイル末尾を0データで埋める方法って、なかなか見つからなかったので、書いてみました。 こんなの一体いつ使うのか? と聞かれたら、使う機会は早々ないのであまり役に立たないかもしれないです(・_・; が、例えばinitramfsイメージファイルをLinuxカーネルのページサイズでalignしたい場合に役立ちます。 …絶対使わなそうですが、以下のようなスクリプトを書いてtest.shとして保存しておき、test.sh target.bin 4096のように実行すれば、target.binの後に0データを付加して4096バイトでalignしてくれます。 #!/bin/bash FILE_TARGET=${1} SIZE_PAGE=${2} function get_file_size() { FILE=${1} echo $(LANG=C ls -l ${FILE} | cut -d' ' -f5) } function get_printf_format() { SIZE_PAD=${1} while [ ${SIZE_PAD} -gt 0…

chmod 777 禁止!

何も考えずにchmod 777 ${some_file}するの、やめて本当にマジで。 そのファイルの所有者やグループ設定、何の意味もなくなっちゃうでしょ! 誰でも読み書き削除できちゃうじゃんか! というニュアンスが、拙い英語だとほぼ通じない。特に相手は強者インド人。 自分:「このsleep 10は何のためにあるの?」 インド人:「ああ、2秒くらい待てば良い?(言いながらsleep 2にチョチョイと修正)」 自分:「修正する前に質問に答えなさい!」 万事がこんな感じ。Don't set three seven! Any process accidentally write or remove the file!なんて言ってみたところでBut that's more convenient.と返されるだけ…。 本当に必要な権限なんだったら、せめてchmod a=rwx ${file}にして。実行権を追加したいのなら、chmod a+x ${file}して。man chmodすれば詳しい使い方出てくるんだから。 NAME…

linux上でiOSアプリを開発できるらしい。

日経BPを流し読みしていたら、衝撃的な記事を発見。 米Appleがプログラミング言語「Swift」をOSSとして公開、Linux対応も 米Appleは2015年12月3日(米国時間)、プログラミング言語の「Swift」をオープンソースソフトウエア(OSS)として公開した。 Appleが今回リリースしたSwiftコンパイラーは、従来対応する「iOS」と「OS X」に加えて、新たに「Linux」にも対応した。これによって開発者はSwiftを使ってiOS、OS X、Linuxの三つのOSに対応したアプリケーションを開発できるようになる。 ただし、以下注意点。 なおAppleの「App Store」を使ってiOSやOS X向けにアプリケーションを配信/販売するには、Apple純正の開発環境である「Xcode」に付属するSwiftを使う必要がある。OSS版のSwiftのみを使い、Xcodeを使わずに開発したアプリケーションは、Appleによるアプリケーション審査をパスできない。 それでもlinux上で動作するアプリケーションをswiftで開発できるなら、学習するモチベーションが5割増です。 早速インストールしてみよう。…