Linux」カテゴリーアーカイブ

Thunarのネットワーク参照と動画再生

表示されない原因はUSEフラグのsambaが有効になってなかったからだった。/etc/portage/make.conf内のUSEフラグに加えてemerge -uDN worldでsambaを使用するパッケージをリコンパイルしたら表示されました。
昔、/etc/hostsに参照したいコンピュータを加えないとダメだったのもありましたが、今はどうかわかりません。一応記述しておくといいかも。

それでWindowsマシン内にある動画を再生と思ってダブルクリックしてみると、プレイヤーをインストールしてなくて再生されず。GNOMEだとtotemが便利だったからemergeしてみたのですが、最後のtotemのコンパイルでNGだった。GNOMEが入ってないとどうやらconfigureした時のチェックでエラーとなる模様。まあ、GNOMEの標準プレイヤーだから仕方ないです。
次にmplayerをインストール。GUIで操作できると思ったらCUIだったっけか。再生するメディアはdvd://の形式なので、ネットワーク経由だとsmb://でいけそうと思い、Thunarからファイル名をターミナルにドロップしてみたらデフォルトでsmb://の形式だった。そのまま再生してみるとネット枠参照でのユーザーとパスワードの指定が出来ないので、URLで指定する形式でいけるか?と思ったら問題なくいけました。(プロトコル://ユーザー:パスワード@ホスト/パス名の形式。ftpとかhttpでも利用できるので知っておくと便利かも)
再生できたものの、コーデックの関係か、かなりカクつきます。(Your system is too SLOW to play thisとか言われちゃったよ。Athlon64 X2 Dual Coreじゃ遅いのはわかってるさ・・・)今のままだとXPを起動して再生した方が・・・って言ったら負けか。もう少しいじってみて調整してみます。

あと、VLCとxineを試してみよう思います。

Gentoo入れ直し

最新GNOMEへのアップデートとsystemdへの乗り換えがうまく行かず。USEフラグの多大な変更も必要となってしまったので入れ直しを。Debianを入れてsystemdの雰囲気を味わってみましたけど、長く使うならやはり慣れたGentooを入れたいと思ってました。

今回はprofileをdesktopに。GNOMEはハマるので入れない方向。KDEは個人的に好みではないので入れない方向で。デスクトップ環境はXfceを使うことにしました。ネズミさんで世界征服といった感じか。
desktopだと自分が必要とするUSEフラグがONになってるので、make.confには特別にフラグを加えずデフォルトのままに。パッケージ類を入れる前にemergeに-vをつけてどんなUSEフラグが使われるかチェックしつつインストールしていきました。
Xについては特に問題なし。最近はxorg.cfgの記述も不要なので楽ちんです。Xfceを入れて起動してみるとシンプルなデスクトップが起動していい感じです。言語は英語だったので、.bashrcにLANG環境変数をja_JP.utf8に設定。これで起動すると日本語表示になりました。一部英語が残ってるので、日本語のmoファイルを入手して入れれば日本語化できると思う。
音の設定を行いましたが、デバイスが見つからず。悩む事数秒、BIOSの設定がOFFなのか?と気づく。BIOS画面で確認してみると、やはりDisableになってたのでEnableへ。これでモジュールも読み込まれ、サウンドが有効になりました。
ログインをグラフィカルなものにするには、xdmとか入れればいいらしい。お勧めがslimというパッケージらしいので、それを入れ、/etc/conf.d/xdmの設定とランレベルの追加で起動できました。問題は、ログインするとブランク画面のままでログインできない点。slimのログが/var/logに書かれてることに気づかずいろいろと調べることになりましたが、問題はdbusが起動してないのが原因だった。ドキュメントの最後にトラブルシュートでdbusを起動みたいな事が書かれていて、真っ先に追加が必要とは思わなくてハマりました。

あとはThunarからネットワーク参照すると何も表示されない原因を調べないと。あとはDVD再生環境も整えないと。

サブPC不調 その2

Windowsも起動してアップデートを行いました。
LANカードは認識しますけど、ドライバがWindowsにないので手動でインストール。ドライバの更新で入らないのが何とも。手動で入れたら動きました。
そして再起動してみると、アクチが走るし。今回マザーボードのLAN不調だから仕方ないけど、LANカードの入れ替えだけで重要パーツの変更とみなされるのはどうなんだ?音源ボードも抜いたけどさ。一応オンラインで通ったからいいけど、電話認証は面倒だからいやすぎ。
サブPCがWindowsである必要性はなくなりつつあるので、Windowsを止めてしまうのもアリだったり。あとはMMORPGを起動した場合のみですけど、最近プレイ時間も減ってるので1PCでもいいかなとか思ったり。

Debianを入れましたが、すんなり入ってしまうのはある意味怖いですね。何かトラブルがあった場合、何をどういう風に設定したらいいかわからない点とか。気にしなくていいのかもしれませんけど、だいぶブラックボックス化されて見えない部分が多くなってきた気がした。昔、RedHatとかSuSEを入れた時もブラックボックス化されすぎててそう思ったけど、メニューからたどって設定できる範囲をいじるのも便利でいいからこれでいいのかもね。
起動はsystemdらしかった。OpenRCと違って情報が多い感じがした。ウインドマネージャはよく知らないですが、Windows7っぽくてさらに戸惑った。慣れたら使いやすそうですけど、微妙な感じも。もう少しいじってみたいですが、使い続けるならローリングリリースタイプのディストリがいいから、Arch LinuxかGentoo Linuxを使いたいところです。

サブPC不調

以前使っていたメインPCですが、WinXPとLinuxを使い分けて利用してましたが、ついに故障してしまいました。問題なのはオンボードLAN機能。スイッチングハブの当該ランプがやたらと点滅してるので、何を転送してるのか?とか思ったのですが、起動中でもピカピカしてるからおかしいと思ってました。Linuxをメンテしようと思ってアップデートしてたのですが、こちらはこちらでGNOME3とsystemd関係のアップデートで大ハマリしてしまい、何が何だかわからない状態になってました。基本的なパッケージに戻して再構成しようと思ってましたけど、面倒になったので入れなおそうして、USBで起動しなおしてみるとネットワークがうまく設定できない状態になりました。syslogには定期的にエラーが書かれる状態で、ケーブルを置き換えてもダメだったので故障に気づいたという。
いざというとき用にUSB経由で繋がるLANコネクタがあり、それで繋いでみると難なく認識。本格的にマザーボードがやばそうです。以前から起動時に正常起動しなくてブザーが鳴ったりしてたのですが、電源容量がぎりぎりか、多少不足でもしるのか?とか原因が特定できない状態で、マザーボードも中古を何とか入手したものなのでかなり微妙だったり。

結局今の資産を何とか活用しないといけないので、バックアップ用のEthernetカードを差して対応することにしました。PCI-EXx1のI/Fを持つカードは持ってないので、PCI経由ですけど、PCIが埋まってる罠が。SATAカードは抜けないので、音源カードを抜いて、音源はオンボードを使おうかと思います。こちらまでダメージがあるのならマザー交換になりそうすけど、まずはDebianを入れてテストしてみます。Gentooはsystemd関係が落ち着いてから入れなおそうかと思ってます。

grub2でデュアルブート

デュアルブートしているマシンをメンテしました。
カーネルのバージョンも上がっていたので作成し、grub2をインストールして、/etc/default/grubを編集。これはカーネルに与えるコマンドラインを今までgrub.confに書いていたものを指定するだけ。細かいのは後回しでOKです。Windowsを自動で見つけられるようにsys-boot/os-properをインストールし、/mnt配下にWindowsの区画をマウントしておきます。grub2-mkconfigでgrub.cfgを生成すると、/bootに入れてあるカーネルを自動で認識、それとマウントしたWindowsを認識してメニューを作ってくれました。そしてgrub2-installでMBRを書き換えて完了です。

特に問題なさそうですので、細かいカスタマイズをしてみようと思います。まあ、あまりブート時に何かをしようとは思いませんが、grub2になってさらにカスタマイズできそうですので、ディストリ単位にいろいろ工夫されそうです。

久々にハマった

サーバをメンテしていて久々にハマりました。
最新にアップデートしてみると、grubが新バージョンとなって、設定からすべて変更になってました。公式のマイグレーションガイドで何とか起動できました。そしてカーネルを最新にして再起動してみると、ルートとなる/dev/sda3がルートデバイスとして認識できないという問題に。grubの設定ミスと思ってrootに渡すパラメータが違ってるのかとかいろいろと試行錯誤して悩むこと数時間。ふと、カーネル構築時にモジュールを減らすために設定をいじったことを思い出しました。うちのマシンはSCSIを積んでないから外してしまおうと思ってSCSI関係をすべて外したことに・・・。SATAデバイスはSCSIドライブのように認識されて、SCSI DISKサポートをOFFにしてはいけないことに気づき、ONにして再構築してみたら問題なく起動できました。

まあ、お蔭でgrub2の構造から設定辺りまで何とか大ざっぱですが、把握できました。カーネルは自動で見つけてくれてメニューも作ってくれるのでかなり楽です。Windowsとかとデュアルブートしてる場合はどうなるかこれから別マシンで実験してみます。

サーバのメンテ

wordpressもバージョンが上がったみたいなのでアップデートを兼ねて、emerge –syncとうどんワールドを実行。portageのバージョンも上がっていたのでアップデートすると、下記のメッセージが出始めました。

!!! Repository ‘x-portage’ is missing masters attribute in ‘/usr/local/portage/metadata/layout.conf’
!!! Set ‘masters = gentoo’ in this file for future compatibility

指定されたパスのファイルを作成し、masters = gentooの1行を加えればいいらしい。newsには書かれてない細かい変更なのでしょうね。newsにはemergeでローカル言語にてメッセージが出るようになるみたいな事が書いてあったような気がする。rootはLANG=Cにしてれば問題ないと思うよ。作業環境に依存することだから日本語化をしっかりしてる人は設定すればいいし。

カーネルバージョンも上がっていたのでリコンパイルとリブートが必要ですな。X関係は入れてないのでそんなに影響ないかな?SSL辺りがカーネルバージョンをみてた気もするのでリコンパイルかな。

それと、revdep-rebuildもemergeに機能統合されたみたいですが、コマンドが長いのはどうだろう。小文字のオプションだけで実行したいですよ。そういうオプションがあるかもしれないので調べてみよう。
あと、wordpressのバージョンアップで以前の設定を引き継いでくれるようになったのでかなり楽になった。前はwp-configから設定を直して言語ファイルを持って来たりしてたし。AmazonのMacro Expanerだけはダメなので設定が必要っぽい。

アップデート後に出た問題として、PHPが5.5に上がった影響で、apache2のモジュールのローディングでlibphp5.soが見つからないというエラーになった。原因は、/usr/lib/apache2/modules内のlibphp5.soのシンボリックリンク先が/usr/lib/php5.4/apache2/libphp5.soになっている事。dev-lang/php-5.5.2のコンパイルで置き換えられないのが原因と思いますけどよくわかりません。USEフラグは

[ebuild R ] dev-lang/php-5.5.2:5.5 USE=”apache2 bzip2 cgi cjk cli crypt ctype curl fileinfo filter flatfile ftp gd gdbm hash iconv intl ipv6 json mysql mysqli nls odbc opcache pcntl phar posix readline session simplexml sockets sqlite ssl sysvipc tokenizer unicode xml xmlreader xmlrpc xmlwriter xpm zip zlib -bcmath -berkdb -calendar -cdb -debug -embed -enchant -exif -firebird -fpm -frontbase -gmp -imap -inifile -iodbc -kerberos -ldap -ldap-sasl -libedit -libmysqlclient -mhash -mssql -oci8-instant-client -pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -spell -sybase-ct -threads -tidy -truetype -wddx -xslt” 0 kB

どれが影響してるのかさっぱり。apache2の指定があればいいという認識だったけど違うのか?

logrotate

ログのローテーションでlogrotateを使用してますが、Apacheのログを切り替えを一週間単位で行ってます。ログの解析も切り替え時にanalogを使って一週間分を作成してました。logrotateでApacheにリフレッシュさせる前にanalogへ食わせるようにしてました。さらに、refererのログは自作のツールに食わせてました。
先日、ふと後者のログを見てみると、どうもうまく機能してない感じです。analogの方は問題なさそうなのですけど、自作ツールの方はどうもログが読み込めてない感じがしてます。/var/log関係はrootじゃないとアクセス権がない設定なので、read権がないのでエラーとなってるのだと予想されます。しかし、以前動いていたのが解せない状態です。logrotate辺りが最近変わったとか?とよくわからなかったり。
結局動かしているスクリプトを手直しして来週まで放置してみる予定です。logrotateが一般ユーザーで動いている想定で/var/log内のログを一旦ローカルにコピーしてログを食わせてみようかと考えてます。sudoでrootユーザーでコピーとパーミッション変更してるので行けると予想してます。まあ、あとは実際に動かしてエラーが出てるのかも確認です。

ツールはログをfgetsで読み込ませてまして、読めたら処理してるので、読めてないのはわかるのですが、何のエラーなのか表示してなかったので何事もなく終わってるのが失敗でした。取りあえずferrorでエラー内容を出してみる予定。

ssmtpの設定ミス

先日Gmailのパスワードを変更してからメールの転送が失敗してましたが、パスワードを合わせてもダメでした。
エラーメッセージの最後は
send-mail: Authorization failed (535 5.7.1 http://support.google.com/mail/bin/answer.py?answer=14257 u10sm9544879pax.14 – gsmtp)
Can’t send mail: sendmail process failed with error code 1

こんな感じでした。SMTPのやり取りで、パスワードを送った後にエラーになってました。Windows上のThunderBirdでのやり取りは特に問題がないので、パスワードの指定が間違ってるということはなさそう・・・と思ってたのが問題だった。どうやらパスワードに記号が混在するとダメらしいです。記号を含んだssmtp.confの設定方法がわかればいいのですが、ググってもどうもそういった事例はなさそうというのがわかりました。海外の掲示板だと、記号を使わなければ問題ないよみたいな書き込みだらけで、そもそもssmtpでパスワードに記号が使えない可能性が出てきました。
とりあえずは、パスワードを長く指定して対処しましたが、可能なら記号を含めておきたいところです。

ちょっと時間を作ってssmtpのソースを見てみたいと思います。

サーバのメンテ

先日udev関係が更新されてこいつらがぶつかりまくってました。
カーネルは先に新しいのが入っていたのですが、CONFIG_TMPFSが有効になってなくてリコンパイルが必要だった。
また、sys-apps/module-init-toolsがsys-apps/kmodと置き換わるらしくぶつかっていた。
置き換わる古いパッケージを消してマージし直しました。

それと、ローカルメールのチェックをしてなかったのでmuttで読みだしてみるとエラーメールが大量に。logwatchの結果をメール送信していたのですが、main.cfの設定が巻き戻っていたのと、postfixにsaslフラグが無くてGMailへの転送に失敗していたという二重の失態が。ssmtpを使ったほうがもっと楽なのでpostfixを使う意義もなくなってきてるのか?とか思ったり。あと、postfixにberkdbフラグの指定がないのでnewaliasesコマンドを実行してもdbが作られない問題があった。必須なら警告くらい欲しいよ。gdbmも必須なので/etc/portage/package.useに個別指定してます。

gccが4.5から4.6になってるので、久々にオールリコンパイルかな。まあ、3.xから4.xへの変更ほどインパクトはないのでこのままでもいいですけどね。まずはコンパイラから新しいバイナリでリコンパイルか。