Fedoraのネットワーク経由アップグレード方法



●Fedora9からFedora10へ

* アップグレード前の注意点&気づいた点
o PostgreSQLやMySQLのメジャーバージョンアップがある場合は、データベースのバックアップを取っておく方が無難です。

 まず、リポジトリのPackageディレクトリからfedora-releaseとfedora-release-noteをダウンロードしてアップデートします(x86_64の環境ではi386じゃなく、x86_64なディレクトリ以下のファイルを使います)。
# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Fedora/i386/os/Packages/fedora-release-10-1.noarch.rpm http://download.fedora.redhat.com/pub/fedora/linux/releases/10 /Fedora/i386/os/Packages/fedora-release-notes-10.0.0-1.noarch.rpm
 特に何事もなくインストール完了します。
 この時点で一度 yum clean を実行しておきます。
# yum clean all
 upgrade開始
# yum upgrade
 下記のようなエラーが表示された場合は、
Error: Missing Dependency: libtermcap.so.2 is needed by package nvi-m17n-nocanna
Error: Missing Dependency: libtermcap.so.2 is needed by package ckermit
Error: Missing Dependency: perl(:MODULE_COMPAT_5.8.6) is needed by package perl-XML-Encoding
Error: Missing Dependency: libssl.so.6 is needed by package ckermit
Error: Missing Dependency: libtermcap is needed by package compat-slang
Error: Missing Dependency: libssl.so.6 is needed by package libc-client2006
Error: Missing Dependency: libmikmod.so.2 is needed by package mikmod-devel
Error: Missing Dependency: mikmod = 3.2.2-6.fc8 is needed by package mikmod-devel
Error: Missing Dependency: libcrypto.so.6 is needed by package ckermit
Error: Missing Dependency: libcrypto.so.6 is needed by package libc-client2006
Error: Missing Dependency: libldap-2.3.so.0 is needed by package cups
 内容を確認し、メモするなどした後、一度削除(remove)します。必要なモジュールはアップグレード後、手動でインストール(yum install)すればいいです。
# yum remove nvi-m17n-nocanna ckermit perl-XML-Encoding compat-slang libc-client2006 mikmod-devel cups
 再度アップグレードします。
# yum upgrade
 問題が無く「y」を入力すれば、アップグレードが開始されます。時間はネットワークの混み具合により、数時間かかる場合もあります。
 もし、また、依存エラーとかが出た場合は依存元パッケージを一時削除するなどの手順をとります。
 再起動して、動作確認して完了です。

●Fedora10からFedora11へ

 リポジトリのPackageディレクトリからfedora-releaseとfedora-release-noteをダウンロードしてアップデートします。
# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/fedora-release-11-1.noarch.rpm http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/fedora-release-notes-11.0.0-2.fc11.noarch.rpm
# yum clean all
Loaded plugins: refresh-packagekit
Cleaning up Everything
# yum upgrade
Loaded plugins: refresh-packagekit
Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again
 上記のようなエラーが表示され、このままではアップグレードもアップデートもできません。
 /etc/yum.repos.dディレクトリにある「fedora.repo」、「fedora-updates.repo」を下記のとおり編集します。
# vi /etc/yum.repos.d/fedora.repo
「fedora.repo」の[fedora]ディレクティブの部分
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch

mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
# vi /etc/yum.repos.d/fedora-update.repo
「fedora-updates.repo」の[updates]ディレクティブの部分
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch

mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
 再度、アップグレードを実行してください。
 Error: Missing Dependency:・・・云々と表示された場合は、内容を確認しメモするなどした後、一度削除(remove)します。必要なモジュールはアップグレード後、手動でインストール(yum install)すればいいです。
 再起動して、動作確認して完了です。

●Fedora14からFedora15へ

* アップグレード前の注意点&気づいた点
o PostgreSQLやMySQLのメジャーバージョンアップがある場合は、データベースのバックアップを取っておく方が無難です。

 依存関係の問題で下記のものを事前に削除しました。
# yum remove ghc-6.12.3-8.3.fc14.i686
削除しました:
  ghc.i686 0:6.12.3-8.3.fc14                                                    
依存性の削除をしました:
  ghc-Cabal-devel.i686 0:1.8.0.6-8.3.fc14                                       
  ghc-array-devel.i686 0:0.3.0.1-8.3.fc14                                       
  ghc-base-devel.i686 0:4.2.0.2-8.3.fc14                                        
  ghc-bytestring-devel.i686 0:0.9.1.7-8.3.fc14                                  
  ghc-containers-devel.i686 0:0.3.0.0-8.3.fc14                                  
  ghc-devel.i686 0:6.12.3-8.3.fc14                                              
  ghc-directory-devel.i686 0:1.0.1.1-8.3.fc14                                   
  ghc-dph-base-devel.i686 0:0.4.0-8.3.fc14                                      
  ghc-dph-par-devel.i686 0:0.4.0-8.3.fc14                                       
  ghc-dph-prim-interface-devel.i686 0:0.4.0-8.3.fc14                            
  ghc-dph-prim-par-devel.i686 0:0.4.0-8.3.fc14                                  
  ghc-dph-prim-seq-devel.i686 0:0.4.0-8.3.fc14                                  
  ghc-dph-seq-devel.i686 0:0.4.0-8.3.fc14                                       
  ghc-extensible-exceptions-devel.i686 0:0.1.1.1-8.3.fc14                       
  ghc-filepath-devel.i686 0:1.1.0.4-8.3.fc14                                    
  ghc-haskell98-devel.i686 0:1.0.1.1-8.3.fc14                                   
  ghc-hpc-devel.i686 0:0.5.0.5-8.3.fc14                                         
  ghc-old-locale-devel.i686 0:1.0.0.2-8.3.fc14                                  
  ghc-old-time-devel.i686 0:1.0.0.5-8.3.fc14                                    
  ghc-pretty-devel.i686 0:1.0.1.1-8.3.fc14                                      
  ghc-process-devel.i686 0:1.0.1.3-8.3.fc14                                     
  ghc-random-devel.i686 0:1.0.0.2-8.3.fc14                                      
  ghc-syb-devel.i686 0:0.1.0.2-8.3.fc14                                         
  ghc-template-haskell-devel.i686 0:2.4.0.1-8.3.fc14                            
  ghc-time-devel.i686 0:1.1.4-8.3.fc14                                          
  ghc-unix-devel.i686 0:2.4.0.2-8.3.fc14                                        
##########
ghc関連モジュールの残骸を全て削除します。
# yum remove ghc-*
削除しました:
  ghc-Cabal.i686 0:1.8.0.6-8.3.fc14                                             
  ghc-array.i686 0:0.3.0.1-8.3.fc14                                             
  ghc-base.i686 0:4.2.0.2-8.3.fc14                                              
  ghc-bytestring.i686 0:0.9.1.7-8.3.fc14                                        
  ghc-containers.i686 0:0.3.0.0-8.3.fc14                                        
  ghc-directory.i686 0:1.0.1.1-8.3.fc14                                         
  ghc-dph-base.i686 0:0.4.0-8.3.fc14                                            
  ghc-dph-par.i686 0:0.4.0-8.3.fc14                                             
  ghc-dph-prim-interface.i686 0:0.4.0-8.3.fc14                                  
  ghc-dph-prim-par.i686 0:0.4.0-8.3.fc14                                        
  ghc-dph-prim-seq.i686 0:0.4.0-8.3.fc14                                        
  ghc-dph-seq.i686 0:0.4.0-8.3.fc14                                             
  ghc-extensible-exceptions.i686 0:0.1.1.1-8.3.fc14                             
  ghc-filepath.i686 0:1.1.0.4-8.3.fc14                                          
  ghc-haskell98.i686 0:1.0.1.1-8.3.fc14                                         
  ghc-hpc.i686 0:0.5.0.5-8.3.fc14                                               
  ghc-old-locale.i686 0:1.0.0.2-8.3.fc14                                        
  ghc-old-time.i686 0:1.0.0.5-8.3.fc14                                          
  ghc-pretty.i686 0:1.0.1.1-8.3.fc14                                            
  ghc-process.i686 0:1.0.1.3-8.3.fc14                                           
  ghc-random.i686 0:1.0.0.2-8.3.fc14                                            
  ghc-syb.i686 0:0.1.0.2-8.3.fc14                                               
  ghc-template-haskell.i686 0:2.4.0.1-8.3.fc14                                  
  ghc-time.i686 0:1.1.4-8.3.fc14                                                
  ghc-unix.i686 0:2.4.0.2-8.3.fc14                                              
依存性の削除をしました:
  gtk2hs-buildtools.i686 0:0.11.2-1.fc14.1                                      
##########
# yum remove ibus-libs-1.3.9-3.fc14.i686
削除しました:
  ibus-libs.i686 0:1.3.9-3.fc14                                                 
依存性の削除をしました:
  ibus.i686 0:1.3.9-3.fc14            ibus-anthy.i686 0:1.2.5-3.fc14            
  ibus-chewing.i686 0:1.3.9.2-1.fc14  ibus-gtk2.i686 0:1.3.9-3.fc14             
  ibus-hangul.i686 0:1.3.1-1.fc14     ibus-m17n.i686 0:1.3.2-2.fc14             
  ibus-pinyin.i686 0:1.3.11-1.fc14    ibus-rawcode.i686 0:1.3.1.20100707-1.fc14
##########
# yum remove gnome-panel-libs-2.32.0.2-2.fc14.i686
削除しました:
  gnome-panel-libs.i686 0:2.32.0.2-2.fc14                                       
依存性の削除をしました:
  gdm-user-switch-applet.i686 1:2.32.1-2.fc14                                   
  gnome-applets.i686 1:2.32.0-3.fc14                                            
  gnome-panel.i686 0:2.32.0.2-2.fc14                                            
  gnome-pilot.i686 0:2.32.1-1.fc14                                              
  gnome-python2-applet.i686 0:2.32.0-3.fc14                                     
  gnome-utils.i686 1:2.32.0-2.fc14                                              
  gnote.i686 0:0.7.3-4.fc14                                                     
  libgail-gnome.i686 0:1.20.3-1.fc14                                            
  libpanelappletmm.i686 0:2.26.0-2.fc12                                         
  mousetweaks.i686 0:2.32.0-1.fc14                                              
  vinagre.i686 0:2.31.4-1.fc14
 依存関係を含め必要なモジュールであった場合は、upgrade後に再インストールします。

●Fedora15からFedora16へ

 PostgreSQLがバージョン9にバージョンアップしていますので、使用している場合はデータベースをバックアップしてください。

 リポジトリのPackageディレクトリからfedora-releaseとfedora-release-noteをダウンロードしてupgradeします。
wget http://ftp.riken.jp/Linux/fedora/releases/15/Fedora/i386/os/Packages/fedora-release-15-1.noarch.rpm http://ftp.riken.jp/Linux/fedora/releases/15/Fedora/i386/os/Packages/fedora-release-notes-15.0.0-1.fc15.noarch.rpm http://ftp.riken.jp/Linux/fedora/releases/15/Fedora/i386/os/Packages/fedora-release-rawhide-15-1.noarch.rpm
 ダウンロードしたファイルをインストールします。
# rpm -Uvh fedora-release-*
警告: fedora-release-15-1.noarch.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID 069c8460: NOKEY
準備中...                ########################################### [100%]
   1:fedora-release-rawhide ########################################### [ 33%]
   2:fedora-release         ########################################### [ 67%]
   3:fedora-release-notes   ########################################### [100%]
 依存関係から下記のファイルを削除しました。
# yum remove openbios-ppc-1.0-2.fc12.noarch 
依存性を解決しました
========================================================================================================================
 パッケージ                     アーキテクチャ        バージョン                       リポジトリー                容量
========================================================================================================================
削除:
 openbios-ppc                   noarch                1.0-2.fc12                       @fedora/12                 273 k
依存性関連での削除をします:
 qemu                           i686                  2:0.13.0-1.fc14                  @updates/14                0.0  
 qemu-system-ppc                i686                  2:0.13.0-1.fc14                  @updates/14                8.4 M
トランザクションの要約
========================================================================================================================
Remove        3 Package(s)
# yum remove tsclient-2.0.2-7.fc13.i686
依存性を解決しました
========================================================================================================================
 パッケージ                      アーキテクチャ        バージョン                     リポジトリー                 容量
========================================================================================================================
削除:
 tsclient                        i686                  2.0.2-7.fc13                   @fedora/14                  378 k
依存性関連での削除をします:
 tsclient-devel                  i686                  2.0.2-7.fc13                   @fedora/14                   27 k
トランザクションの要約
========================================================================================================================
Remove        2 Package(s)
 必要なモジュールであればupgrade後、再インストールします。
 Gnome 3.0のフォント等の設定変更をするため、「gnome-tweak-tool」をインストールします。
# yum install gnome-tweak-tool
 Extensionsがインストールされていないようなので、インストールします。
# yum install gnome-shell-extensions*