搜尋此網誌

2013年6月16日 星期日

PCI NAS-01G debian 4 更新奮戰

NAS-01G 2006年買了 這台 NAS ,大多都是只用 mldonkey 來捉 ed2k 的檔
但近來很多 ed2k 的 server 都關了,捉檔的速度也很慢
但因之前只把 mldonkey 更新到 3.0.0,想用BT來捉檔發現版本太老,一些tracker 跟 DHT 都不支援
在mobile 01 找到了有人放的 mldonkey 3.1.0,更新後總算bt 功能可以用了
但查了一下發現目前mldonkey 最新版是 3.1.3 ,想說不要都等捉別人的來更新,要試著自己compile mldonkey 跟 rtorrent,因此開始了 debian 更新的 奮戰過程

1.一開始用網路查到的一些資料
啟動 sshd 後下 apt-get update,apt-get upgrade
結果都失敗,查了很久的的網路資料發現問題出在 sources.list
nas-01g 網路捉的debian 是 4.0 版代號是 etch
在2010年後相關檔案都被搬到 http://archive.debian.org/debian/ 沒有其它主機可以用了
經過測試,可用的sources.list 的內容為下列6行

deb http://archive.debian.org/debian/ etch main non-free contrib
deb http://archive.debian.org/debian-security/ etch/updates main non-free contrib
deb http://archive.debian.org/debian-volatile/ etch/volatile main non-free contrib
deb-src http://archive.debian.org/debian/ etch main non-free contrib
deb-src http://archive.debian.org/debian-security/ etch/updates main non-free contrib
deb-src http://archive.debian.org/debian-volatile/ etch/volatile main non-free contrib

是否把 sources.list 設正確後就可以正常跑 apt-get update
錯,一跑就出現 E: Dynamic MMap ran out of room 的錯誤訊息
又查了一陣子網路,原來是因為update 的 list 資料太多,空間不夠
要到 /etc/apt/apt.conf
加入下列參數,參數的作用是保留40M 空間來用
APT::Cache-Limit 40000000;
如果你在下 apt-get update 時沒有錯誤,就不用管它

2. apt-get update 順利跑完了,執行 apt-get upgrade 時又出現錯誤
glibc6.2.6.3 "overwrite ...." 
不管跑什麼都會出現類似的錯誤訊息
因一開始對 debian 裏的 package 不熟,查了很久的網路都不知如何解決
因此仔細的研究一下 glibc6 這個package,此 lib 為基本的 lib 很多程式都會用到
故一定要先把這個lib 更新成功才能繼續其它的更新
最後針對 overwrite 這個錯誤訊息去查,原來是 2 個 package 沒寫好,衝突到所以無法安裝
但可以下參數強迫安裝
於是先用 
apt-get -o Dpkg::Options::="--force-overwrite" install libc6 
單獨更新看看,終於成功更新了
繼續下  apt-get upgrade 還有2個package 會出現錯誤
用下列2行單獨更新
apt-get -o Dpkg::Options::="--force-overwrite" install libc-dev

apt-get -o Dpkg::Options::="--force-overwrite" install dpkg
最後總算順利跑完 apt-get upgrade



沒有留言: