2008/11/29(土)dpkgがaptitude upgradeできない

2008/11/29 20:03 PC(Linux)
aptitude installなどで、
package uses Breaks; not supported in this dpkg 
と出て、パッケージのインストールが出来ない問題@ubuntu。

メッセージを見る限り、dpkgのアップグレードをすれば解決しそうだが、dpkgのインストールでも同様のメッセージが出る。

エラーの原因は以下に詳しい。
Nabble - Bug#462165: dpkg: Upgrade from 1.13.23-1.14.5 to 1.14.16 onwards is broken

内容の意訳をすると、
  • "Breaks"ヘッダはdpkg1.14.6からサポートされました。
  • それ未満のVer.のdpkgでは"Breaks"ヘッダを持つパッケージをインストールできません。
  • そのためdpkgのVerUPの必要がありますが、最新のdpkg1.14.16パッケージにも"Breaks"ヘッダは使われています。
  • 従って、1.14.6未満のdpkgのVerUpには「卵が先か鶏が先か」という問題が起こります。
とのこと。

解決方法は2通りあるようだが、素直に強制インストールでいいと思う。ということで、
dpkg --force-depends -i /var/cache/apt/archives/dpkg_1.14.16.6ubuntu3_i386.deb
とすれば、エラーを無視して最新dpkgがインストールされる。あとはaptitudeで良し。

それにしても、dpkgのforceオプションは難しい。種類も多いし、--force-dependsの動作は思っていたのとちょっと違った。やれやれ。

2008/09/13(土)sambaで実行ファイルを更新すると実行フラグが外れる

2008/09/13 25:17 PC(Linux)
samba経由でlinux上のファイルをWindowsからいじる際、パーミッション755のファイルを更新すると、655となり、自分の実行フラグだけが外れる問題。

まあ実行可能ファイルをsamba上でいじれることが余り良いことではないというのは置いておいて。

なんで自分の実行ビットだけ外れるのか、smb.confを読んでいても当初今ひとつ分からなかったのだが、

[linux-users:100723] winからコピーすると"drwxr-xr-x"となるのは何故?

ここら辺を眺めていてやっと理解出来た(気がする)。

変更時の動作はおそらく、

(unixファイル) or ( (create mask) and (windowsファイル) )

の順番で評価。

windowsファイルは標準では666で、read only時は444となる。

今回の件ではunixファイルは755でcreate maskは644だったので、755になるという想定は間違っていない。ただし、オプションを忘れていた。
map archive (S)
このパラメータは、DOSのアーカイブ属性を UNIXの所有者(owner)実行権ビットに割り当てるかどうかを決定する。 DOSのアーカイブ属性は、バックアップを行なった後でファイルが修正されると設定される。 このオプションの副作用として、Samba マシン上にあるファイルを修正した際に、UNIX 上で実行可能になってしまうことがあげられる。 これは共有のソースコードやドキュメントなどに関して、非常に悩ましい事態である。

このパラメータを利用する場合は、 所有者実行権ビットがマスクされないように(100というアクセス権が含まれるように)、 create mask パラメータを設定することが必要となることに注意。 詳細は、create mask パラメータを参照のこと。

デフォルト: map archive = yes
http://www.samba.gr.jp/project/translation/2.2.5/manpages/smb.conf.5.html#MAPARCHIVE
デフォルト値:yes!

なんてことだ。

これはWindows上のアーカイブ属性をunix側の実行ビットに割り当てるためのオプションである。が、create maskに関する注意書きがあるということは、

( (unixファイル) or ( (create mask) and (windowsファイル) ) )後に、実行フラグのみ (create maskの所有者実行フラグ) and (アーカイブ属性)をセット。

ということか。

ということで、map archiveをいじってやればよい。

対象ディレクティブに、
map archive = no
を追加したら直った。

うーん、なんだろうこのハマり。

2008/08/28(木)外部からLinuxサーバを介してWindows機をいじり倒す

2008/08/28 16:57 PC(Linux)
最近では、外部からのX接続が簡単に出来るらしい。答えはputty+xming。接続方式が公開鍵認証+PathPhraseでも全く問題ない。xmingが勝手にputtyの接続方式を判断してくれる。うわこれ、昔はAstec-X買わないと(もしかしたら買っても)出来なかったやつじゃん。

もちろんcygwinでもいいんだろうけど、最近cygwinはインストールするマシンを絞るようにした。Pathやバージョンの絡みで開発環境に障ることがあるのと、ファイルの多さや移行の大変さ、アンインストールのめんどくささ等が個人的にcygwinの株を下げてしまった。mingwとかxmingとか使う機能が確定してる場合はそっちでいいじゃない、と。それから単に、GNUなサーバ群をWindows上で使いたいならcoLinuxっていう手もあるしね。

閑話休題。で、rdesktopというソフトはLinuxのX環境でWindowsのリモートデスクトップに入れるソフトだ。Xで入っておいてrdesktopを動かせばWindows GUIでログオン可能。これはすごい。

単にLinuxから共有ディレクトリとかのファイルを見たければ、smbfsでもいける。
# mount -t smbfs -o username=hoge,password=piyo //foo/bar /mnt/win
……文字コードは今のところ考えてないや。

寝てるマシンはLinuxからWOLで起こせる。たとえば、wakeonlanとかを使う。WOLの話は、サーバ入れ替え その2にも書いてるからそちらも参照してほしい。

さらにVNCなんかやVPNなんかを使う方法も。……もう何でもありだな。

2008/08/28(木)Perl::Magickインストール

2008/08/28 15:57 PC(Linux)
adiaryの画像縮小機能を使いたかったので、Perl::Magickを入れた。
#aptitude install imagemagick
あれ、これだけだとだめだな。adiaryのシステムチェックでNGになっちゃう。
#aptitude install perlmagick
も追加。うん、これでOKになりました。

ここでぎっもーん。imagemagickは要らなかったのかどうか。aptitude showで依存関係をチェックした。詳細省略。

結論として、perlmagickそのものにはimagemagickは要らないみたい。とはいえ、libmagickはimagemagickインストール時に入ってるし、libxml2とかも要るみたいだから現状このままでイイや。

アルバムをのぞいたらいきなりサムネイル表示されてて感激。

2008/08/28(木)chkrootkitでなんか出た

2008/08/28 14:41 PC(Linux)
出てきたのはこれ。
Searching for OBSD rk v1... /usr/lib/security
/usr/lib/security/classpath.security
調べてみたら、どうやら大丈夫(FALSE POSITIVE)っぽいけど……
Requesting feedback for OBSD rk v1 in Edgy - Ubuntu Forums
意訳
rootkitじゃないよ。RTFM!
これ読め→ /usr/share/doc/chkrootkit/README.FALSE-POSITIVES
below is a (non-exhaustive) list of packages that are known to cause false
positives.
[...]
contains specific files
asp: Ramen Worms contain the file /usr/bin/asp
libgcj-common: the 'OBSD rk v1' contains
/usr/lib/security,
/usr/lib/security/classpath.security
/usr/lib/security/libgcj.security.  
ははあなるほどね。念のため、libgcjがインストールされてるかどうか確認する。
#dpkg -l |grep libgcj-common
ii  libgcj-common  4.1.1-21  Java runtime library (common files)
うん問題ないようだ。
OK キャンセル 確認 その他