うまく印刷できないリサイクルインク

 

 

CanonのTS6030というプリンタに互換リサイクルインクを入れてみた所、画像のように黒インクが全然出ないという症状が出ました。左側の印字は黒のベタ塗りを印刷してるはずなのにすじだらけでほとんどインクが出てきていないようです。

続きを読む

特定のアドレスだけRIPで広告する

YAMAHA RTX1200でRIPを使う時にルーターに登録されているすべての経路ではなく、特定の経路のみを広告させたい時、下記のように設定するとうまく行くようです。下記の例はRIPで広告するネットワークを192.168.1.0/24に限定しています。マニュアルを見るとtunnelでもOKそう。

ip filter 1000 pass 192.168.1.0/24 *
ip lan1 rip send on version 2
ip lan1 rip filter out 1000
rip use on

ちなみにRIPはVLANのデバイスでも設定できます、

vlan lan1/1 802.1q vid=1000 name=VLAN1000
ip lan1/3 address 192.168.1.1/24
ip lan1/3 rip send on version 2
ip lan1/3 rip filter out 1000
ip filter 1000 pass 192.168.1.0/24 * 
rip use on

これでRIPするルーティングを制限します。ただ新しいルーティングを登録するたびにフィルタを定義する必要があるので、スタティックルートを定義するのとそんなに手間が変わらなくなってしまう問題があるような気がします。ブラックリスト方式にして特定のIPに関しては拒否するみたいな方がいいかもしれません。passをrejectにすればフィルタはブラックリストとして機能します。

なおこの設定には受信が含まれていません。受信は下記のような感じです。

ip lan1 rip receive on version 2

 

 

bashの自動補完機能を無効にする

シェルで cd $HOMEと入力してtabを押すと自動的に変数を補完してくれる機能があるんですが、たまにこの機能が鬱陶しい事があります。この補完機能、bash-completionと呼ばれていてcompleteというコマンドで制御できるらしいのですが、一通り無効化するには下記のように-rオプションをつけると現在設定されているすべてのbash-completionが無効化されます。

$ complete -r

ちなみにここでリセットした後、一度シェルをexitしてもう一度立ち上げれば元に戻ります。設定を保存するにはbashrcなんかに書いておくといい気がします。

また、この補完機能が悪さをして、たまに echo $HOME/<tab> と押したら echo \$HOME/\ と補完されてしまう事があります。CentOS7の環境でよく見かけていて、原因はよくわかりませんが、とりあえずcomplete -rを実行すれば直るようです。ちなみにcomplete -rを実行してもカレントディレクトリ内のファイル名の補完や、コマンドの補完はやってくれますのでご安心ください。こっちはshoptで機能を無効にできた気がする(よく調べてません)

ThinkPadの液晶を交換

現在使っているThinkPadの液晶がイマイチだったので交換してみました。思ったより簡単ではありましたが、画面の枠を外すときカードみたいなのと柔らかい布は必須ですね…。画面の内側からカードを差し込んで爪を外していきます。絶対に外側から外してはいけません。爪が折れます…。慣れていれば10分足らずで交換できてしまいそうです。交換したら劇的に視野角が広がって快適になりました。ThinkPadはこの手の交換部品が多くてとても便利。

なお今回購入した液晶パネルはLG製でしたが、いわゆる尿液晶でした…。

SSL秘密鍵・証明書・CSRの照合

SSL証明書を作るときにCSRを作って、証明書を取得してApache等に設定するという手順を踏むと思いますが、同時に2つ、3つの証明書を取得するとどれがどの証明書なのかよくわからなくなってしまう事が時々あります。そんな時、下記のような手順で出てきたハッシュ値を比較すると秘密鍵・CSR・証明書の対応関係が把握できて便利です。

# 秘密鍵
openssl pkey -in server.key -pubout -outform pem | sha256sum
# 証明書
openssl x509 -in server.crt -pubkey -noout -outform pem | sha256sum
# CSR
openssl req -in server.csr -pubkey -noout -outform pem | sha256sum

同じ秘密鍵から生成されたCSR・証明書は同一の結果が返ってきます。

testdiskで消失したパーテーションを復元する

 

名前から多分ディスクをテストするツールなんでしょうけど、パーテーションの復元をする事もできます。コマンドラインから実行するTUIなツールです。先日、partedコマンドでパーテーションの削除を行う操作をしていた時に、誤って全く違うディスクのパーテーションを削除してしまい、パーテーションテーブルが綺麗サッパリなくなってしまうという事をやらかしました。そのパーテーションはまだマウントしていたのでデータをそのまま別のディスクにコピーして事なきを得ましたが…。

このまま再起動したらもう二度とデータを吸い出す事はできないだろうと思っていたのですが、消失したのがパーテーションテーブルだけであればツールを使い簡単に復元できる事に気づきました。そのツールはtestdiskといいます。

名前から多分ディスクをテストするツールなんでしょうけど、パーテーションの復元をする事もできます。コマンドラインから実行するTUIなツールです。引数を指定せずとも感覚的に操作できるのでとても助かります。Windowsのパーテーションにも対応しているようです。

Digest認証とリバースプロキシ

リバースプロキシで設定した先がDigest認証をしているとうまく動かないという問題に遭遇しました。Digest認証をWikipediaで調べてみると、下記のような手順でハッシュを生成しています。

A1 = ユーザ名 ":" realm ":" パスワード
A2 = HTTPのメソッド ":" コンテンツの<a class="mw-redirect" title="URI" href="https://ja.wikipedia.org/wiki/URI" data-mce-href="https://ja.wikipedia.org/wiki/URI">URI</a>
response = MD5( MD5(A1) ":" nonce ":" nc ":" cnonce ":" qop ":" MD5(A2) )

wikipediaより引用しました。ハッシュを生成する時にコンテンツのURIが含まれています。そのため元のURIとリバースプロキシした先のURIが変化しているとハッシュの不一致が発生してしまいます。

↓これは大丈夫
http://FRONT/aaa/bbb → http://BACKEND/aaa/bbb

↓これはダメ
http://FRONT/aaa/bbb → http://BACKEND/aaa/ccc

結局リバースプロキシで送り先がDigest認証がかかっている場合はURIに注意すれば問題なく使えるようです。

コンパイル時の環境変数

Linuxでソースをコンパイルする時パッケージ化されていないライブラリを個別にコンパイルする事が時々あるのですが、その際に使うLD_LIBRARY_PATHなどの変数のうちどの変数を使うべきか迷う事があります。その変数について軽く調べてみました

LD_LIBRARY_PATH

ライブラリの場所を示します。ただしこれは実行時に読み込まれます。コンパイル時はこの変数をどんなにいじっても影響はありません。コンパイル時のライブラリの位置は次のLIBRAY_PATHを指定します。

LIBRARY_PATH

コンパイル時にはこちらを指定します。

C_INCLUDE_PATH

Cのヘッダファイルの場所を指定します。

この他コンパイラによっては独自の環境変数がある場合があります。envコマンドなんかで一覧して見ていくとそれっぽいものが見つかる事があります。

人体展と上野公園の桜

 

上野の国立科学博物館の人体展に行ってきました。土曜日だったのでとても混雑していていましたが、特に待ち時間はなく中に入れました。どちらかというとチケット売り場が混雑していたようなのでインターネットで事前購入しておいて正解でした。中の半分くらいは撮影禁止でしたが、本物の人の臓器などの展示があり、ちょっと怖い感じもありました。ちなみに人の臓器のほとんどは血が抜けた状態なので割と肌色をしてました。

続きを読む