在這 如何 我們將看到如何更新一個或多個以前的版本 Fedora 到當前版本或 當前。 這是文章的翻譯 如何使用PreUpgrade 相同的 百科 de Fedora專案。 翻譯已經在我自己的帳戶上運行,因此,如果您發現錯誤(我希望沒有)或更正,請在評論中讓我知道:)。 請記住,這篇文章中包含的所有命令都必須輸入為 根 ;)
如何使用預升級?
升級前 是在現有版本上運行,解析和下載必要的軟件包以升級到新版本的Fedora的應用程序。 在預升級過程中,用戶可以繼續使用他們的系統。 這給您的體驗類似於實時更新。 有關更多信息,請參閱以下頁面: 升級前功能.
直接升級到當前版本
Preupgrade提供了對Fedora最新版本的更新。 無需升級到中間版本。 例如,可以直接從Fedora 14升級到Fedora 17。
先決條件
在以下情況下,無法使用preupgrade升級系統:
- 如果您的/引導分區位於RAID中。 看到錯誤500004.
準備系統
雖然預升級可以提供大致平穩的升級體驗,但建議在繼續之前執行以下步驟。
- 備用 -在對系統進行任何維護工作之前,建議先複製所有重要數據,然後再進行操作。
- 更新 -在繼續Fedora更新之前應用可用的更新。 以root用戶身份運行以下命令:
yum update
- 安裝 -從Fedora 10開始,preupgrade實用程序默認包含在Fedora安裝中。 也可以使用yum命令手動安裝該軟件包:
yum install preupgrade
執行更新
一般情況下, 包裝套件 當您的系統有可用更新時,它將通知您。 但是,如果您決定使用預升級手動升級,請按照以下步驟操作。
- 通過打開終端並執行以下命令,以超級用戶身份啟動preupgrade實用程序:
preupgrade
如果您喜歡交互式命令行應用程序,則該命令 升級前 也可以。
- 在“選擇發布版本”屏幕上,選擇要更新的Fedora版本,然後單擊“應用”按鈕。
- 所有軟件包下載完畢後,重新引導系統以啟動Fedora安裝程序並更新至下一個版本。
來自<°FromLinux的註釋: 如果您想更深入地了解此過程,請訪問以下文章: 升級前:在Fedoras之間升級, 謝謝 迭戈·坎波斯 通過鏈接;)。
<°的注2來自Linux:更新過程也可以從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文件系統保留的塊數 tune2fs。 通常,“保留”具有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條評論,留下您的評論
哇! 在本文的中間,我不得不放棄閱讀,不是因為它很無聊,而是因為它非常詳盡,最好在實際環境中嘗試每一步來學習。
您知道...我會將其保存在我的盒子帳戶中=)
謝謝
博客
恐怕在添加新條目時,您創建的有關fedora的宏偉條目會及時丟失,因此,我希望您在博客中使用一些指向fedora howto的鏈接,以便將它們保留為對可移植性,請原諒我的建議,只是這些淺頂軟呢帽帖子值得您關注,無論它們發布以來經過了多少時間。
謝謝
非常感謝您的發言和建議,我將與其他管理員一起提出您的想法,以查看我們是否可以做一些事情:)。
乾杯;)。
太好了,如果有問題,我直到更新後才閱讀所有內容,我將繼續閱讀。
對於fedoritas的一篇非常好的文章..唯一的事情是,您只可以用這篇文章創建幾篇文章...保留它為KISS .. hahahahaha
問候
XD,是的,您說得很對。 這篇文章內容非常廣泛:P,但是我不希望有人迷失於某種東西,而不得不等待問題的答案:)。
乾杯;)-
哇 !!
認真地說,鏈接為您提供的服務有多好😀
乾杯(:
當然,歡迎任何貢獻,謝謝兄弟;)。
晚安博客
我只是想問一下,例如,我是否在發行正式版本的fedora之後的一個月內進行更新,是否一直更新到發行之日,或者是否還安裝了包括發行後一個月的更新?
謝謝
阿爾伯托怎麼樣,很高興認識您,預升級將系統完全更新為最新的可用更新:)。
問候。
水杯!
請給我多大的鼓舞...熱情地給人留下深刻的印象!
恭喜CAPO!
我致敬-
FIRPO怎麼樣,非常感謝您的評論:D,很高興您在這裡。
乾杯;)。
我通過wifi通過預升級從fedora 16升級到了17,沒有任何問題,一切都很好,我花了一段時間,我想這是因為是通過wifi,並且是在發布該版本的同一天,但最後,還是我的fedora 17 ,就像以前一樣,而無需重新安裝任何東西。 所有編解碼器和插件。
我將很快在此博客上發布此更新的一些屏幕截圖。
問候。
感謝您的來信,但我認為這對我沒有幫助,因為我需要將版本從1 yarrow更新為當前的yarrow。 碰巧我有一台沒有磁盤容量的服務器,如果可以更新,我需要將版本移動到另一個具有更大容量的HD。 但是要找到這樣的舊發行版,我的成本為“ 0”。
如果任何人有任何信息,任何可以傳遞給我的信息將不勝感激。
的問候。
好吧,因為到目前為止我是LINUX的新手,所以我正在閱讀許多文章。
我有一個問題,它是以下內容:對於FEDORA,它多久更新一次或發布一個新版本呢?目前有FEDORA 17。
當這些新版本問世時,建議您進行預升級還是重新安裝所有內容?
和Windows一樣嗎?好吧,我不想與Windows進行比較,但是我是新手,因此我最終將所有與Windows進行比較以了解兩者之間的區別。
mfcollf77
-lfedora 18將於6月XNUMX日發布
-fedora每6個月左右發布一次版本。
-不,它不等於Winbugs,因為您可以認為比較是愚蠢的。
-我建議您等待數週以達到18,因為他們總是必須解決問題
好的。 謝謝(你的)信息。
我將在18月等待FEDORA XNUMX
豪華!..試圖看看它是如何!。
格拉西亞斯!
HOLA,
很好的文章,能夠用西班牙語閱讀所有這些內容,這表示讚賞😉
一個問題:什麼時候應該運行“不支持的軟件包刪除”? 在預升級之後?
謝謝。