歡迎您光臨本站 註冊首頁

從Debian sarge升級到etch

←手機掃碼閱讀     火星人 @ 2014-03-23 , reply:0

  Debian官方建議使用aptitude來管理包,實踐證明aptitude比apt-get能更好的處理包依賴的問題,所以下面的操作均以aptitude為例,需要說明的是一旦用了aptitude,就不要再混用apt-get。

  本文假定用戶沒有安裝X windows系統,畢竟Debian更適合於做伺服器,桌面還是用Ubuntu吧。

  1、備份
  將系統中重要的系統文件做備份,一般是配置文件、資料庫等

  # tar -cvf /home/backup/etc.bak /etc/*

  2、準備升級環境
  升級的過程中會重啟一些服務,所以千萬不要通過telnet、ssh遠程連接方式進行升級,最好在本機的終端窗口下操作(不要在X windows),或者通過modem的serial口遠程登錄。(這跟telnet、ssh的遠程連接有所區別,cisco等網路設備經常會用到這種方式)

  3、檢查系統軟體包狀態
  系統中如果有軟體包處於hold狀態,則在升級過程中可能失敗,最好手工將他們設為unhold

  # aptitude search "~ahold" | grep "^.h"
  # aptitude unhold pkg_name

  注意,如果sarge系統中使用了非官方的軟體包,例如backports,最好先將他們全部卸載,否則升級過程中會引起衝突。

  4、更改source.list
  # vi /etc/apt/source.list
  --------snip----------
  # deb http://debian.cn99.com/debian sarge main contrib non-free
  deb http://debian.cn99.com/debian etch main contrib non-free
  # deb-src http://debian.cn99.com/debian sarge main contrib non-free
  deb-src http://debian.cn99.com/debian etch main contrib non-free
  --------snip----------

  中國一般用cn99源,速度比較快,只需要將sarge改為etch就可以了。

  5、更新軟體包列表
  # aptitude update

  6、確認具有足夠的硬碟空間
  在升級的過程中需要佔用一些臨時的磁碟空間,所以要確認是否還有足夠的剩餘空間

  # aptitude -y -s -f --with-recommends dist-upgrade
   [ ... ]
   XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
   Need to get xx.xMB/yyyMB of archives. After unpacking AAAMB will be used.
   Would download/install/remove packages.

  如果不能滿足請刪除一些文件,例如aptitude clean或者刪除/var/log

  7、升級
  sarge和etch之間有不少軟體包是有衝突的,直接使用aptitude dist-upgrade會卸載掉sarge系統里的軟體包,而有些軟體包是你想保留的,為了盡量避免這種情況發生,需要做階段性升級,分三個步驟:

  7.1 最小化升級:
  # aptitude upgrade
  這樣就只是更新的軟體而不會刪除其他東西。
  # aptitude install initrd-tools
  這將會自動升級libc6和locale,這個時候會重啟某些服務。

  7.2 升級內核
  在做下一步操作之前強烈建議手工升級內核,Etch引進的udev技術已經無法支持比2.6.15舊的內核,而Debian Etch的軟體倉庫中的內核版本則是2.6.18。我們安裝它就可以了。

  先確認一下你目前的內核版本

  # uname -r
  # aptitude search linux-image-2.6*
  # aptitude install linux-image-2.6-686

  這樣就可以安裝2.6.18的內核了。

  7.3 全面升級
  # aptitude dist-upgrade
  這將會對sarge進行完全的更新,時間大約半個小時,比我預料中要快很多。

  8、更新軟體包的簽名信息
  Etch的軟體包關係系統引入了簽名功能,簡言之,沒有經過Debian官方簽署的軟體包無法在etch系統上安裝,你當然也可以通過更改/etc/apt/來取消這個限制。

  # aptitude update

  至此,您的操作系統就更新完畢了,整個過程不需要重啟,這對伺服器而言無疑是非常貼心的一項設計。

[火星人 ] 從Debian sarge升級到etch已經有379次圍觀

http://coctec.com/docs/linux/show-post-125986.html