如何使用Fedora:使用Preupgrade升級到新版本

 

在這 How To 我們將看到如何更新一個或多個以前的版本 Fedora 到當前版本或 當前。 這是文章的翻譯 如何使用PreUpgrade 相同的 百科 de Fedora專案。 翻譯已經在我自己的帳戶上運行,因此,如果您發現錯誤(我希望沒有)或更正,請在評論中讓我知道:)。 請記住,這篇文章中包含的所有命令都必須輸入為 ;)

如何使用預升級?

升級前 是在現有版本上運行,解析和下載必要的軟件包以升級到新版本的Fedora的應用程序。 在預升級過程中,用戶可以繼續使用他們的系統。 這給您的體驗類似於實時更新。 有關更多信息,請參閱以下頁面: 升級前功能.

直接升級到當前版本

Preupgrade提供了對Fedora最新版本的更新。 無需升級到中間版本。 例如,可以直接從Fedora 14升級到Fedora 17。

先決條件

在以下情況下,無法使用preupgrade升級系統:

準備系統

雖然預升級可以提供大致平穩的升級體驗,但建議在繼續之前執行以下步驟。

  • 備用 -在對系統進行任何維護工作之前,建議先複製所有重要數據,然後再進行操作。
  • 更新 -在繼續Fedora更新之前應用可用的更新。 以root用戶身份運行以下命令:

yum update

  • 安裝 -從Fedora 10開始,preupgrade實用程序默認包含在Fedora安裝中。 也可以使用yum命令手動安裝該軟件包:

yum install preupgrade

執行更新

一般情況下, 包裝套件 當您的系統有可用更新時,它將通知您。 但是,如果您決定使用預升級手動升級,請按照以下步驟操作。

  • 通過打開終端並執行以下命令,以超級用戶身份啟動preupgrade實用程序:

preupgrade

如果您喜歡交互式命令行應用程序,則該命令 升級前 也可以。

  • 在“選擇發布版本”屏幕上,選擇要更新的Fedora版本,然後單擊“應用”按鈕。
  • 所有軟件包下載完畢後,重新引導系統以啟動Fedora安裝程序並更新至下一個版本。

Nota de <°DesdeLinux: 如果您想更深入地了解此過程,請訪問以下文章: 升級前:在Fedoras之間升級, 謝謝 迭戈·坎波斯 通過鏈接;)。

<°的注2DesdeLinux:更新過程也可以從Fedora安裝DVD中完成。

遠程更新

預升級具有一個允許通過VNC進行遠程升級的開關。 如果將preupgrade用於遠程升級,則很可能是一台具有靜態IP地址的計算機。 這是通過preupgrade命令處理的:

preupgrade-cli --vnc[=password] --ip=[IPADDR] --netmask=[NETMASK] --gateway=[IPADDR] --dns=[DNSSERVER] "Fedora 17 (Beefy Miracle)"

常見的升級後任務

更新後,建議採取其他措施以完成該過程。

不支持的軟件包刪除

新版本可能不支持某些軟件包。 您可能要刪除這些軟件包,因為您將停止接收安全更新,並且它們以後可能會與新軟件包發生衝突。 可以使用以下命令識別它們:

package-cleanup --orphans

瀏覽.rpmsave和.rpmnew文件

完成升級過程後,您可能會注意到一些文件名以 .rpm保存 y .rpm新。 不要驚慌。 升級過程將始終保留本地修改的配置文件。 以.rpmsave結尾的文件名包含本地配置更改。 以.rpmnew結尾的文件名代表該軟件在其原始包裝中的配置文件。

您應該檢查更新創建的所有.rpmsave和.rpmnew文件。 根據差異,您可能需要手動組合配置文件。 您可以找到與find命令匹配的所有文件。

find / -print | egrep "rpm(new|save)$"

(可選)要加快編輯時的重複搜索速度,請先運行updatedb命令,然後再使用locate在以後執行搜索。

updatedb

locate --regex "rpm(new|save)$"

檢查更新

跑:

yum repolist

確認存儲庫配置正確。 然後運行:

yum distro-sync

將軟件包與存儲庫中的版本同步。

疑難解答

/引導空間不足

Fedora 13及更高版本默認在引導分區(/ boot)中使用500 MB。 /引導文件系統大小的默認值在以前的版本中為200MB,這對於從該版本升級的用戶可能是個問題。 在許多情況下,釋放的磁盤空間可能足以進行預升級以下載安裝程序,但不足以運行安裝程序並在系統啟動時安裝新內核。 本節介紹了一些入門的已知技巧。 切記:在執行管理任務時,請確保在繼續之前備份數據。

在這些情況下,有兩種基本方法可以使預升級起作用。 在第一種方法中,您需要釋放足夠的空間供安裝程序安裝新的內核軟件包。 在第二種方法中,您必須在/ boot中暫時佔據足夠的空間,以強制預升級在重新引導後下載安裝程序。

方法1:釋放空間

首先,嘗試刪除系統上當前未使用的內核軟件包。 劇本 內核修剪 它可以用來標識可以安全刪除的內核。 如果選擇刪除其他內核,請準備好安裝介質,以防無法恢復到以前安裝的系統。

安裝程序在/啟動時將需要大約26 MB的可用空間。 使用以下命令確定/ boot分區上的可用空間量:

df -h /boot

要確定可以安全刪除的內核,請從命令行運行以下命令:

curl -O 'http://skvidal.fedorapeople.org/misc/kernel-prune.py'

chmod a+x kernel-prune.py

./kernel-prune.py

現在,要實際刪除上述命令列出的內核版本,請以超級用戶身份運行以下命令:

PKGS='./kernel-prune.py'

echo $PKGS

yum remove $PKGS

然後使用tune2fs命令調整保留文件系統塊的數量。 首先,您將需要識別/ boot文件系統的塊設備。 在以下示例中,/ dev / sda1是/ boot文件系統的塊設備。

mount | grep "/boot"

/ boot類型ext1(rw)上的/ dev / sda4

現在,使用以下命令調整為/ boot文件系統保留的塊數 調2fs。 通常,“保留”具有ext文件格式的分區上的少量空間,並且只能由系統管理員使用。 這是為了避免系統無法啟動,並允許管理員使用一些工作區以完全清理分區。 但是,這些情況中沒有一個真正適用於/ boot文件系統,因此刪除此保留空間是安全的。

tune2fs -r 0 /dev/sda1

最後,嘗試從/ boot文件系統中刪除不必要的文件。 這在很大程度上取決於系統的配置方式。

刪除錯誤的文件可能會導致系統無法啟動。 一些被免職的候選人包括 /啟動/ EFI y /boot/grub/splash.xpm.gz.

方法2:進行預升級的技巧以下載安裝程序

此方法要求您在安裝過程中具有與Internet的有線連接。 如果您處於無線模式並且無法使用以太網電纜進行連接,則將需要使用方法1。

第一,找出/ boot文件系統上有多少可用空間。 df 是為此所需的命令:

df /boot

文件系統1K塊已使用可用已使用%已安裝在
/ dev / sda1 198337 30543 157554 17%/開機

其次,創建一個佔用足夠空間進行預升級的文件,以決定暫時無法安裝stage2。 預升級需要大約120MB的安裝映像,因此我們將確保可用空間不到100MB。 例如,文件系統,這意味著我們需要填充60 MB。 這是作為root用戶執行的方法:

dd if=/dev/zero of=/boot/preupgrade_filler bs=1024 count=61440

df /boot

文件系統1K塊已使用可用已使用%已安裝在
/ dev / sda1 198337 92224 95873 50%/引導

排在第三位,照常運行preupgrade。 在早期階段,在下載軟件包之前,preupgrade應該告訴您沒有足夠的空間來下載安裝程序,但是如果您具有有線連接,則可以在重新啟動系統時下載它。 您可以單擊繼續。 準備好升級前,請不要立即重啟。 而是刪除文件 / boot / preupgrade_filler 並確保您的計算機已使用以太網電纜連接到網絡。 然後,您可以重新啟動系統。

rm /boot/preupgrade_filler

第四名,計算機應啟動進入安裝程序,通過以太網電纜連接到Internet,然後開始下載stage2安裝程序映像。 然後,更新應繼續正常進行。

重新啟動後未安裝更新

說明

如果您具有多重引導配置,則GRUB /引導使用的菜單文件可能與修改preupgrade /引導的菜單不同。 在這種情況下,您將必須指示grub使用相應的文件在引導時完成更新。 如果不這樣做,則在預升級完成文件下載和安裝後,啟動時將沒有可見的更改。 系統將僅在先前版本上重啟。

預升級使用中間升級步驟引導內核。 升級系統後,preupgrade將臨時內核升級選項替換為已升級內核的選項。 換句話說,對引導加載程序進行了兩項修改:一個臨時更新選項,然後是一個永久選項,直到下一次更新。

可以使用GRUB引導加載程序從命令行引導,或者可以修改/boot/grub/menu.lst文件以創建引導菜單選項(GRUB引導菜單的屏幕截圖示例)(有關GRUB的更多詳細信息,請參見grub手冊。).

可以使用有關grub的任何選項。 為了更好地理解該主題,以下內容描述瞭如何通過命令行以及如何編輯menu.lst文件。

但是,由於更新僅需要運行一次,並且系統更新可能需要重新啟動,因此最方便的方法可能是通過grub命令行手動啟動更新,然後一次更新完成後,在menu.lst文件中添加Fedora更新的選項。 這將對應於 方法1,步驟1-3,然後是方法2,步驟4.

步驟1: 確定分區位置

確定您的Fedora /引導目錄的驅動器和分區。 (有關詳細信息,請參見Grub命名約定。)。 例如,如果您在第二個硬盤驅動器的第十四個分區上完全安裝了Fedora,則/ boot位於根目錄(hd1、13)。

步驟2: 從分區位置啟動

重新啟動時,鍵入“ c”以輸入grub提示符。 使用適當數量的驅動器和分區,鍵入以下命令:

root(hd1,13)
內核/引導/升級/ vmlinuz
initrd /啟動/升級/initrd.img
開機

這將開始更新安裝。

步驟3: 選擇安裝映像

更新安裝將啟動一個ncurses對話框。 選擇語言和鍵盤類型後,選擇硬盤驅動器作為安裝方法。 下一個對話框將要求安裝映像的分區和目錄信息。 從下拉菜單中選擇分區。 (請注意,編號將從grub分區開始。換句話說,root(hd1,13)將顯示為/ dev / sdf14)。 最後,輸入安裝映像文件的位置:/boot/upgrade/install.img。

此時安裝將正常運行。 完成升級後,您將需要引導系統或通過在grub命令行上輸入新的內核和initrd.img文件來手動升級,或者將條目添加到menu.lst文件中。 下一部分將詳細介紹此步驟。

方法2:修改GRUB menu.lst文件

作為重新引導後在GRUB提示符下輸入命令的替代方法,您還可以編輯GRUB menu.lst文件以添加一個選項,該選項使您可以從GRUB引導菜單中選擇升級過程的開始。 由於更新僅需運行一次,因此更新後,您將需要重新編輯menu.lst,從菜單中刪除update boot選項,並為新內核添加一個引導項。

步驟1: 確定分區位置

確定您的Fedora /引導目錄的驅動器和分區(有關詳細信息,請參見Grub命名約定。)。 例如,如果您在第二個硬盤驅動器的第十四個分區上完全安裝了Fedora,則/ boot位於根目錄(hd1、13)。

步驟2: 編輯菜單

找到並打開文件/boot/grub/menu.lst。 如果此文件在另一個分區上,請檢查/ media中的文件。 使用適當數量的驅動器和分區,在menu.lst文件中寫入以下條目:

Fedora升級標題
根(hd,)
內核/引導/升級/ vmlinuz
initrd /啟動/升級/initrd.img
savedefault
開機

保存文件並重新啟動系統。 從GRUB引導菜單中選擇Fedora更新。

步驟3: 選擇安裝映像

安裝此更新將啟動ncurses對話框。 選擇語言和鍵盤類型後,選擇硬盤驅動器作為安裝方法。 下一個對話框將要求安裝映像中的分區和目錄信息。 從下拉菜單中選擇分區。 (請注意,編號將從grub分區開始。換句話說,root(hd1,13)將顯示為/ dev / sdf14)。

最後,輸入安裝映像文件的位置:/boot/upgrade/install.img。 此時安裝將正常運行。

步驟4: Menu.lst清理

完成升級後,您將需要引導系統或手動升級,方法是在grub命令行上輸入新的內核和initrd.img文件,或在menu.lst文件中添加一個條目。

以下是位於第二個硬盤驅動器分區10上的Fedora Core XNUMX的grub條目的示例。

標題Fedora Core 10(在/ dev / sdb14上)
root(hd1,13)
內核/boot/vmlinuz-2.6.27.5-117.fc10.x86_64 ro安靜啟動
initrd /boot/initrd-2.6.27.5-117.fc10.x86_64
savedefault
開機

在Fedora分區的/ boot文件夾中找到更新的內核和initrd文件,並輸入與內核和initrd文件相同的標題。

最後,從menu.lst中刪除更新啟動項。

富恩特斯: 在文章中引用;)。


20條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   塔里貢 他說:

    哇! 在本文的中間,我不得不放棄閱讀,不是因為它很無聊,而是因為它非常詳盡,最好在實際環境中嘗試每一步來學習。

    您知道...我會將其保存在我的盒子帳戶中=)

    1.    英仙座 他說:

      謝謝

      1.    阿爾貝托 他說:

        博客
        恐怕在添加新條目時,您創建的有關fedora的宏偉條目會及時丟失,因此,我希望您在博客中使用一些指向fedora howto的鏈接,以便將它們保留為對可移植性,請原諒我的建議,只是這些淺頂軟呢帽帖子值得您關注,無論它們發布以來經過了多少時間。
        謝謝

        1.    英仙座 他說:

          非常感謝您的發言和建議,我將與其他管理員一起提出您的想法,以查看我們是否可以做一些事情:)。

          乾杯;)。

  2.   梅林Debianite 他說:

    太好了,如果有問題,我直到更新後才閱讀所有內容,我將繼續閱讀。

  3.   弗雷內蒂克斯 他說:

    對於fedoritas的一篇非常好的文章..唯一的事情是,您只可以用這篇文章創建幾篇文章...保留它為KISS .. haha​​hahaha

    問候

    1.    英仙座 他說:

      XD,是的,您說得很對。 這篇文章內容非常廣泛:P,但是我不希望有人迷失於某種東西,而不得不等待問題的答案:)。

      乾杯;)-

  4.   迭戈·坎波斯 他說:

    哇 !!
    認真地說,鏈接為您提供的服務有多好😀

    乾杯(:

    1.    英仙座 他說:

      當然,歡迎任何貢獻,謝謝兄弟;)。

      1.    阿爾貝托 他說:

        晚安博客
        我只是想問一下,例如,我是否在發行正式版本的fedora之後的一個月內進行更新,是否一直更新到發行之日,或者是否還安裝了包括發行後一個月的更新?
        謝謝

        1.    英仙座 他說:

          阿爾伯托怎麼樣,很高興認識您,預升級將系統完全更新為最新的可用更新:)。

          問候。

  5.   菲爾波 他說:

    水杯!
    請給我多大的鼓舞...熱情地給人留下深刻的印象!

    恭喜CAPO!

    我致敬-

    1.    英仙座 他說:

      FIRPO怎麼樣,非常感謝您的評論:D,很高興您在這裡。

      乾杯;)。

  6.   字節博士 他說:

    我通過wifi通過預升級從fedora 16升級到了17,沒有任何問題,一切都很好,我花了一段時間,我想這是因為是通過wifi,並且是在發布該版本的同一天,但最後,還是我的fedora 17 ,就像以前一樣,而無需重新安裝任何東西。 所有編解碼器和插件。

    我將很快在此博客上發布此更新的一些屏幕截圖。

    問候。

  7.   亞歷杭德羅 他說:

    感謝您的來信,但我認為這對我沒有幫助,因為我需要將版本從1 yarrow更新為當前的yarrow。 碰巧我有一台沒有磁盤容量的服務器,如果可以更新,我需要將版本移動到另一個具有更大容量的HD。 但是要找到這樣的舊發行版,我的成本為“ 0”。
    如果任何人有任何信息,任何可以傳遞給我的信息將不勝感激。

    的問候。

  8.   MFCOLF77 他說:

    好吧,因為到目前為止我是LINUX的新手,所以我正在閱讀許多文章。

    我有一個問題,它是以下內容:對於FEDORA,它多久更新一次或發布一個新版本呢?目前有FEDORA 17。

    當這些新版本問世時,建議您進行預升級還是重新安裝所有內容?

    和Windows一樣嗎?好吧,我不想與Windows進行比較,但是我是新手,因此我最終將所有與Windows進行比較以了解兩者之間的區別。

    1.    嘲笑 他說:

      MFCOLF77

      -lfedora 18將於6月XNUMX日發布

      -fedora每6個月左右發布一次版本。

      -不,它不等於Winbugs,因為您可以認為比較是愚蠢的。

      -我建議您等待數週以達到18,因為他們總是必須解決問題

      1.    MFCOLF77 他說:

        好的。 謝謝(你的)信息。

        我將在18月等待FEDORA XNUMX

  9.   艾琳克斯 他說:

    豪華!..試圖看看它是如何!。

    格拉西亞斯!

  10.   LSRI8088 他說:

    HOLA,

    很好的文章,能夠用西班牙語閱讀所有這些內容,這表示讚賞😉

    一個問題:什麼時候應該運行“不支持的軟件包刪除”? 在預升級之後?

    謝謝。