ゾクゾク Paludis の遣い方

Exherbo や Gentoo 互換ディストリビューションのパッケージマネージャである Paludis について。

以前にも書いたけれども、おそらくどっか間違えがある気がするけれども、一般私人のブログだし、 そもそも Paludis や Gentoo の日語の情報自体が少ないので勘弁してほしい

Paludis は Portage や Pkgcore に比べて、とても注意深く精査し、エラーを表示して止まる。 勝手に吃驚するようなことをやらないようになっている。 エラーが出て進めないのでイライラすると思う

オプションを指定して明示的にやらせれば進めることは多い。 管理者自身が「やれ」と明示したら、Paludis はやる。 あくまでもPaludisは、勝手にやらないだけのことで、明示したら「自己責任」なので、やる

エラーの多くは、 dependency 関連だ。

「それを更新したり削除したりしたら、 dependent が動くなるかもしれない」

所謂「依存」の先(equery d で出るような奴)が動かなくなるやらない、ということ

"uninstall may break" という現象。 これは -u オプションで dependent のパッケージを指定する。 -u '*/*' ってワイルドカードでやると全無視

アップグレードの際には、 dependent 側は旧バージョンを利用しているので壊れるという意味だから、 uninstall-may-break か permit-downgrade しろと言われる。 後者はアップグレードをしないということなので、それはちゃう、と思うと思われる(笑

アンインストールの際には、 dependent までアンインストールするという恐ろしい(笑)オプションの --remove-if-dependent もあるけれど、そんなん滅多にやらへんと思うと思われる

エラーが云う通り、 break するかもしれないので、気をつけてやりましょう。 単なるアップグレードの際は、break したパッケージを再インストールすれば動くことが多い

例えば旧バージョンのカーネルソースを削除する際に cave uninstall gentoo-sources:4.1.5 -u virtual/linux-sources みたいにやる

これも depend だからインストールしないといけない、けど、やりたくない(無視したい)

所謂「依存」の元(equery g で出るような奴)もインストールしろ、ということ

オプションの -0 で無視させられる。しかしそうしてインストールしたらおそらく動かないだろう。 ただ特殊な事情や、一時的にインストール等をして直ぐ後で解決するということもあると思われる。 そんときに使う

インストールとアンインストールを同時にしたい

アンインストールは通常 cave uninstall でやる。 しかし、インストールとアンインストールを同時に指定すればエラー無しなのに、ということが少なくない

アンインストールは、パッケージ名(atom)に ! を付けて否定すればやれる。 シェルでは ! は特殊な文字なので、エスケープも必要。バックスラッシュやクオーテーションで。

総合すると例えば、 cave resolve \!gentoo-sources:4.1.5 -u virtual/linux-sources てなる

atom の話

Portageなどと共通だけれども、パッケージを指定する際の atom の話

厳密には、 =category/package-version:slot::repository の形式なのである。 等号は特殊文字なので、シェルではエスケープも必要。 コロンが1個のあとはスロット、2個のあとにはリポジトリ名なのである

Paludis では、インストール済みのパッケージは installed という(概念上の)リポジトリに入るので、 総合すると例えば、 cave resolve '!=gentoo-sources-4.1.5:4.1.5::installed' -u '=virtual/linux-sources-1:0::installed' みたいになる。腹痛いかもしれないけれど

腹痛いからこれをバッサリ省略して、パッケージ名だけで操作することが多い。 だが厳密なところを知っていないと、意図しないバージョンがインストールされたり、 そのオーバレイから入れてほしいのに、ということになってしまうから、知っておくべきである

Gentoo が公式に Git に移行

Gentoo が公式にも CVS から Git に移行したのは既報の通りである。 この移行は、「リポジトリをメンテナンスするための手段が CVS から Git に換わった」という意味だ。 所謂 Gentoo developer が利用をするのが、今までは CVS だったのが、 公式に「Git に変えなさい」ということになり、Git 用の公式なサーバとリポジトリもつくられた 参照: https://gitweb.gentoo.org/

他方のユーザにとっては、今のところは、従来の rsync 等の手段の維持がされている。 近い将来に rsync が deprecated になるとは思われるけれども、 まだだし、段階的な移行措置がなされるはずなので、慌てて設定変更をしなくてもよい

同様に、既に GitHub のミラーを取得するように設定の移行をしたという人からすると、 Git を使い続けること自体には変わりが無い

ただ念の為に書いておくと、 以前の gentoo-portage-rsync-mirror ( github.com/gentoo/gentoo-portage-rsync-mirror.git ) は廃止となる。 設定を github.com/gentoo-mirror/gentoo.git に差し替えるのが正解。

それに対して、 github.com/gentoo/gentoo.git の方は、 developer 用の anongit.gentoo.org/git/repo/gentoo.git のミラーだから、ユーザ向けではない。(将来は GitHub で pull request を受け付ける可能性がある。)

anongit.gentoo.org/git/repo/gentoo.git や github.com/gentoo/gentoo.git と、 github.com/gentoo-mirror/gentoo.git とは何が異なるかというと、 メタデータ ( /metadata/md5-cache/* ) の生成がなされているかどうかという点だ。 だからもし github.com/gentoo/gentoo.git をリポジトリとして使おうと思うものならば、 egencache --repo=gentoo --update をせねばリポジトリの検索で支障が出る。 そして gentoo リポジトリは膨大なので、 egencache の完了には何分もかかるだろう

github.com/gentoo-mirror のアカウントには、 gentoo リポジトリ以外にも、 いくつもの overlay のミラーも置いてある。これらも metadata/md5-cache 生成済だ。 しかるに、今迄 overlay を利用して egencache も行うようにしていた人も、 この github.com/gentoo-mirror のミラーに移行すれば、 egencache 不要になり、 よって同期処理が早く済む。

この辺りは Gentoo 関連のウェブサイトにもあまり書いていないし、 ましてや日語の記事は皆無に近い。 まあ見ればわかることなのだが。 フリーソフトウェアを解さずにコピペして「OSS使ってる俺カッコいい」的な思い違えをしている人は、 自分の脳で考えるように人生習慣を改める必要がある。

サブピクセルレンダリングが要らないときの fontconfig

私のところでは、液晶ディスプレイを使っているが、 サブピクセルレンダリングを有効にすると一部のフォントの幅が縮んでおかしくなってしまう。 そこで、fontconfig の 10-no-sub-pixel.conf を有効にしている。 また、DEの設定でもサブピクセルレンダリングを無効にしている。 10-sub-pixel-*.conf も無効である。 LCDフィルターが要らないので、11-lcdfilter-*.conf も無効である

LCDフィルターが要らないので、 infinality を入れてはならない。 infinality の設定では全て、サブピクセルレンダリングが有効であるようだからだ

ちなみに infinality は ArchLinux 界隈で創られた、 fontconfig の設定を容易にするための設定集だ https://wiki.archlinux.org/index.php/Infinality


ところで、コンソール CLI でもマルチバイト文字を表示するために、 fbterm を使っている。 fbterm を使えば、ビットマップフォントではなく TTF が使える。

ちなみに、fbterm ではなく jfbterm だと、ビットマップフォントしか使えない

またちなみに、フレームバッファでない生のコンソールでは、使えるフォントがさらに限られ、フォントも小さい (これは高解像度ディスプレイが一般的な時代には致命的だ)

それで、 fbterm では、そのままだとフォントがぐしゃっとなってしまう。 これはどうやらアンチエイリアスが利いていないからであるらしく、 /etc/fonts/local.conf だとかでアンチエイリアスを有効にすればよいようだ (この際には勿論、 51-local.conf を有効にしておく必要がある)


フリーソフトウェアだから、このあたりが面倒である。 それぞれのマシンが異なるからには、設定も異なるのだ

そもそもこの世の多様性(相異性)からするとこれが必然で、健全なことである。 同じ人間が他に居ても困るように。

他方で、多くのマシンが Windows 向けに設計されているため、 Windows だとデフォルトで困らないことが多いから、狡いものである。 これは異常な現象だ。一種のファシズムである

wjn's repos' info.

  Japenese , English