ここはGentooの世界、アップグレードの考え方は他のLinuxの世界と比べてまったく違います。 すでに御存じかもしれませんが、私達は、新しいリリースを待ち、 リリース版をダウンロードして、焼いて、CD-ROMドライブにセットして、 そしてアップグレード手順に従うような「伝統的」なソフトウェアアップグレードの方法を採用していません。
常に最新の環境でいたいパワーユーザにとって、 この手続きは非常にイライラするものだというのは (なんといってもGentooユーザーであれば)お分かりになると思います。 素早くそして頻繁にアップデートができるaptやapt-rpmのような、 評判があり普及しているツールを使っている他のディストリビューション出身のパワーユーザでも、たぶん同じ考えだと思います。 しかし、こうした要望をもつユーザを満足させるディストリビューションはGenooのほかにはありません。 なぜなら、はじめからGentooは差分を更新するという考え方で設計されたからです。
理想としては、あなたは一度だけインストールし、そして各リリースによる苦労をしないことです。 A Portage Introduction(日本語訳) やGentoo Handbook(日本語訳)の指示に従うだけでよいのです。これらはあなたのシステムを最新に保つ方法を説明しています。 普通はそれでうまくいくのですが、ときどきコアシステムへのアップデートがあり、これには手動で設定を行う必要があります。
Gentooのリリースプロセスについて "もし、ユーザにソフトウェアアップデートをさせることを目的としないなら、なぜ新しいリリースがたびたび提供されるのでしょうか?" という質問が繰り返しされます。 それには、さまざまな理由があります。
リリースが新しい互換性のない機能、またはコアパッケージのセットの提供、システム動作の大きな修正を含むとき、 私達は、新しいプロファイルを提供する、と言います。
ここで言うプロファイルは設定ファイルの集まりで/usr/portage/profilesのサブディレクトリに保管され、 そこには、例えばシステムパッケージとみなされるebuild、 デフォルトのUSEフラグ、ヴァーチャルパッケージのためのデフォルトのマッピング、 そして、稼働するシステムのアーキテクチャが記述されています。
使用されるプロファイルは、プロファイルが保存される /usr/portage/profiles のサブディレクトリを指す /etc/make.profile のシンボリックリンクにより決定されます。 例えば、デフォルトのx86 2008.0のプロファイルは /usr/portage/profiles/default-linux/x86/2008.0 にあります。 親ディレクトリにあるファイルはプロファイルの一部にもなっています (そのため、複数の異なるサブプロファイルから共有されます。) そのため、これらをカスケードプロファイルと呼んでいます。
新しいプロファイルによって古くなったプロファイルは/usr/portage/profilesの中に現在のものと共に保管されていますが、 非推奨としてマークされます。 そうした場合、depricatedと名前がつけられたファイルがプロファイルディレクトリに置かれます。 このファイルの中身はアップグレードの必要があるプロファイル名になっています。 この情報によりportageは新しいプロファイルに更新しなければいけないときに、自動的に警告を発します。
新しいプロファイルが作られるのには様々な理由があります。 その理由は、新コアパッケージ(例えば baselayoutやgcc、 glibc)に前バージョンとの互換性がない場合や デフォルトUSEフラグやバーチャルマッピングの変更、 システム全体の設定の変更の場合もありえます。
もし、新しいGentooリリースに新たなプロファイルが含まれないならば、 それはなかったことにできます :)。
もし、あなたが Gentoo Handbookの中で説明した通り(日本語訳)、インストールしたパッケージを更新するなら、 あなたのシステムは新しいリリースを使ってインストールされた状態とまったく同じになるでしょう。
もし、リリース(x86の2008.1のように)に新しいプロファイルが導入されたら、 新しいプロファイルを選択して移行することもできます。
もちろん、それを強制されることはなく、あなたは古いプロファイルを使い続けることもできますし、 Gentoo Handbookの説明のように(日本語訳)、パッケージを更新することもできます。
しかし、使用しているプロファイルが非推奨になるときは、Gentooはプロファイルの更新を強く推奨します。 非推奨になった場合というのは、Gentoo開発者達がもはやそれをサポートする予定がない事を意味します。
もし、新しいプロファイルに移行することを決めたならば、手動で更新を実行しなければいけません。 更新の道のりはリリースによって著しく異なるかもしれません。 それは、新しいプロファイルに取り入れられる変更の程度によります。
もっとも単純な場合、/etc/make.profileのシンボリックリンクを変更するだけです。 もっとも最悪な場合は、かっこいいvoodooダンスを踊りながら、 システムを一から再コンパイルしなければいけないかもしれません。 通常、移行についてはリリースノートに記載されています。 あなたはこのガイドの最後の更新の手引にも見つけることができます。
使用しているアーキテクチャでGentooの開発者により公式にサポートされているプロファイルのリストは emerge eselectを実行し、次のコマンドを実行することでわかります。
コード表示 2.1: サポートされたプロファイルの一覧 |
# eselect profile list
|
重要: プロファイルを変更するまには必ずPortageを更新してください。 |
まず、emerge eselectを実行をすると、eselectユーティリティにより、 プロファイルが表示され、手動でシンボリリックリンクを作成したり削除することなく、簡単にプロファイルを洗濯することができます。
コード表示 3.1: eselectでのプロファイル変更 |
(利用可能なプロファイルの表示) # eselet profile list (お好きなプロファイルをリストから選んでください) # eselect profile set <番号> |
もし、手動での変更を希望するならば、次の手順に従ってください。
コード表示 3.2: 手動での変更 |
# rm /etc/make.profile # ln -s ../usr/portage/profiles/<selected profile> /etc/make.profile |
注意: desktopとserverというサブプロファイルがほとんどのアーキテクチャで提供されています。 これらは最低限のデフォルトプロファイルよりも目的に適している場合があるため、 これらのプロファイルについてはしっかり検討してください。 |
注意: developerサブプロファイルはGentoo Linux開発者の作業用のものです。 一般的な開発環境をセットアップするためのものではありません。 |
2008.0, 2007.0もしくは2006.1へのアップデート
もし、これらのプロファイルにアップデートしようとする場合、システムがデフォルトでユニコードロケールに設定されている必要があることに注意してください。具体的には/etc/rc.confのなかでUNICODE=YESとなっていることです。 これが有効になるためには、システムで使用するユニコードロケールを生成しなければいけません。 UTF-8 guide(翻訳 UTF-8 ガイド )を読んで適切なロケールを生成する方法を確認してください。
あるいは、ロケールをセットしたくない場合には、/etc/rc.confでUNICODE="no"とし、 baselayoutを USEフラグ -unicode で再度emergeしてください(もしくは、次のbaselayoutアップデートまで待ってください)。 -unicode は baselayoutにセットするだけもよいですし、/etc/make.confのなかで、USE変数に付け加えて、すべてのパッケージに適用してもよいでしょう。
コード表示 3.3: オプション: ユニコードサポートの削除 |
(baselayoutだけからユニコードサポートを削除する) # echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use # emerge -a baselayout (ユニコードサポートをシステム全体から削除する) # nano -w /etc/make.conf USE="-unicode" # emerge -a baselayout |
最後に、一般的な方法に従って、プロファイルをアップデートしてください。
2006.0プロファイルに変更するためには、/etc/make.profile シンボリックリンクを新しい場所へ向けてください。また、 プロファイルを変更する前にPortageがアップデートされていることを確認してください。
コード表示 3.4: 2006.0プロファイルへの変更 |
# rm /etc/make.profile # ln -s ../usr/portage/profiles/<selected profile> /etc/make.profile |
alpha - 2.4カーネルを使用している、 またはNPTLを使用したくないユーザはdefault-linux/alpha/no-nptlプロファイルを使用して下さい。 より詳細な情報はthe alpha release notesを参照して下さい。
ppc - ppc32とppc64プロファイルの統合が進みました。ppc32プロファイルは変更され、 あらゆる目的にかなう最小主義かつ一般的なプロファイルを提供できるようになりました。 なお、それはdefault-linux/ppc/ppc32に配置されています。また、 リリース依存のプロファイルはデスクトップ用途に最適化され、 default-linux/ppc/ppc32/2006.0に配置されています。G3・G4プロセッサ用にサブプロファイルがいくつか、 またPegasos Open Desktop Workstation用にG3/Pegasos・G4/Pegasosがそれぞれ利用可能です。 2006.0プロファイルへ移行するときはシステムに対応する正しいサブプロファイルを確実に選んでください。
sparc - 2.4カーネルベースの2006.0/2.4プロファイルにアップグレードするには、 gccアップグレード(日本語訳)のため手動によるユーザの介入(java関連のunmerge)とemerge -e worldが必要になります。 stableとは考えられていない2.6カーネルベースの2006.0プロファイルにアップグレードするには、 gentoo-sourcesの2.6バージョンをumaskするため/etc/portage/package.unmaskへのエントリーと全てをリビルドする必要もあります。
他の全てのarch - このプロファイルには基本的な変更はありません。 特に行わなければいけないことはありません。
2005.1 プロファイルに変更するためには、/etc/make.profile シンボリックリンクを新しい場所へ向けてください。 また、プロファイルを変更する前にPortageがアップデートされていることを確認してください。
コード表示 3.5: 2005.1プロファイルへの変更 |
# rm /etc/make.profile # ln -s ../usr/portage/profiles/<selected profile> /etc/make.profile |
全てのarch - このプロファイルには基本的な変更はありません。 特に行わなければいけないことはありません。
ppc - 2005.1リリースで、ppcとppc64プロファイルは統合され 特定のサブアーキテクチャ向けのサブプロファイルが作成されました。 2005.1プロファイルへ移行するときはシステムに対応する正しいサブプロファイルを確実に選んでください。
2005.0の手引きでは、いくつかのアーキテクチャで追加のプロファイル定義が決定されています。 移行を決定する前にプロファイルの説明を確認してください。 ほとんどのアーキテクチャは、以前2.4が選択されていましたが、現在では 2.6カーネルツリーもデフォルトになっています。
あるアーキテクチャでは別なプロファイルに完全に切替えるためには、やや作業が必要です。 そういった場合の段階的な手順が次の表にあります。
| プロファイル | 説明 | 特定のアップグレードガイド |
| default-linux/alpha/2005.0 | カーネル2.6用デフォルト Alpha 2005.0 プロファイル | |
| default-linux/alpha/2005.0/2.4 | カーネル2.4用Alpha 2005.0 プロファイル | |
| default-linux/amd64/2005.0 | カーネル2.6用デフォルト AMD64 2005.0 プロファイル | |
| default-linux/amd64/2005.0/no-multilib | multilibが無効になっているシステム導入用AMD64 2005.0 プロファイル | |
| default-linux/arm/2005.0 | カーネル2.6用デフォルト ARM 2005.0 プロファイル | |
| default-linux/hppa/2005.0 | カーネル2.6用デフォルト HPPA 2005.0 プロファイル | |
| default-linux/hppa/2005.0/2.4 | カーネル2.4用HPPA 2005.0プロファイル | |
| default-linux/mips/2005.0 | デフォルト MIPS 2005.0 プロファイル | |
| default-linux/mips/cobalt/2005.0 | Cobalt 専用MIPS 2005.0 プロファイル | |
| default-linux/mips/mips64/n32/2005.0 | n32-サポート MIPSプラットフォーム用 2005.0 プロファイル | |
| default-linux/mips/mips64/ip28/2005.0 | Indigo2 Impact 専用64bit 2005.0 プロファイル | |
| default-linux/mips/mips64/2005.0 | 64-bit MIPS 2005.0 プロファイル | |
| default-linux/ppc/2005.0 | カーネル2.6用デフォルト PPC 2005.0 プロファイル | |
| default-linux/ppc64/2005.0 | カーネル2.6用デフォルト PPC64 2005.0 プロファイル | |
| default-linux/s390/2005.0 | デフォルト S390 2005.0 プロファイル | |
| default-linux/sparc/sparc32/2005.0 | デフォルト Sparc 32ビット 2005.0 プロファイル | |
| default-linux/sparc/sparc64/2005.0 | Default Sparc 64ビット 2005.0 プロファイル | |
| default-linux/x86/2005.0 | カーネル2.6用デフォルト x86 2005.0 プロファイル | |
| default-linux/x86/2005.0/2.4 | カーネル2.4用 x86 2005.0 プロファイル |
選択されたプロファイルに変えるには、/etc/make.profileシンボリックリンクを新しい場所に向けてください。 また、プロファイルを変更する前に確実にPortageをアップデートしてください!
コード表示 3.6: 2005.0への変更 |
# rm /etc/make.profile # ln -s ../usr/portage/profiles/<selected profile> /etc/make.profile |
もし、Linux2.4ベースシステムで稼働しているシステムを2.6ベースに移行したい場合は Gentoo Linux 2.6 Migration Guide (日本語訳)を確認してください。
2004.3のプロファイルの導入の手引において、ユーザは膨大な修正をすることはないでしょう(詳細は以下を参照してください)。 しかし、Gentoo開発者達はstacked profilesの普及を促進させるために、 新しいプロファイルを推奨し、かなり多くの古いプロファイルを除くことを決めました。 このプロファイルは、/usr/portage/profilesディレクトリに新しく配置され追従します。 例えば、(Portage 2.0.51か、それ以降でサポートされている)/usr/portage/profiles/default-linux/x86/2004.3のような配置です。
2004.3のプロファイルへの変更のため、/etc/make.profileシンボリックリンクを新しい場所へ向けてください
警告: プロファイルを変更する前にPortageをアップグレードすることを忘れないでください!!! |
コード表示 3.7: /etc/make.profile のシンボリックリンクの更新 |
<arch> をあなたのアーキテクチャに合わせて置き換えてください。 # rm /etc/make.profile # ln -s ../usr/portage/profiles/default-linux/<arch>/2004.3 /etc/make.profile |
すべてのアーキテクチャ - 上記の通り、今回のプロファイル中に大きな変更はありません。 しかし、sys-apps/slocate と net-misc/dhcpcdはシステムパッケージと見なされていないということを憶えておきましょう これはあなたがemerge --depcleanを実行した時、 Portageはあなたのシステムからこれらを削除しようすることを意味します。 もし、あなたがこれらパッケージのどれかが必要なら、 プロファイルを切替えた後/var/lib/portage/worldに加えるか、手動でそれらをemergeを実行します。
ppc - ppcでは、新しくインストールされたマシンからsys-fs/udev は sys-fs/devfsの代わりのデフォルトになります。 これは既にインストールされているマシンには影響しないでしょう。そのため、自分で切替える必要があります。
カスケードプロファイルをサポートするようPortageをアップデートする
このアップグレードガイドのなかでは、当セクションは流れにそぐわないよう見えるかもしれませんが、非常に重要です。 上にあげたプロファイルではPortageはカスケードプロファイルをサポートする必要があります。 しかし、古いプロファイルやPortageが更新できないことがあったり、 もはや通用しないプロファイルをずっと使っているユーザーではどのようにやってもPortageの更新に失敗してしまいます。
この問題を回避するためには、ユーザーは一時的に古くなったプロファイルにシンボリックリンクをはり、 このガイドにかかれたアップグレード手順を続行できるPortageにアップグレードすることができます。 <arch>をそれぞれのアーキテクチャにかえてください。
コード表示 3.8: 古いプロファイルを通してのPortage更新 |
# rm /etc/make.profile # cd /etc # ln -sf ../usr/portage/profiles/obsolete/<arch> make.profile # emerge -n '>=sys-apps/portage-2.0.51' |
2004.2のプロファイルへの変更のため、/etc/make.profileのシンボリックリンクを新しい場所へ指すように修正しましょう。
警告: あなたのプロファイルを変更する前にPortageをアップグレードすることを忘れないでください!!! |
コード表示 3.9: /etc/make.profileのシンボリックリンクの更新 |
<arch> をあなたのアーキテクチャに合わせて置き換えてください。 # rm /etc/make.profile # ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile |
x86 - x86では、このプロファイルのデフォルトのx11はx11-base/xfree から x11-base/xorg-x11に変更になりました。 この変更はdefaultの値のみで、 まだX 関連をインストールしていない場合のみ関係しています。 もし、既にインストールしてるなら、影響はないでしょう、 つまり、従来のように、あるX サーバから他のサーバへと自由に切替えられます。
amd64 - 前のプロファイルからの基本的な変更はありません。そのため、特別な作業を行う必要はありません。
2004.0 のプロファイルへの変更のため、/etc/make.profileシンボリックリンクを新しい場所へ指すように修正しましょう。
コード表示 3.10: /etc/make.profile シンボリックリンクの更新 |
<arch> をあなたのアーキテクチャに合わせて置き換えてください。 # rm /etc/make.profile # ln -s ../usr/portage/profiles/default-<arch>-2004.0 /etc/make.profile |
すべてのアーキテクチャ - 前のプロファイルからの基本的な変更はありません。そのため、特別な作業を行う必要はありません。
このアップグレードの説明はかなり複雑です。 あなたはここに (日本語訳)アップグレードの手順があります。
このドキュメントの内容は Creative Commons - Attribution / Share Alikeライセンスです。