Network interfaceのnamespaceを移動する例

次の例では、次のmyif1がNetwork Interface。ns1が移動する先のnamespace。
# ip link set myif1 netns ns1
また、defaultのnamespaceに戻す時は、次のとおり。最後の1はinitプロセスのPID。最後の引数には、namespaceのほか、関連付けたいプロセスのPIDを指定することもできる。
# ip link set myif1 netns 1

vethペアの作り方

ikaとtakoを作る例
$ sudo ip link add ika type veth peer name tako
確認方法は次のとおり。
$ ip link | grep ika
10: tako@ika:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
11: ika@tako:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
あるいは、
$ sudo ethtool -S ika  
NIC statistics:
     peer_ifindex: 10
$ ip link | grep ^10
10: tako@ika:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

CentOS6.8でパッケージのソースを取得する。

/etc/yum.repos.d/の下に任意の名前(例えばcentos-source.repo)で以下を保存する。
[base-src]
name=CentOS-$releasever - Bese -src
baseurl=http://vault.centos.org/6.8/os/Source/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates-src]
name=CentOS-$releasever - Updates - src
baseurl=http://vault.centos.org/6.8/updates/Source/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
で$ yumdownloader --source package名でOK

ansibleでUNREACHABLEでエラーになる場合の対応方法

以下のようなメッセージが出力される場合、
fatal: [host]: UNREACHABLE! => {"changed": false, "msg": "ERROR! SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true}
次のように、sftpの代わりにscpを使う
ANSIBLE_SCP_IF_SSH=y  ansible-playbook -i staging site.yml -u root -k

Linux上で再生している音声を録音する。

parec --file-format=wav > name.wav
なお、複数の再生デバイスがあり、それがデフォルトでない場合、pavucontrolコマンドでで音量調整(Volume control)ツールを起動して、録音タブで希望の入力ソースを選ぶ。


Apple TVのクロッシーロードでマルチプレイできないときの対処


  • アプリを一旦終了(Apple TV、iOS両方)
  • 再起動(Apple TV、iOS両方)
  • 無線LANルーターを再起動
  • アプリを一旦削除して、再度インストール(Apple TV・iOS両方)
私の場合、最後の項目を行うとうまく動作した。

XFCEでVNCしたときにTABが機能しない問題の解決法

~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xmlに次の変更を行う。
-      <property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>
+      <property name="&lt;Super&gt;Tab" type="string" value="empty"/>

【欅坂46】2016/8/11 めざましライブ

お台場みんなのゆめ大陸に設置されたステージでのパフォーマンス。
整理番号順に入場。整理番号は2000以上あった。整理番号1000までは14:30に集合、それ以降は15:00に集合だった。天気は晴れ。かなり暑い夏の日でした。

セットリスト

  • 渋谷川
  • サイレントマジョリティ
  • 手をつないで帰ろうか
  • 世界には愛しか無い
  • <アンコール> サイレントマジョリティ
世界には愛しかないの2番を生で初めて見た。ゆっかと、すずもんのダンスが良すぎて震えた。あと、冒頭でMVのように観客が叫ぶのは、かなり浸透してそう。やっぱりセカアイいいなぁ。この季節、ジョリティより気分があがる。アンコールには「語るなら未来を」を期待したが、サイレントマジョリティでした。

ガチな欅ヲタ以外の観客も多かったように感じた。サイリウムや公式タオルなどを持っているひは半分ぐらい。ジャンプしたり、振りコピしたりする人もぼぼち居た。全国握手会のミニライブやUTBのライブなど、これまでのライブではあまり見ない感じだ。

MacのOS X (El Capitan)でBluetoothのAACを有効にする


  • Hardware IO tools for Xcode (例:Hardware_IO_Tools_for_Xcode_7.3.dmg)をApple Developerからダウンロード。
  • .dmgファイルをダブルクリックすると、ファイルが幾つか表示されるので、"Bluetooth Explorer"を開く
  • GUIアプリは起動しないので、command + tabでBluetooth Explorerに切り替える
  • メニューからTools -> Audio Options...を選択
  • Enable AACにチェックを入れる

確認方法

ペアリング後、Bluetoothのアイコンをoptionを押しならがクリックする。当該デバイスの「有効なコーデック」項目を確認。

tcpdumpでvlanタグやMACアドレスを表示する

-eオプションを付与する。

tcpdump -i eth0 -e icmp
下図の赤線部のようにEthernet headerの情報が表示される。この中で四角で囲った部分がvlanタグ。

参考

Ethernetパケットの構造については、以下を参照

Ubuntu 16.04でBose Quiet Comfort 35を接続する。

デフォルトでは、Quiet Comfort 35 (QC35)がペリングできませんでした。以下のように設定を変更します。

/etc/bluetooth/main.confのControllerMode = dualを以下に変更。
ControllerMode = bredr
その後、bluetoothデーモンを再起動。
$ sudo systemctl restart bluetooth
なお、オーディオシンクとしての登録に失敗する場合、以下を参照。
Ubuntu 14.04/14.10/16.04でBluetoothヘッドホンを接続する。

CentOS6系でgcc (g++) 4.8を使う。

C++11のある程度の機能を有するgcc (g++) 4.8をインストールする。
# wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
# yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
以下のコマンドで有効化できるようだが、私の環境では機能しなかった。
$ scl enable devtoolset-2 bash
おそらく、.bashrcの中でPATHを明示的に設定しているためだろう。なので、以下の記述を.bashrcに加えた。
DEVTOOLSET2_DIR=/opt/rh/devtoolset-2
DEVTOOLSET2_BIN_DIR=$DEVTOOLSET2_DIR/root/usr/bin
if [ -d $DEVTOOLSET2_BIN_DIR ]; then
  export PATH=$DEVTOOLSET2_BIN_DIR:$PATH
fi

このブログのpreタグのスタイル

背景を明るいグレー。それをやや濃いグレーで囲む。
余裕のある感じを出すため、paddingを設定。
pre {
  border-width: thin;
  border-color: #c0c0c0;
  border-style: solid;
  background-color: #f0f0f0;
  padding: 0.5em;
}

N54LでCentOS7が起動しなくなる問題の回避方法

以前、この記事で、HP N54LにインストールしたCentOS7をアップデートしたらカーネルが起動しなくなったことを報告した。カーネルのコマンドラインに次の設定を追加することで回避できることが分かった。
initcall_blacklist=clocksource_done_booting
CentOS7なら/etc/default/grubのGRUB_CMD_LINE_LINUX行に以下のように設定を追加。
GRUB_CMDLINE_LINUX="vconsole.keymap=us vconsole.font=latarcyrheb-sun16 rhgb quiet initcall_blacklist=clocksource_done_booting"
そののち、次のコマンドでgrub.confに反映してリブート。
# grub2-mkconfig -o /boot/grub2/grub.cfg

欅坂46公式グッズ到着

タオル、キターーーー(・∀・)ーーー!!

5月下旬に発送って書いてあったから、月末くらいかと思ってたけど、5/17に発送のメールが来て、5/18に到着。
これを持ってUTB Night Vol.2に行くぞ。

 

ヒンティングを無効にするfonts.conf例

$ cat .fonts.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit mode="assign" name="hinting">
            <bool>false</bool>
        </edit>
    </match>
    <match target="font">
        <edit mode="assign" name="antialias">
            <bool>true</bool>
        </edit>
    </match>
</fontconfig>

LinuxでのVNCサーバの起動例

$ vncserver :2 -geometry 1280x800
パスワードの変更は、vncpasswdコマンドで行う

Ubuntu 14.04でkernelのデバッグシンボルをインストールする

/etc/apt/sources.listに以下を追加して、apt-get updateを実行。
deb http://ddebs.ubuntu.com/ trusty main restricted universe multiverse
deb http://ddebs.ubuntu.com/ trusty-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ trusty-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com/ trusty-proposed main restricted universe multiverse

欅坂46サイレントマジョリティ発売記念ミニライブ

ミニライブの観覧エリアはEブロックでやや後ろ。それでも現場の雰囲気はいいね。デビューカウントダウンライブ外れたから、なおさら、待ち遠しい。真夏さんの個握1部の後に来たけど、時間的にも、無理なくていいや。

今朝の海浜幕張の混雑、ヤバいと思った。乃木坂の個握の混みはいつも通りだったから、主要因は欅か?昨日、乃木坂は、全握だったみたいだけど、混雑はどうだったんだろう。最近、2chもあまり見てないから状況わからないや。

実は、今朝、駅を降りてから流れについていって、欅のグッズ、ライブのほう(裏の搬入口のほう)に来て、一旦引き返した。おかげで、再度、こっちに来るのがスムーズだったけど。


サイレントマジョリティ発売

公式の発売日より1日速いが、ヨドバシカメラで注文していた欅坂46のデビューシングル、サイレントマジョリティのType A, B, Cが届いた。(まあ、forTuneのほうも来たけど)

同封の写真は、平手ち、ずーみん、べりさだった。かなり当たりか。

Intelマシンで、IOMMUを使用する。

次のようにしてIOMMUを有効にしてカーネルがビルドされているか調べる。以下の例は、Ubuntu 14.04.3 LTSの3.19.0-56-generic。
# grep INTEL_IOMMU /boot/config-`uname -r`
CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
上記のようにCONFIG_INTEL_IOMMUはyだけど、CONFIG_INTEL_IOMMU_DEFAULT_ONがセットされていない場合、起動オプションにintel_iommu=onを指定する必要がある。

Ubuntu 14.04なら、/etc/default/grubに以下の記述を加える。
GRUB_CMDLINE_LINUX="intel_iommu=on"
そして、grub.cfgを更新して再起動。
grub-mkconfig > /boot/grub/grub.cfg 
成功すると次の文字列がカーネルメッセージに現れる。
 $ dmesg | grep Intel-IOMMU
[    0.000000] Intel-IOMMU: enabled

Y!mobile:アドバンスモード:速度計測:浜松町

下りの速度は57Mbpsと速い。上りはそれほどでもないが。

地下なのでそもそも、アドバスモードで通信できるか不安だったが、近くにアンテナがあるのかな。
  • 回線:Y!mobile
  • ルーター:305ZT
  • アドバンスモード
  • PC:MacBook (2015)
  • ブラウザ:Chrome 49.0
  • サイトspeedtest.net
  • 測定場所:浜松町貿易センタービル地下一階サンマルク
  • 日時:2016/3/20 14:15ごろ

HP N54LでCentOS7がブートしない

カーネルをアップデートしたら、起動時にPanicを起こして停止するようになった。 以下のカーネル3.10.0-327系で現象を確認。
  • kernel-3.10.0-327.4.5.el7.x86_64
  • kernel-3.10.0-327.4.4.el7.x86_64 
次の3.10.0-229系だと起動して動作している。
  • 3.10.0-229.14.1.el7.x86_64
よりバージョンの低いカーネルをデフォルトで起動するには、そのカーネルが記述されている /etc/grub2.cfgのmenuentryの順番を指定すればよい(0から数える。書き例では上から3番目のエントリ)。
# grub2-set-deafult 2

linuxでのvxlanインターフェイスの作成

ip link add vxlan0 type vxlan id 1 group 239.1.1.1 dev eth0

debian (ubuntu)系ディストリビューションで、自動的にインターフェイスを起動する場合、/etc/network/interfacesに以下のような記述を行う。

auto vxlan1
iface vxlan1 inet manual
  pre-up    ip link add $IFACE type vxlan id 1 group 239.1.1.1 dstport 4789 dev eth0
  post-down ip link delete $IFACE
このInterfaceをブリッジのひとつにする場合の例
auto br1
iface br1 inet static
  address        172.27.0.1
  netmask        255.255.0.0
  network        172.27.0.0
  broadcast      172.27.255.255
  bridge_ports   vxlan1
  pre-up         ifup vxlan1

ターミナルのキャプションを変更する例

$ echo -ne "\033]0;Oyster\007" 
青字の部分を適宜変更
次のキャプチャは、XFce4環境でのもの。

タイトルバーが変更された

スターテスバーのWindow一覧

Experia Z3 + iijmioでテザリングする方法

iijmioのSIMに変えて直後、テザリングが出来なくなった。 ちょっとしらべると、このサイトが参考になった。
$ settings put global tether_dun_required 0

東京駅、東北・上越・北陸新幹線待合室WiFi速度

JR-EAST_FREE_Wifiというサービス。 日曜の朝というもあったのかもしれないが、かなり満足の速度。

0 simが届いた

先週のサービス発表日に注文したSo-net 0 simが届いた。iPhone 5sに装着して、ちょっと使ってみた。基本的には問題ない。speedtest.netの結果は以下のとおり。場所は、港区浜松町付近。同日の12:00ごろに試した時は、ダウンロードがこれより少し早い約1.0Mbpsであった。そもそもこのSIMの使い道は普段それほど使わない端末に入れておいて、メールやメッセージを送受信することだから、その速度でも総合的には満足。


MacBook 12inchは熱くなるとトラックパッドのタッチで音がする?

普段MacBook 12inch(2015)をハードに使うことは、ほとんどありません。プログラム開発では、サーバーにログインして、リモートで編集とビルドを行っています。あるとき、このマシンでやむを得ず、写真のRAW現像をLightroomを使って行いました。使っていると、トラックパッドに触れる度に「カタカタ」と小さい音がします。こんな音いつもしてたっけ?って思ったのですが、作業を続行しました。作業が終わってまもなくすると、その現象は不再現になったので、おそらくLightroomを使ってる時に本体が熱くなって、発現したのではないかと思われます。

gitでマスター以外のブランチを一気に削除する

$ git checkout master && git branch --color=never | grep -v master$ | sed "s/^/git branch -D/" | sh

安価にキャリメール、回収代行を維持する(ドコモ)

昨今、OCNやiijmioのようなMVNO回線にGMailなどのような環境を主に使用している方も多いと思います。 ところで、いくつかのサービスは、キャリメールのアドレスが必要だったり、キャリアの回収代行を利用しています。そこで、私が利用しているキャリア回線とメールを持つ方法を記します。

第一段階:ドコモ回線の契約

  • ドコモのFoma携帯(いわゆるガラケー)を以下の内容の契約
    •  FOMAタイプシンプルバリュー(743円)
    •  ファミ割MAX50/ひとりでも割50
    • iモード(300円)
    • パケホーダイシンプル(従量制。iモード未使用なら0円)
上記の組み合わせで、月額1126円(税込み)でdocomo回線を維持できます。

回収代行の利用だけが目的なら、これでよいですが、 iモードメールを使うのであれば、それに応じてパケット利用料金が増えます。その料金を抑制する方法を次節で紹介します。

第二段階:SPモードとドコモメールの利用

  • my docomoなで、SPモードを契約する 
ISP割という割引があり、iモードとSPモードを両方契約しても、300円と料金は変わらない。なぜ、SPモードを契約するかというと
  1. SPモードのメールアドレスが手に入る(もちろんドメインは@docomo.ne.jp)
  2. クラウド版のドコモメールを使用するのに必要
1.はキャリアメールのアドレスが手に入ると同時に、iモードのメールアドレスとは別にもうひとつ、取得できるため、FOMA端末にメールが送信されることを抑止できる。これは、従量制のパケホーダイシンプルを0円で維持するために重要である。

2.を行うためのプロセスは若干面倒なのだ。
  • FOMAに装着されているSIMをdocomoのスマホに挿入して、マルチデバイス設定を行う
設定の詳しい手順は、docomoの公式サイトにインストラクションに記載されている。この設定は、WiFi経由では行えないので、わざわざスマホを使用する必要がある。

※スマホにSIMを挿入して起動すると、アプリがバックグランドで通信を始める可能性がある。そうすると、パケホーダイシンプルでは高額の請求がくる可能性があるので、なるべくアプリを削除しておいたり、直前までWiFiをONにしておいて、なるべく通信が発生しない状況にしておく必要がある。

あとは、ドコモメールのブラウザ版を使ったり、他のメーラーで読むことができる。




sbtでscalacにオプションを渡す方法

sbtでビルドしている時に次の警告がでることがある。
[warn] there were 1 feature warning(s); re-run with -feature for details
メッセージのように-featureオプションをつける方法は、build.sbtに次の行を追加します。
scalacOptions += "-feature"
なお、複数のオプションを指定するには次のようにする。
scalacOptions ++= Seq("-feature", "-deprecation")

OS XでGoogle日本語入力をつかう

MacBook (2015)で日本語入力を行っていると、OS X標準のことえりの動作が、かなり遅くなることがしばしばあった。思い切って、Google日本語入力に変更すると、超絶速くなってとっても快適

インストールは、公式の配布サイトからインストールイメージをダウンロードして、実行すればOK。

アイコンの形状は、ことえりと同じだが、青い色が特徴的。

0 simに早速申し込んでみた。

500MBまで月額0円という魅力的なサービス0 simが登場。

複数台スマホを持っている自分としてはぜひとも欲しかったサービス。他のスマホのテザリングで接続したり、公衆Wi-Fiに接続したりするのは案外面倒だし、公衆Wi-Fiは3G/LTEより不安定な場合が多い気がする。

 iPhoneでの使用を想定しているので、SMSがあったほうが何かとよい(アンテナピクトや、バッテリ消費問題の回避できる)と思い「データ+対応プラン」を選択した。月額150円かかるが、まあ、利便性を考えると全然あり。


約1週間でのお届けということで、それを楽しみの待ちます。

プロセスの環境変数を調べるする例

cat /proc/13813/environ  | sed  "s/\x0/\n/g"
envrionは、環境変数の区切りがNULL文字になっているので、それを改行に変換すると見やすい。

CentOS7で全てのLXCインスタンスの稼働状態を表示する

CentOS7のlxc-infoコマンドは、Ubuntu 15.10のような-fオプションがない。なので、すべてのコンテナの稼働状態を一度に表示できない。

次のようにlxc-infoと組み合わせることで似たようなことは可能になる。
 # lxc-ls | awk '{ print "lxc-info -n " $1 }' FS=" " | sh
Name:           lotus
State:          STOPPED
Name:           renkon
State:          STOPPED
Name:           sa
State:          STOPPED
sedを使ったバージョン
# lxc-ls | sed -e "s/ /\n/g" -e  "s/^/lxc-info -n /" | sh

Ubuntu (Debian)系でNetwork interfaceの起動時にスクリプトを実行

次のいずれか

  • /etc/network/interfaceの中のiface項目にpre-up, up, post-up, pre-down, down, post-downとコマンドを記載する
  • /etc/network/if-*.dにコマンドを配置する
この際、以下の環境変数が使用可能
  • IFACE
    • Interface名
  • MODE
    • start or stop
  • PHASE
    • pre-up, post-upなど
より詳しい情報は下記manを参照。

Ubuntu 15.10でのNetworkManagerの停止方法

デスクトップマシンなど、NetworkやIPアドレスが動的に変わることが少ない状況では、NetworkManagerは少し鬱陶しい。次のコマンドで停止できる。
$ sudo systemctl stop NetworkManager
$ sudo systemctl disable NetworkManager
2行目は、次回の起動以降立ち上げないようにするための設定

Linuxで無線LAN I/Fの情報を表示する。

$ iw list

Ubuntu 15.10を無線LAN APにする。

Wireless Network Adapterとして、次の製品を使用。価格は1000円弱。

BUFFALO 11n対応 11g/b WLI-UC-GNM2
ドングルを指して、hostapdをインストールする。
$ sudo apt-get install hostapd
次いで、/etc/hostapd/hostapd.confを次のように記載する。
interface=wlan0
bridge=mybridge
hw_mode=g
ieee80211n=1
ssid=AP_NAME
channel=3
wpa=2
wpa_passphrase=PASSWORD
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ignore_broadcast_ssid=1
青字の部分は適宜変更。ignore_broadcast_ssid=1を設定するといわゆるステルスAPになり、パソコンやスマホのAP一覧に表示されない。この挙動が不都合な場合は、この行を削除。

また、/etc/default/hostapdのDAEMON_CONFに上記のファイル名を記載する。
DAEMON_CONF="/etc/hostapd/hostapd.conf"
その後、systemdの設定をして完了。
$ sudo systemctl enable hostapd
$ sudo systemctl start hostapd

GMailで迷惑メールに過って分類されるのを回避する。

送信者を連絡先に追加します。

その方法の一つは、メールを開いて、右上のメニューから「連絡リストに...さんを追加」(...の部分にはメールの送信者が入ります)をクリックします。



  参考

Ubuntu 15.10でCentOS7のLXCコンテンナを作成

青字部を、適宜変更。
# lxc-create -n name -t centos -- -R 7
実行後、/var/lib/lxc/name/tmp_root_passにパスワードが格納されている。ホストマシンからのパスワード変更は次のコマンドで行える
chroot /var/lib/lxc/name/rootfs passwd

Ubuntu 15.10のsshdでarcfour128を許可する

Ubuntu 15.10のsshdが許可するCiphersは、man sshd_configによると以下のとおり。
The default is:

aes128-ctr,aes192-ctr,aes256-ctr,
aes128-gcm@openssh.com,aes256-gcm@openssh.com,
chacha20-poly1305@openssh.com
安全なLANやVPNを通じた接続では、強い暗号を使う必要性が低下するので、スループット向上とマシン負荷軽減のためにarcfour128を使いたい場合、以下の設定を行う。

1. /etc/ssh/sshd_confに以下の行を加える
Ciphers arcfour128,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
2. sshdを再起動
# service sshd restart