Monthly Archives: 7月 2009

portsを探すのがだるい件について。

Pocket

結論から言うとports-mgmt/psearchがおすすめ。

あのソフトがportsにないかなーというとき、セオリーで言えば/usr/portsディレクトリでmake search key=”キーワード”とするわけだが、いちいちここまでコマンドを打つのが面倒だし、そもそも書式をすぐに忘れる。(後者は俺だけかもしれないが)

次に考えるのがlocateやfindだが。findは長々とコマンドを打たないといけないので嫌。検索遅いし。

locateは強力だが、ヒットしすぎて困り果てるし、システムインストール直後だとデータベースが出来ていなくて使えない。

そこでしばらくwhereisコマンドを使っていた。

こんな感じ。

ただ、whereisなんで、検索対象のファイル名をきっちり分かってないと使えない。(たぶん)

また、注意すべきは-aオプションを与えないと最初のマッチしか返さないこと。以下の例のように、初めてxlockmoreを検索したときは、なんで日本語版しかないんだ?と悩んだ。

そういった遍歴の結果、ports-mgmt/psearchに辿り着いて今のことろ満足している。

書式は以下の通り。

PATTERNには正規表現が使える。

俺はいつもaudaciousを入れるつもりでaudacityをインストールしてしまってガッカリするんだがこれで安心。

その他には、単語を複数渡し、スペースで区切ればand検索。-oオプションを与えればOR検索。-nならバージョン名を教えてくれる。-cでカテゴリーを指定すればそこだけを探してくれる。

すげー便利。

ただ/usr/ports/INDEX-?(?にはOSのメジャーバージョンが入る)が無いとダメ。普段は気にすることないがメジャーバージョンの変わり目では気をつけること。

No tags for this post.

portsインストール後の注意書きを後で読むには

Pocket

ports/packagesをインストールするといくつかのports/packagesで注意書き(Install Notice)が表示される。

たまーにクリティカルな注意の場合があるんだが、大量のports(packages)をインストールしているときなど、注意書きもターミナルの表示限界を超えて吹っ飛んでいく。

portmasterなどでインストールしていれば、こういった注意書きを後でまとめて表示してくれるが、後で気がついたところで時すでに遅し。

そこで考えた。

pkg_info -D <ports名>とするとインストール後のメッセージを表示してくれる。こいつにインストールしたports名のリストを与えてやればいいわけだ。

問題は依存も含めてどうやって一覧を作るかだが、pkg_info -r <ports名>でそのportsが依存するportsをリストしてくれる。

xorgを与えてあげると、以下のようになる。

あとはこれを整形してpkg_info -Dに渡せばよい。

もちろん、このリストがそのときにインストールされたportsのリストと一致するとは、必ずしも言えないんだが、そこはそれ。

ほとんどのportsには注意書きがないので、スペースバーを連打することになるが、まあ何度もあることじゃなし。

そのほか、/var/db/pkg配下ファイルの更新日時を使う手も考えたが、findコマンドを使うのが面倒なので止めた。

No tags for this post.

/usr/ports/INDEX-8が(まだ)なくて8.0-BETAでportsの検索が出来ない件

Pocket

portsを検索しようと思ったら、/usr/ports/INDEX-8がなくて失敗した。

本家MLとか本家Forumでも話題になっていて、とりあえず解決策としては/usr/portsでmake fetchindexとやればいいみたい。

portsnapでportsを更新している人は/etc/portsnap.confに以下の一文を追加

No tags for this post.

USBキーボードからアンダースコア(_)が入力できない件

Pocket

8.0-BETA2、xorg-server1.6.1、(xkeyboad-config-1.6_1)でUSBキーボード(日本語配列)からアンダースコア(_)が入力できない。

ひょんな事から会社のPCにFreeBSDをインストールする羽目になったのだが、そこで遭遇。

調べてみたら昔からある事象のようだが、自宅のFreeBSDを入れているPCは、すべてUS配列のキーボードだったので気がつかなかった。

通常のコンソールなら大丈夫。

キーボード関係ということで、HALのfdiで解決できないかググってみたけど解決せず…。

結局、X起動時にxmodmapで設定することにした。

startxでX起動してるので、.xinitrcに細工。

問題は解消されたけど、キーボードの設定がxmodmapとfdiの二つに分散してるのが、どうも納得いかない。

No tags for this post.

FreeBSDにさっくりXとXFCE4をインストールする。

Pocket

XFCE4をインストールした。

ついでなのでこの記事のアップデートを兼ねつつXを入れるところからメモ。

条件は以下の通り。

  • GDM、XDM等のログインマネージャは入れません。
  • portsではなくpackagesで入れるので、STABLE、CURRENTだとpackagesがなくてダメかもしれません。
  • RELEASEなら大丈夫のはず。
  • コマンド実行例では、#、または$がコマンド入力行。#の場合はroot権限を示します。

ではスタート。

◎Xのインストール

portsでインストールすると時間がかかるのでpackagesにする。それでもデフォルトだと米国あたりのサーバにftpしてしまうので、設定を変更する。ちなみにftp2.jp.freebsd.orgはftp.iij.ad.jpのことである。

これでXのインストールは完了。

◎Xの設定(前段)

続いて設定。今のXは(そのままだと)HALに依存しているのでhaldを起動する。なおこのとき、mouseデーモンが動いていると問題になるのでmousedは止める。

/etc/rc.confに以下の行を追加。dbusとhaldの順番は必ずこの通りにすること。haldの起動に先だってdbusが動いていないとダメだから。各rcスクリプトには依存があるので注意。

HALのためのキーボード設定を行ったら、HALをスタート。

念のためmousedを止める。(下の例ではmousedは動いていないけど)

◎Xの設定

rootでいきなりstartxとやって素っ気ないtwmが表示されればOK。

画面が真っ暗なままになったら、慌てず騒がずAlt+1とかCtrl+Alt+Backspaceとかする。

そのうえでググる。

昔ならXorg -configureでxorg.confを作るところだが、これが今では曲者で、ろくな設定ファイルを作ってくれない。特にVGAがIntelだったりすると最悪だ

なので、うまく行かない場合にはXorg -configureのxorg.confをベースに、ググった結果を追記したほうがいいと思う。

◎サウンドカードの設定

ここを参照。

◎Xfceのインストール

xfce4のインストール。ついでにVLゴシックフォントも入れる。FEP(て言うのか?)も入れる。今ならuim-gtkとja-uim-anthyでOK。

◎Xfceの設定

普段使うユーザでホームディレクトリの.xinitrcに以下の行を追加。

なお、自ホストのIPアドレスを引けないとXfceの起動時に怒られる。固定IPアドレスならともかくDHCPで自動取得してる場合には127.0.0.1あたりに書いておけばOK。

/etc/hosts(青字が追記部分)

以上。

あとはstartxで起動して、好きなアプリケーションを入れる。

日本語入力に関しては、Xfce4の設定マネージャ>入力メソッドから、全体設定>入力方式の利用準備>標準の入力方式を指定>標準の入力方式でanthyを選ぶ。

No tags for this post.

FreeBSDでbroadcomのGbEカードが動かない件

Pocket

あるマシンにFreeBSDをインストールしたのだが、BroadcomのGbEカードで通信ができない。

DHCPに設定してもIPアドレスを取得できないし、固定で設定しても通信できない。7.2-STABLEと8.0-BETA2で確認した。

ググって以下のように/boot/loader.confに設定して何とか解決したのでメモ。問題はBroadcomのカードではなく、むしろNVIDIAチップセットにある模様。

◎/boot/loader.conf

具体的なカードは以下の通り。

NICが使えないとなると、OSを変えるかIntelあたりのNICを追加するかしないといけなかったので、直ってよかった…。

No tags for this post.

MCA master

Pocket

MCA databaseとMCA applicationを取った。

体系的な知識がなかったのでdatabaseの勉強には手こずって、こればかりは会社から借りてきた赤本をたびたび参照した。

一方でapplicationは、オブジェクト指向とかコンポーネントとか、やや開発よりのエリアが範囲。そっち方面もあまり明るくないのだが、浅く広い知識を問うような問題が多く、なんだかもうやる気がまったく起きなくて黒本を1回眺めたくらい、しかも巻末の仕上げ問題すらやらず試験を迎えてしまった。やる気に比例して点数は低かったものの受かってしまえば関係ないのでよし。

これでMCAマスターになった。次は何を受けるべか。

Turbo-CE LinuxとMCAの計5つの試験で1週間~2週間おきに会場に通ったので事務員に顔を覚えられた。

No tags for this post.

8.0-BETA1に上げたらhaldがCPU時間食い過ぎの件

Pocket

件名の通り。

まだ8.0にはデバッグ用の設定が残っていて、そのせいで遅いのかと思ったら、haldがCPU時間を食いまくってたでござる。

haldを作り直したら直った。やっぱり横着せずportsは作り直した方がいいんだな。大変だけど・・・。

システム起動直後はこんな感じ。

haldをkillした後。load avarageが1未満に減っている。

あと、8.0に上げたらUSBマウスが動かなくなった。マウスパッドは効くのに。

さんざんググっても分からず頭を抱えたが、次の日くらいの8.0にアップグレードしたら完治。

なんだかんだ言ってもまだCURRENTなんだなと思った。

No tags for this post.

FreeBSDを毎日ビルドしてISOイメージを作ってくれるallbsd.org

Pocket

http://pub.allbsd.org/FreeBSD-snapshots/

ここで(ソースがアップデートされたら)毎日ビルドしてISOイメージまで作ってくれる!

すごい!

FreeBSDは日々刻々とアップデートされていて、そのつど新機能やバグフィックスが追加されていく。となると、すぐにでも自分のマシンに適用したくなるんだが、それをするにはコンパイルが必要で、オンボロマシンを使っていると非常にきつい。

FreeBSDの公式サイトでは、ひと月に一度currentやstableのソースをビルドして配布しているので、いままではそれを使ってた。しかし月刊ベースじゃ満たされないうえに、リリース直前などはスキップされ(実際にはその時期にリリースのBETA版、RC版などが配布されているのだが)ていたので話にならなかった。

8.0-RELEASEも近いことだし、無駄に毎日ダウンロードしてみる予定。

No tags for this post.