サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブックレビュー
qiita.com/kwi
Ubuntu で NetworkManager off 設定なマシンで、IPv6 の付け方を調べたメモ。詳しくは man ページ参照のこと。 /etc/network/interface で設定する。dual stack 環境なので iface を複数書くべし。 inet6 auto というのは、SLAAC なアドレス自動設定を指している。「RAを元によろしく全部やる」という意味ではないことに注意。DNS 設定などは、まだまだDHCPv6で配布するケースが多いと思うので wide-dhcpv6-client パッケージをインストールして、auto にさらに dhcp 1 オプションを追加する。 inet dhcp というのは DHCPv6 でアドレス設定とその他の設定をすることを指している。 まとめると例えばこうなる。IPv6 で auto と dhcp 両方設定して構わない。 auto
昨今の Linux での仮想マシン、コンテナの使われ方をみるに、一つのマシンの中で netdev がたくさん存在するケースは普通になってきたと思う。そんな状況で見かけた恐ろしい現象。 snmpd を起動させるだけで CPU 100% で回り始める。 再現方法は後述するけれども、調べてみると、同様の現象に見舞われている人たちがみつかる。中でも詳しいのはこの記事 で、巨大な BGP routing table を持つシステムの例と、数千の VLAN を持つ例も同様なんだそうな。原因は定期的なキャッシュ更新で、ipaddress, netdev の数に対して、爆発的に増大するアルゴリズムが使われているため。私も調べてみた限りでは、手っ取り早く設定ファイルで抑制する方法は存在しない。 単純に時代の変化で、net-snmp snmpd が作られたころと今とで想定数が異なるんだろうな、というのは理解で
csv ファイルの中身を SQL で検索したいときがたまにある。 q というコマンドが開発されている。ほとんどは grep で何とかなってしまっていたので、まともに取り組んだことはなかったのだけど、気が向いて使ってみた。 そして中身を覗いてみたら sqlite を使っている模様。少し調べてみると、今なら sqlite csv virtual table で役目を果たしそう。ちなみに q が記事で取り上げられたのは 2015-08 で、csv extension がリポジトリに入ったのは 2016-08 ですね。 q みたいに気軽に使うには、bash の関数で環境に置いておけばいいかな。 # example: # q "select c1 from rootname" # where columns are "c"+number and tablename from filename "ro
iw コマンドといった genl (generic netlink) を使った複雑な nl80211 を観察するときにも、大変便利。 使い方 nlmon な netdev を作って、Wireshark でモニターすればよい。 root@minimal-xenial:~# tshark -i nlmon0 -V Running as user "root" and group "root". This could be dangerous. tshark: Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:44: dofile has been disabled due to running Wireshark as superuser. See https://wiki.wireshark.org/Cap
Code for Kobe で活動していますが、定例会の枠は魔法のように満員御礼状態。たまには自分のネタを出してみたいと思いつつアドベントカレンダーに書いてみることにしました。Civic Tech Advent Calendar 2016 の記事です。 最近は未就学児童を対象とした施設の状況を調べています。ニュースでもよく話題になりますし。話題になる割にはデータがよく見えないと感じているのですが、どうなんでしょうか。複雑な制度なのですが、現在当事者となっていることもあり、試しにデータを集めはじめました。 「子ども・子育て支援新制度」というもので、詳しくは内閣府のページに書いてあります。これまで幼稚園・保育所とあったのを、より一体に運営できるように「こども園」という制度に乗せて、地方自治体に移管していく、というのが大枠です。施設運営には給付金が設定されました。また地方自治体は制度利用にあたっ
L-02C で qmi 接続できるようになった ので、少し足を延ばしてIPv6接続を頑張ってみた。SIMはみおふぉんを使っているので、IPv6も使えることになっている。 Raspbian jessie-lite をベースにします。下に行くにしたがって重装備になっていきます。 libqmi まずモデムはqcserialとqmi_wwanで認識されている状態にする。すると /dev/cdc-wwan0 で qmi プロトコルで通信できるようになっている。libqmi を使って、コマンドラインからqmiプロトコルで操作できる。前回使った qmi-network はこの形。 実は qmi-network は shell script で、実体は qmicli がやっている。中身を抜き出すとこんな感じになっている。 # qmicli -d /dev/cdc-wdm0 --wds-start-netw
Raspberry Pi 3 で無線ルータを作る話。brcmfmac な wifi の capability を見てみる。 valid interface combinations: * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1, total <= 3, #channels <= 2 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1, total <= 4, #channels <= 1
celery とは セロリ。python job queue 処理のフレームワーク。worker daemon を待機させて async 処理の仕組みを作ったり、beat daemon を起動して定時バッチ処理を組んだりする。ドキュメントはよく整備されている。 RDBよりも効率よく backend は rabbitmq cluster や redis cluster を使う。RDB 使えるけど使わないのが best practice job の流量制御は変更しやすいようにと考えられている worker daemon 起動。一台に複数起動してもよし。クラスター分散させて起動してもよし。 job 依頼側と受け手側の両方が python で共通ライブラリ使うとかだと、どんぴしゃ 処理フロー的には AWS lambda や IBM bluemix OpenWhisk みたいな処理部分に、タスクスケ
http proxy を使わないと外に出れない環境で、事実上 proxy 設定を入れることができない場合、transparent proxy (intercepting proxy) を設置することで解決できる。通称 tproxy。その構築メモ。tproxy とは直接は関係ないけれど、ここでは MASQUERADE の機能も同時に入れている。 raspi2にarchlinux入れる。USB NIC追加する(eth1)。eth0 が uplink とする。 とりあえず満たしたい要件は dual-stack masquerade, http tproxy の二つ。 sysctl /etc/sysctl.d/nat.conf に以下の内容を保存する。これは ipv6 forwarding が有効になった時に、uplink から貰った経路を使い続けるため。 systemd-networkd /et
野暮用があって、監視カメラ的なものをでっち上げることにした。手元に転がっている機材で。 raspberry pi model B USB camera (microsoft LifeCam HD-5000) 前準備 まず raspbian のイメージを SD カードに書き込む。 基本アップデートする。
dockerなどのコンテナ環境を構築する際には、application container と system container との二つの志向性があるようだ。プロセスそれ自体が目的のサービスで、それ自体をコンテナに格納するスタイルを application container と呼び、サーバイメージに近いシステム全体としてコンテナに格納するスタイルを system container と呼ぶらしい。 今回は docker で system container やろうとして苦労する話。 docker は ubuntu 14 では標準でインストールできて、native driver でサービス起動する。ところが ubuntu image を落としてきて、system container として動作させようとしても失敗する。 $ docker.io pull ubuntu $ docker.i
!バージョンによって挙動が全然違うので注意してください! 通常 docker は daemon として待ち受けていて、unix domain socket を listen している。実はこの socket に流れるプロトコルは REST/HTTP で、-H option で tcp に bind させることもできて、webサーバになる。仕様は "Docker Remote API" に書いてある。そして各種 language client も存在する。 そんな python client である docker-py のお話。 まずは通常の使い方。 import docker dc = docker.Client() # docker ps dc.containers() # docker images dc.images() # docker run -ti ubuntu bash c
このページを最初にブックマークしてみませんか?
『@kwiのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く