1 頁 (共 1 頁)

[分享]在ArchLinux上安裝Gentoo-portage

文章發表於 : 週一 4月 28, 2008 1:35 pm
jojoyakira
事情是這樣的,我最近花了時間作好lfs就想為它裝個套件管理系統,
首選當然是我最愛的Gentoo portage,只是lfs花了我兩個多禮拜的時間才裝好,萬一portage安裝失敗那可是令人非常沮喪的一件事,
所以我腦筋就動到安裝不甚費力,且下載體積小的ArchLinux上,先拿它來做測試安裝,可行再裝到lfs上,以下是我下載的Arch iso image,我試過一定要用"Don't Panic" 版本,其實我最早下載的是最新版,結果'Panic',這才改用穩定版。
Archlinux-i686-2007.08-2.core.iso
161.792kb

Arch在VirtualBox中安裝與配置到完成一個可運行的系統15分鐘不到(今天早上我做了第二次安裝計算的,安裝套件時間大概只有5分鐘,am09:55~10:00,我裝好大約在am10:10)

安裝好ArchLinux後,要做
1.這是portage需要的
代碼: 選擇全部
# pacman -Sy python

2.上網瀏覽套件用的
代碼: 選擇全部
# pacman -S lynx

3.為了抓套件用的
代碼: 選擇全部
# pacman -S wget



然後﹕抓portage
代碼: 選擇全部
# wget -cP /root ftp://ftp.isu.edu.tw/pub/Linux/Gentoo/snapshots/portage-latest.tar.bz2
# tar xvjf portage-latest.tar.bz2 -C /usr
# mkdir -v /usr/lib/portage
# mkdir -v /var/tmp/portage
# mkdir -v /usr/portage/distfiles

以下詳細參考http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml,不贅述。
代碼: 選擇全部
# wget -P /usr/portage/distfiles http://distfiles.gentoo.org/distfiles/portage-2.1.1.tar.bz2
# cd /root
# mkdir portage-recover
# cd portage-recover
# tar xvfj /usr/portage/distfiles/portage-2.1.1.tar.bz2
# cd portage-2.1.1
# cp -vR pym bin /usr/lib/portage/
# cp -v cnf/make.globals /etc
# rm -vf /usr/lib/portage/bin/sed
# ln -sv /usr/lib/portage/bin/emerge /usr/bin/emerge

這裡配置group文件
代碼: 選擇全部
# cp -v /etc/group{,.bak}
# cat >> /etc/group << "EOF"
  portage::250:portage
  EOF

配置passwd文件
代碼: 選擇全部
# cp -v /etc/passwd{,.bak}
# cat >> /etc/passwd << "EOF"
  portage:x:250:250:portage:/var/tmp/portage:/bin/fales
  EOF

配置make.conf文件,USE請留白,別填入任何東西。
代碼: 選擇全部
# cat > /etc/make.conf << "EOF"
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe -fomit-frame-pointer"
  CXXFLAGS="${CFLAGS}"
  USE=""
  GENTOO_MIRRORS="ftp://ftp.isu.edu.tw/pub/Linux/Gentoo ftp://ftp.twaren.net/Linux/Gentoo"
  SYNC="rsync://ftp.twaren.net/gentoo-portage"
  EOF

這裡等同於執行 # eselect profile set <num>,由於目前沒有eselect所以手工連結。
代碼: 選擇全部
# ln -sv /usr/portage/profiles/default-linux/x86/2007.0/desktop /etc/make.profile


以下是在做emerge時需要備用的,這個大家都知道,我就不解釋了,我第一次安裝portage的時候有用到,
第二次理出關係後就沒用到,不過有備無患,以後還是會用到的^^
代碼: 選擇全部
# mkdir -v /etc/portage
# cd /etc/portage
# touch package.keywords
# touch package.unmask

配置ld.so.conf文件
代碼: 選擇全部
# cat > /etc/ld.so.conf << "EOF"
  /usr/local/lib
  /opt/lib
  EOF

這是我第一次編譯到coreutils遇到的問題修正方法,第二次我繞過去了,不過這是早晚會編到的套件,一樣要修復。
代碼: 選擇全部
# ln -sv /usr/bin/expr /bin

最後﹕
1.
因為現在整個portage沒辦法上線更新,所以先做# emerge rsync,記得USE="-nls -acl -openmp"要加嘿!
現在首要讓portage上線更新,不必要所有都編,這樣一加只要編兩個套件就好,一是popt另一個就是rsync。
(我做到這裡時間是am 10:45)
代碼: 選擇全部
# USE="-nls -acl -openmp" emerge -av rsync

可以做一次emerge --metadata以保證 metadata 的格式符合 portage 2.1
代碼: 選擇全部
# emerge --metadata

2.
安裝sandbox來修正沒有sandbox的錯誤。(這裡am 10:50)
代碼: 選擇全部
# emerge -av sandbox

3.
到這裡大家都會了。(這裡am 11:02)
代碼: 選擇全部
# emerge --sync

4.
更新 portage。
代碼: 選擇全部
# emerge portage


這就很容易把Arch 換成 Gentoo了 ^^。

優點:
很短的時間獲得可運行並配置好的系統,並且具有portage,不必長時間依賴install cd。我由開始安裝Arch到做完#emerge --sync總共花了1hr07min,其中在download 30幾M的portage就花了我20~min(adsl 256k)。

缺點:
由於檔案配置不儘相同,或許會有地雷存在,因此不建議新手使用,在VirtualBox玩玩可以。^^

有圖有真相,我就po上螢幕抓圖。
這是第一次安裝成功的圖
圖檔
這是第二次安裝成功的圖
圖檔

文章發表於 : 週三 4月 30, 2008 5:40 am
jojoyakira
關於在LFS上安裝Gentoo-portage我發在LFS論壇,有興趣的人可以去看看。
[分享]在LFS上安裝Gentoo的檔案管理portage

文章發表於 : 週三 4月 30, 2008 9:41 am
scsi
jojoyakira 寫:關於在LFS上安裝Gentoo-portage我發在LFS論壇,有興趣的人可以去看看。
[分享]在LFS上安裝Gentoo的檔案管理portage


真是厲害啊… :10.jpg:

只是我在想,如果portage的來源還是來自gentoo官方的話
會不會update幾次後LFS就變成gentoo了 :11.gif:

文章發表於 : 週三 4月 30, 2008 6:37 pm
jojoyakira
scsi 寫:
jojoyakira 寫:關於在LFS上安裝Gentoo-portage我發在LFS論壇,有興趣的人可以去看看。
[分享]在LFS上安裝Gentoo的檔案管理portage


真是厲害啊… :10.jpg:

只是我在想,如果portage的來源還是來自gentoo官方的話
會不會update幾次後LFS就變成gentoo了 :11.gif:



前輩想的正是大陸LFS論壇所擔心的事,說真的,我也不是很清楚,不過能肯定的是做emerge -e system,emerge world,一定會變成Gentoo。

感謝scsi前輩抽空回應。

文章發表於 : 週五 5月 02, 2008 8:55 am
scsi
jojoyakira 寫:
前輩想的正是大陸LFS論壇所擔心的事,說真的,我也不是很清楚,不過能肯定的是做emerge -e system,emerge world,一定會變成Gentoo。

感謝scsi前輩抽空回應。


我覺得可以用portage,但是來源就自己寫 :3.jpg:
記得LFS應該大部份都是自己下configure, make的方式來安裝程式吧
把這部份+相依性由portage來做,ebuild再依LFS或自己的需要自己定義
這樣應該就能做出符合LFS的portage了

我隨便亂想的,參考一下囉 :12.gif:

文章發表於 : 週五 5月 02, 2008 10:04 am
jojoyakira
scsi 寫:
jojoyakira 寫:
前輩想的正是大陸LFS論壇所擔心的事,說真的,我也不是很清楚,不過能肯定的是做emerge -e system,emerge world,一定會變成Gentoo。

感謝scsi前輩抽空回應。


我覺得可以用portage,但是來源就自己寫 :3.jpg:
記得LFS應該大部份都是自己下configure, make的方式來安裝程式吧
把這部份+相依性由portage來做,ebuild再依LFS或自己的需要自己定義
這樣應該就能做出符合LFS的portage了

我隨便亂想的,參考一下囉 :12.gif:

咦!這個方法不錯,Good Idea!:D
把自己要用,加相依的套件寫入自定義的ebuild,再加上some overlays,尤其是GOT,這樣中文化就比較容易一些,好像蠻好玩的,改天再找機會試試。:3.jpg:

BTW,ArchLinux的ABS和這個概念挺像的,所以這個想法的可行性蠻高的。 :D

謝謝前輩的意見!