サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
labunix.hatenadiary.org
$ w3m -dump http://labunix.hateblo.jp/sitemap.xml | \ sed -e 's%%\n%g' | \ awk -F\< '/^http/{print "wget -O - "$1}' | \ sh 2> /dev/null | \ sed -e 's%%\n%g' | \ awk -F\< '/^http/{print "wget -O - "$1}' | \ awk -F\/ '($5 > 20160221){print}' | \ sh 2>/dev/null | \ awk '/entry-title-link/{gsub(" ","",$0);print $0}' GNS3をアップグレードする。(+gpg鍵のトラブルシュート) debian stretchのbr0+tap0+GNS3環境を追加する。 GNS3のルータでSNMP/Sys
■はじめに。 nwdiagやblockdiagでPNGやSVG出力出来るのは良いけど、 そこまで必要ないときやむしろテキストオンリーで管理したいとき。。。 chrootのwheezy/sidにnwdiagを導入する http://d.hatena.ne.jp/labunix/20130321 nwdiagでネットワーク図を描いてみた。 http://labunix.hateblo.jp/entry/20121104/1352031606 blockdiagで遊ぶ http://labunix.hateblo.jp/entry/20130407/1365341897 Wheezy/SqueezeでOpenVPNを使って暗号化なしのお手軽VPNで接続する http://labunix.hateblo.jp/entry/20130610/1370869975 ■Wheezyにlibgraph-e
■4月13日、渋谷でシェル芸勉強会に参加していないのに解いてみた。 USP友の会「4月13日、渋谷でシェル芸勉強会」の予習をしたい方向け http://d.hatena.ne.jp/labunix/20130325 20130413シェル芸勉強会スライド http://www.slideshare.net/ryuichiueda/20130406-18763665 ■AWKユーザ会のスライドでは、以下の3つがポイント。 ・「xargs」に「-PN」でもできるけど、 「-P0 -n1」を渡して並列を強制するといいよというお話。 ・HTMLのヘッダのサイズを参考に分割取得しましょう。 ・calコマンドのカレンダーを土日祝日で色をつけましょう。 USP 友の会 LT 資料 20130413 http://fr.slideshare.net/HirofumiSaito/usp-lt-2013041
■USP友の会、「4月13日、渋谷でシェル芸勉強会」の予習をしたい方向け 定員70名に拡大したらしい。 第4回春爛漫シェル芸人撩乱勉強会&第22回勝手に新歓定例会 http://kokucheese.com/event/index/78710/ ■出題範囲が出てます。 $ w3m -dump http://www.usptomo.com/PAGE=20130315Ugrep -A 8 "出題範囲" 出題範囲(予定)は、だいたいこんな感じです。 AWK sed grep tr w3m curl wget ■さっそくAWKが大文字ですね。 以下で分かるとおり、言語としてはAWK、コマンドとしてはawkです。 $ man awk | grep -A 2 ^DESC DESCRIPTION Gawk is the GNU Project’s implementation of the AWK pr
■SqueezeのchrootにCentOS4.9を導入。 $ sudo apt-get install -y rinse squeeze上にwheezyのchroot環境を構築 http://d.hatena.ne.jp/labunix/20130311 プロキシ経由のdebootstrap、Lenny、Squeezeのchroot環境構築 http://d.hatena.ne.jp/labunix/20130312 chroot環境のsidで、rinseを使ってCentOS5/6のchroot環境を構築 http://d.hatena.ne.jp/labunix/20130313 chroot環境のバックアップ http://d.hatena.ne.jp/labunix/20130314 chrootのwheezy/sidにnwdiagを導入する http://d.hatena.ne.
■chroot環境にsidを導入。rinseを試す。 $ sudo mkdir -p /var/local/sid $ echo "debootstrap sid /var/local/sid http://ftp.debian.or.jp/debian" | sudo `xargs` $ sudo cp /etc/apt/apt.conf /var/local/sid/etc/apt/ $ sudo cp /etc/wgetrc /var/local/sid/etc/ $ sudo cp -p /etc/profile.d/proxy.sh /var/local/sid/etc/profile.d/ $ sudo chroot /var/local/sid apt-get update $ sudo chroot /var/local/sid apt-get upgrade $ echo
■eth0+wlan0のActive-Backupのbondingを構成する。 Squeezeに無線LANドライバを導入する http://d.hatena.ne.jp/labunix/20130302 Squeezeでアクティブ/バックアップモードのbonding(teaming)を設定する http://d.hatena.ne.jp/labunix/20121005 ■kernelモジュールの読み込み $ sudo apt-get install -y ifenslave-2.6 $ sudo modprobe bonding $ lsmod | grep bonding bonding 73991 0 $ echo "bonding" | sudo tee -a /etc/modules $ echo "alias bond0 bonding" | \ sudo tee -a /et
■Squeezeに無線LANドライバを導入する 動的IP(DHCP)と静的IP(固定IP)の設定方法。 環境は以下。 Aspire One(AOA150)にSqueezeを導入 http://d.hatena.ne.jp/labunix/20130301 ■Windowsドライバの取り込み準備 ドライバの確認とndisgtkのインストール。 $ sudo lspci -v | grep Wireless 03:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01) $ sudo apt-get install -y ndisgtk $ sudo shutdown -r now && exit ■Windowsで動作実績のあるドライバファイルをコピーする。 ※
■Debianでは早速更新されています。 2013/02/26現在、Redhatには、まだ修正は公開されていません。 xen-pcibackenablemsi-dos (81923) http://xforce.iss.net/xforce/xfdb/81923 DSA-2632-1 linux-2.6 -- 特権の昇格/サービス拒否 http://www.debian.org/security/2013/dsa-2632.ja.html CVE-2013-0231 https://access.redhat.com/security/cve/CVE-2013-0231 ■Squeezeでいつものようにアップデートしたら、以下の警告が出た。 $ sudo apt-get update $ sudo apt-get upgrade ... linux-base (2.6.32-48squee
一辺が2の正方形の面積を「m」とする。 内接する円は、直径が2なので、r=1、πr^2=πとなる。 これをnとする。 正方形が2x2=4なので、m=4,n=π。 m:n=4:πなので、4*π/4=π、 x2+y2<=1で円の内側か外側かで円周率が近似できる。 ■結果の平均を取ってしまうと、期待している精度を、「結果」ではなく、「式の中」に 入れてしまうことになるので、乱数の回数を10倍づつ増やす。 ▼Cの場合、以下のソースを「test.c」にコピペ。 「gcc -O3 test.c」で出来た「a.out」を実行。 「みその計算物理学」さん、ありがとう。 http://www.geocities.jp/supermisosan/montecarlo.html 初期値は、1千万。比較のため、7千万、7億、70億にすると、 (1千万) : 3.141130 7千万 : 3.141485 7億 :
■以前、CPUとメモリの利用率をローテーション前にログに出力するスクリプトを書いた。 ※今回は既知なので使用していない。 sa_report.sh https://raw.github.com/labunix/sa_report/master/sa_report.sh ■上記でゲストOSを載せるには辛いスペックであることが分かってからは 最小限の役割にしている。 $ free total used free shared buffers cached Mem: 1994744 1183648 811096 0 109716 393908 -/+ buffers/cache: 680024 1314720 Swap: 1951888 0 1951888 ■最小とは言え、DNSやFWを分離している程度で、 主な役割はプロキシサーバ。 メモリは多用するが、CPUはほとんど使わないはず。 $ ps
■起動時のfsckのチェックを事前に知る。 $ sudo tune2fs -l /dev/sda1 | \ grep -i "mount count\|last check\|check interval\|next check" Mount count: 14 Maximum mount count: 26 Last checked: Sun Oct 21 21:10:20 2012 Check interval: 15552000 (6 months) Next check after: Fri Apr 19 21:10:20 2013 ■fstabの6番目のフィールドが0や未設定で無いファイルシステムが対象。 以下の通り、ブートパーティションは1、それ以外は2がfsckのチェック対象となる。 ※「nkf -f幅数」はfと幅数の間にスペースを入れないこと。 $ grep -v ^# /
■vmplayerのホストとゲストのsqueezeでHW情報をdmidecodeしてみる。 すべてが必ず取得できるわけでは無い。 さほど新しくなく無いCPUファミリでも認識出来なかったりもする。 どんな情報がどれだけ取得できるか事前に知りたい。 こういうときはワンライナーが役に立つ。 合計値を見れば明らかだが、個別に出すより、すべて取得した方が行数が多い。 ■ホストで取得可能な情報をすべて取得する。 $ sudo dmidecode -q | wc -l 471 ■ゲストで取得可能な情報をすべて取得する。 $ sudo dmidecode -q 6081 ■ホストで有効なTYPE、TYPE番号の概要と行数を出力する。 $ for n in `seq 2 39`;do \ echo -n "$n,`man dmidecode | grep \" $n \" | sed s/\" *$n *\
■Muninはサーバにノードを追加する方式で、Webサーバ経由でリソースのグラフが見られるツール。 $ apt-cache search ^munin munin-libvirt-plugins - Munin plugins using libvirt munin-common - network-wide graphing framework (common) munin-java-plugins - network-wide graphing framework (java plugins for node) munin-node - network-wide graphing framework (node) munin-plugins-extra - network-wide graphing framework (user contributed plugins for nod
■abコマンドでapache2の負荷テストを安全に行うために。 debian squeezeのデフォルトインストールのapache2で確認する。 対象のWebサーバは何でも良いのだけど、どういう限界があるかを確認するのが目的とする。 メモリの空き容量を確認することや、どのパラメータをどう見るべきかなど、 ありきたりのテスト前の事前準備はググれば出揃っていると思う。 ■「同時接続数」 < 「リクエスト総数」 当たり前だけど、「-c」オプション以上を「-n」オプションで指定する必要がある。 「-n」は好きな値でよいと思うが、「-c」にはkernelやapache2の設定で制限がある。 今回は「-c」をどの位に設定するべきか考える。 ■サーバの限界を超えたときのゾンビプロセスの確認方法。Ctrl+Cで停止。 後述の「Failed requests」が0で無くなったら限界。 限界を超えると、apa
■「testparm」で以下のエラーが出るようになった。 実際、私一人がユーザなので、「1024」も同時にファイルを開くことは無い。 rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) ■Samba3.5.6での症状。 $ sudo smbd -V Version 3.5.6 ■以下を参照し、「ulimit -n 16384」を実行しても変わらない。 「ulimit」は変更不可かつ、廃止予定のようだ。 sambaの設定 http://kfujio.blog78.fc2.com/blog-entry-87.html $ sudo ulimit -n 16384 sudo: ulimit: command not found # ulimit -n 16384 # ulimit -a | grep "\-n" op
■キャッシュクリアとスワップクリア〜閾値監視の一歩先〜 ※メモリ操作を伴うので注意。 メモリ不足なら、役割を減らすか、物理メモリの増設か、HW構成の変更をしましょうw。 実メモリとスワップメモリの閾値監視 http://d.hatena.ne.jp/labunix/20120923 ■スワップは正しくfstabに記載されていることが前提。 $ grep swap /etc/fstab | \ sed s/"UUID=[a-f0-9]*\-[a-f0-9]*\-[a-f0-9]*\-[a-f0-9]*\-[a-f0-9]* "/"UUID=dummy "/ # swap was on /dev/sda2 during installation UUID=dummy none swap sw 0 0 ■以下のようにすると、自動的に使用していないキャッシュをクリアし、 メモリの開放、スワップの開
■はじめに 侵入の痕跡を検知することもまた、平常時からの確認が必要なものなのです。 日本語、かつフレッシュな記事が無かったので、少し冗長に行きましょう。 ※フレッシュは死語かも知れない。「tiger」は、ネコ科のAppleのOSとは無関係(のはず)。。。 ■「tiger」パッケージの検索 $ apt-cache search ^tiger tiger - Report system security vulnerabilities tiger-otheros - 他の OS で Tiger を起動するためのスクリプト ■「tiger」って何をするの? 一言で言うと、「lsof」の自動化。 $ sudo apt-cache show tiger | grep "Suggests\|Recommends" Recommends: sendmail | mail-transport-agent,
■IPスプーフィング対策 iptablesか、sysctl.confで対応できる。 勿論、両方やる方が望ましいですが、それでも、それだけで終わりではありません。 また、iptablesのルールが増えて見難く、必要な設定を見逃しそうだと思うなら、「sysctl.conf」だけにするのもアリ。 vmnet8のIPマスカレード環境のゲストにホストからチェック。 Linux Iptables Avoid IP Spoofing And Bad Addresses Attacks http://www.cyberciti.biz/tips/linux-iptables-8-how-to-avoid-spoofing-and-bad-addresses-attack.html ■squeezeではコメントアウトされている。 コメントアウトを外せば、再起動後も有効となる。 $ sudo grep "ne
■iptablesのログをできちんと振り分ける。 「rsyslog.conf」の扱いを誤魔化していたけど、ちょっと真面目に設定する。 ■ダメなパターン1 「syslogtag」を使って除外しよう設定した。 kern.debug /var/log/iptables.log :syslogtag, contains, "iptables" ~ ⇒結局全部「kern.debug」のコピーが 以下の5倍ものログに出力されてしまっていた。 syslog.log messages.log debug.log kern.log iptables.log ■ダメなパターン2 「kern.debug」全体を「iptables.log」に出力、「kern.debug」全体を除外しようとした。 kern.debug /var/log/iptables.log kern.debug ~ ⇒ログの出力量は減ったけど
■squidclientの統計情報を確認する。 ※squid+squidguardの環境。 最初のヒット時だけ変に遅いのが気になった。。。 それ以外は快速。 ■squidclientの導入。 ※Windows版squidには「bin」配下にあり、同じように使える。 > bin\squidclient.exe $ apt-cache search ^squidclient squidclient - フル機能のウェブプロキシキャッシュ (HTTP プロキシ) - 制御ユーティリティ ■隠し属性の制御系のコマンドは使いません。 $ sudo squidclient mgr: | grep -v public config Current Squid Configuration hidden shutdown Shut Down the Squid Process hidden reconfig
■うるう秒挿入を確認しました。 (日本時間08:59:60) 別のことをしていたら、すっかり過ぎてしまいました。。。 まあ、ログがあるので、これからログを観測します。。。 うるう秒を観測しよう for Squeeze http://d.hatena.ne.jp/labunix/20120630 ■UTC時間とUNIX時間 UTC時間(+9時間=JST) 「23:59:60」は出ませんでした。 「23:59:59」を2回繰り返しています。 UNIX時間 「1341100799」を2回繰り返しています。 1秒の逆進の発生です。 ntp_gettime() 「returns code 3 (OOP)」がうるう秒発生の瞬間です。 $ grep "UTC 2012\$\|^13\|ntp_gettime" /var/log/leapindicator.log | \ grep -B 1 -A 2 '
■とうとうLennyがアーカイブに移動した。 ※それまではセキュリティサポートの修正だけで回避できた。 Lennyのセキュリティサポート終了後の「sources.list」の設定 http://d.hatena.ne.jp/labunix/20120211 ■最後に成功したログ 私がlennyのapt-getが全滅するようになったことに気づいたのは27日の朝なので、 4/25 18:50 〜 4/27 10:00頃の間、後述するアーカイブの日付も併せて推測すると、 24、25の間にアーカイブに移動、26日にメインから削除されたのだと思う。 Debian公式のアナウンスは特に見当たらなかった。 $ su root -c 'grep debian.org /var/log/squid/access.log.*' | \ grep ".deb" | grep " [23]0[04] " | aw
■元ネタ 参考:ハッカーニュース人気言語 http://d.hatena.ne.jp/karasuyamatengu/20120324/1332561697 ■本家からデータ生成 $ w3m -dump 'http://news.ycombinator.com/item?id=3746692' | \ grep -B 1 "[0-9] points\$" | sed s/"^ *\|\[grayarrow\] \| points"//g > temp.txt ■CSV形式に変換 $ sed s/" "/"__"/g temp.txt | \ for list in `xargs`;do echo -ne "\"$list\",";done | \ sed s/"[0-9]\","/"&\n"/g | \ sed s/",\$"//g | \ sed s/"__"/" "/g >temp.c
■自身の環境でテストする度にググるのが大変なのでまとめます。 私の環境では、うるう秒対策として、ntpはSTEPモード(デフォルト)運用とすることにしました。 ※ntpdateはSTEP/SLEWどちらを強制しても問題なかった。 うるう秒の監視メールは、毎日(当然だが)「leap=00」であることが確認出来る。 ※Squeezeでも同じスクリプトで動く。後述の別のメール送信スクリプトを使っても良い。 2012/07/01 08:59:60 のうるう秒は「leap=01」 Debian Lenny + ntp でうるう秒の監視メール http://d.hatena.ne.jp/labunix/20120201 ■Linux OSはUNIXTIMEを使用、UNIXTIMEはうるう秒を考慮しない。 ※デフォルトであり、正しい動作 うるう秒の検証について(Squeeze/Lenny) http:/
■「ntp」に付属のntptimeコマンドが便利。 「/usr/bin/ntpdc」でクライアントやサーバが一覧出来るのも良い。 パッケージ付属のコマンドはちゃんと見ておくべきですね。。。 $ /usr/sbin/ntptime ntp_gettime() returns code 0 (OK) time d2ff5943.5b6de000 Tue, Mar 6 2012 0:24:51.357, (.357145), maximum error 531016 us, estimated error 16 us ntp_adjtime() returns code 0 (OK) modes 0x0 (), offset 0.000 us, frequency 0.000 ppm, interval 1 s, maximum error 531016 us, estimated error
■ntpdの日本語マニュアルについては、以下が詳しい。 参考:ntpd http://www.asahi-net.or.jp/~aa4t-nngk/ntpd.html ■STEPモードとSLEWモードについては以下にも書いた。 うるう秒のSTEPモードとSLEWモード http://labunix.hateblo.jp/entry/2012/03/04/194140 ■Squeezeのntpのプロセスを見ると以下のようになる。 $ ps -ef | grep ntp | cut -c 40- 00:00:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109 00:00:00 grep ntp ■「-g」オプションは以下のファイルから読まれる。 ※1000秒を超える差異があった場合に一度だけexitを無視する。 「-q -x」とすると、sl
■うるう秒の「leap time」の監視メールについては以下で紹介した。 これはSqueezeでも変わらない。 Debian Lenny + ntp でうるう秒の監視メール http://d.hatena.ne.jp/labunix/20120201 以下、Lennyでも同様。 ■Squeezeのデフォルトインストールでのリアルタイム監視 $ sudo watch -d -n 1 'ntpq -p -c rv' Every 1.0s: ntpq -p -c rv Sat Mar 3 18:09:28 2012 remote refid st t when poll reach delay offset jitter ============================================================================== +ntp3.jun
■定番の方法「tail -f」 「nmap -A」でのログ $ sudo tail -f /var/log/syslog | grep iptables Feb 27 21:19:44 squeeze kernel: [ 2298.195783] iptables-ou IN= \ OUT=eth0 SRC=192.168.72.188 DST=192.168.72.1 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=1 DPT=50537 WINDOW=0 RES=0x00 RST URGP=0 ■量が多すぎて追えない/量が多い通信が知りたい/iptablesの設定がしやすい形式で見たい。 「nmap -A」のログ smallfirewall-20120223_v0.0_working.tar.gz http://source
次のページ
このページを最初にブックマークしてみませんか?
『labunix の ラボゆにっくす』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く