顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2008年4月19日 星期六

我說Gentoo

0 意見
第一次摸到Gentoo是大二上的事情了吧
室友Jimmy在摸,好奇之下也跟著摸

對Linux的學習之路一路走來也是在懵懵懂懂慢慢打出來的
沒有太多架站的需求,桌面使用又一直比不上Windows的直覺,往往要有些技術底子在才能用的好

不過熟悉之後,其實Linux是一種很有魅力的作業系統
Debain的保守風
Fedora跟SuSE的商業風(還是該說是Windows風XD)
Ubuntu的,我就是免錢又方便風
還有Gentoo所裝出來的機器呈現的一副精實風
自己編譯全作業系統,Gentoo的emerge大概是唯一簡便的作法了

不斷的調整USE值,不斷的Update,玩Gentoo是會上癮的
家裏的電腦就只剩一台Windows了,打電動的那台...= =a

Gentoo對一般人來說門檻可能高了點
玩的人少,台灣ebulid和文件的維護也淡掉
許多找的到的資料都還是06年05年的文章
還記得剛開始在Gentoo上用ADSL連線,還自己寫了個init Script讓連線自動啟動
用了快一年才發現,新版只要在設定檔內寫上斗大的"adsl"就好了

裝個基礎Desktop大概也要編譯六七個小時
想來想去,真的算不上是個多有親和力的版本
但是也因為這樣,用它,才學的到更多東西

2008年3月29日 星期六

Gentoo 2007上安裝新酷音

0 意見
在一台舊電腦上裝gentoo
跑跑普通的Desktop
當然免不了的中文環境及UTF8
帥帥的Compiz-fusion

在USE的調整上以及碰到expat版本問題卡了一下
最後的調整大概是

USE="-qt3 -qt4 -arts -kde X dbus branding gtk gnome hal avahi cjk divx4linux expat imlib mmx mp3 mpeg msn unicode win32codecs xmms xine jpeg dvd nls midi alsa png truetype"


這是在GTK+ Gnome環境,以zh_TW.utf8環境為主的作法

途中會遇到因為expat預設版本太新,導致的編譯失敗(之前遇到過的libexpat.so.1 faile)
以前用連結的方法比較笨,比較好的作法應該是直接降版本
在/etc/portage/package.mask裡
加上

=dev-libs/expat-2.0.1

限制會被安裝的expat版本,就可以順利編譯成功



至於卡了比較久的新酷音
之前怎麼裝的我忘了
但是現在在gentoo的ebuild中
只能找到scim 跟 libchewing
沒有所謂的 scim-chewing這東西可以直接裝

但是這樣裝起來的結果,一堆莫名其妙語言的輸入法都出來了
繁體中文的輸入法也一堆,就是沒有好用的新酷音

我後來的作法是
直接emerge scim libchewing
不過這有問題,預設的libchewing是較舊的0.2.5
新的酷音要3.0以上
所以在emerge之前,記得在/etc/portage/packet.keyword裡,加上dev-libs/libchewing-0.3.0

之後再到官網抓scim-chewing-0.3.1.tar.gz
照著裡面說的
# ./autogen.sh
# ./configure
# make
# sudo make install

接下來,就是想辦法讓scim以正確的方式自動啟動在X環境下
網路上有一堆亂七八糟的方法
有什麼,把參數丟在
~/.xinitrc
也有丟在/etc/profile裡的

設定檔不該這樣亂搞,/etc/profile很上層,會去追溯下層的一層層往下
把這種只在X下用的到的參數丟在profile裡,應該不是很正確的作法
仔細看了一下gentoo手冊
比較妥當的作法應該是
在/etc/X11/xinit/xinitrc.d下
依照所需順序(反正輸入法應該不用太早啟動,我是設定90)
建立一個90-scim的檔案
裡面打上啟動時所需設定的環境變數export出來就好

看不懂?上面說的事情,大概就是跟著以下的指令下:
#sudo nano -w /etc/X11/xinit/xinitrc.d/90-scim

內容打上

export LC_CTYPE=zh_TW.UTF-8
export XMODIFIERS="@im=scim"
export XIM="scim"
export XIM_PROGRAM="scim"
export XIM_ARGS="-d"
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"

之後存檔離開

#sudo comod +x /etc/X11/xinit/xinitrc.d/90-scim

登出再登入就ok了

2007年11月9日 星期五

Gentoo.tw

0 意見

自從大學二年級開始接觸Gentoo之後

它一直是我最愛的Linux版本之一

 

簡單,不拖泥帶水,高效率(因為可以自己編譯..)

 

雖然這幾年火紅的Ubuntu在桌面使用上做的非常傑出

一般業界使用的大多是RedHat跟SuSE這種有營利性質的版本

Gentoo的高自訂特性還是很有魅力

裝好後這邊修修,那邊改改

自己做了什麼都很清楚,很少有重灌不重灌的煩惱出現

 

而且Portage裡實在很多東西可以挖

不像Debian的套件庫走保守風

Ubuntu的套件庫走方便風

都是抓下來裝一裝解決

Gentoo可不是,一個軟體要裝可以給特定的USE告訴它該怎麼編譯

對系統穩定可能有影響的軟體要自己umask

 

不過這樣的高自訂性

反而像是缺點一樣降低它給人的第一映像

它不是個能讓你下一步幾次就搞定的系統

尤其是特有的Portage跟一般映像的套件管理系統有很大的不一樣

在台灣一直都只能靠幾個強大的編程人員維護著

 

這兩天,Gentoo的台灣站

gentoo.tw因為DNS的合約到期而失效

在IRC上,Gentoo-tw前兩天的話題也是"考慮gentoo.tw的去留"

 

雖然不可避免,可是這樣的消息還真的令人有點難過

2007年10月26日 星期五

Gentoo系統升級,libexpat.so.0 : No such file or directory

0 意見

昨天晚上因為用了新的USE

有點懶的全系統更新,只下了emerge -nDv gnome

讓系統以新的USE變數重新編譯gnome相關的套件

超過50個套件要重編,在Pentium4 Nothwood 2.8上也要好幾個小時

放著跑人就跑去睡覺了

 

起床一看

編譯過程也沒什麼問題

重載系統環境(env-update && source /etc/profile)之後

gdm起不來,訊息是:

error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

 

看到.so.0...

不好的預感...= =a

挖了一下紀錄檔,libexpat從1.x更新到2.x

升級過程中新編譯出來的叫做libexpat.so.1

 

難怪在找不到檔案

 

不過沒關係,Linux有打不死小強的天份(驕傲)

我revdep-rebuild,把動到的套件全部重編可以吧

gentoo / # revdep-rebulid 

p.s. 真要下還是先加上-p參數看一下到底會動到哪些,沒問題才真的下命令

-bash: revdep-rebulid: command not found

好,很好

老師說做人要勤快些就是不聽

revdep-rebulid是gentoolikt裡的工具之一

想說沒機會用到就沒裝,結果出事沒得用了

 

沒關係,打不死的小強(小聲)

準備連上網路,現在去裝起來...

gentoo / # pppoe-start

/usr/sbin/pppoe-start: line 44: /bin/id: No such file or directory
pppoe-start: You must be root to run this script

 

root?!

我是root阿,你沒看到那大大的#字號嘛

不過怎麼會提到/bin/id...

這不是寫script時拿來驗證使用者身份的東西嗎?

 

翻了一下,系統中的"id"是存放在/usr/bin/id

pppoe怎麼會去找/bin/id...?!

官方更新出錯?!

算了,不管他,打不死的小強(小小聲)

連結過來總可以吧!

gentoo / # ln -s /usr/bin/id /bin/id
...........TIME OUT

..............我不想玩了

要打的圖文並茂好累...(謎之聲,哪來的圖?)

 

後來用光碟重開機進安裝環境

連上網路並chroot裝上gentoolikt後

繼續revdep-rebulid中..= =a

2007年10月24日 星期三

Compiz與Beryl

0 意見

前兩天擺弄Ubuntu 7.10時還在上面裝beryl

我真的憨了...=口=

 

Compiz是一個基於OpenGL技術的桌面特效套件

Beryl本來是它的分支,而且能展示的特效"多很多很多很多"

但是因為開發小組在加入那些很多很多特效的途中犧牲了穩定度

所以很多Beryl的套件沒有回植到Compiz

而形成Compiz以及Beryl兩個獨立的套件開發

 

本來都覺得,反正裝這個都是為了要炫了

裝個不夠炫的Compiz倒不如直接裝Beryl或是為了穩定度乾脆不裝這些

 

可是今年三月,Compiz跟Beryl合併了...

由Compiz的開發小組負責核心元件,Beryl的小組負責特效外掛

形成一個新的開發案叫做Compiz Funsion

而Ubuntu 7.10內建的就是Compiz Funsion

所以在7.10上不要像我呆呆的跑去研究怎麼裝Beryl了

 

不過7.10上預設的設定比較保守

要裝上compizconfig-settings-manager

這會在桌面特效設定裡多一個自定選項

讓你能完整的設定Compiz強大的功能

 

很難想像Linux能辦到的桌面長怎樣嘛

看看這篇吧

2007年10月20日 星期六

Ubuntu 7.10

0 意見
有在逛這的人想必看到首頁的Ubuntu 7.10倒數計時器歸零幾天了
今天有空跑去挖了顆沒在用的硬碟就裝了起來

不像Windows升級成Vista那樣,會感覺用了完全不同的系統
7.10給人的第一映像好像就只有預設的桌布換了一下
幾個圖形介面的設定程式換了一下

主要標榜升級的部份-Compiz
可以讓桌面多了很多3D的特效
不過一直在用beryl的我,有些"新特效"還真的一點都不新
比較有意思的大概是類似iPhone圖形瀏覽效果的程式切換器吧
感覺真的很酷~~~

不過beryl本來就是Compiz的支派
找一下應該也有pugin可以在beryl上達成才對

總之,這版代號Gutsy Gibbon(勇敢的長臂猿,老美取名字還真的有創意= =b)的Ubuntu 7.10
被我亂裝亂摸發現的新功能大概有:

1.新的桌面主題設定工具,整合在一起了,不像以前佈景主題、桌布、桌面特效是分開的
2.命令列下,Tab能夠提示部份程式的參數,不像以前只能提示PATH中有包含的程式
3.部份軟體繁體中文化的進度尚未完成,懂的又有空的人(像我= =b)快上去幫忙翻譯
4.使用Compiz的桌面特效,畫面左上為所有桌面顯示,+Tab可以顯示很帥的程式切換(還有倒影,加分~~~)
5.Beryl可以裝上支援7.06的0.20,但是照官方舊的方式裝會導致emerald佈景失敗,反而會在compiz啟動後套用上emerald的佈景主題,研究出解決方式再po上來
6.十鍵滑鼠依然無解,乖乖改設定靠模擬
7.使用核心為2.6.22.14,就是說還是使用舊的I/O排班器
8.Gnome是有點新又不算太新的2.20.1,上面說到的桌面設定整合就是因為它
9.家目錄內的資料夾會根據安裝選定的語言而改為該語言的名稱,舉例來說,以前~/Desktop是指桌面所在的地方,用繁體中文裝系統的話,會叫做~/桌面

2007年10月5日 星期五

Flex Builder 2 on Linux!

0 意見
雖然有點lag了
但是看到這樣的消息還是有點感動

Flex是一種用來開發具有類似Ajax互動效果Flash前端的平台
由於真‧Jimmy的關係,我們大學畢業專題就是採用這種平台嘗試開發

而前幾天Adobe靜靜的將Flex 2的alpha版發布在Linux平台上了(雖然還是要收錢)
而且是被發表成Eclipse的plug-in元件,遵循著開放標準的原則
並且在當紅(吧)的SuSE Linux Enterprise Server 10, Red Hat Enterprise Linux Workstation 4 和 Ubuntu 7.0.4.上測試過
安裝跟設定上應該不會太有難度才對

有機會來玩玩看吧,哈哈

2007年9月16日 星期日

在Ubuntu7.04設定MX620按鍵

0 意見
本來在ubuntu上接滾輪滑鼠是隨插即用的
只是上一頁下一頁按鈕不能用實在很彆扭
用xbindkeys定義Button6跟Button7這兩顆"慣例"的上一頁下一頁按鈕又無法動作
只好挖了一下系統抓到的硬體資訊...

這還真是顆奇怪的滑鼠...

外表看起來是顆八鍵滑鼠(滾輪往上滾跟往下滾其實也是按鍵)

但是卻被辨識為一顆9鍵滑鼠和一個鍵盤裝置
滑鼠按鈕中常作為上一頁下一頁鈕的Button6跟Button7被跳過
上一頁鈕被定義在Button8,下一頁被定義在Button9

知道按鈕在哪就好辦了...請你跟我這樣作

1.安裝xbindkeys
$sudo apt-get install xbindkeys

2. 編輯xbindkeysrc
$vi .xbindkeysrc

內容打這樣:

"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
m:0x0 + b:8
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
m:0x0 + b:9


然後存檔離開:wq

那顆搜尋鍵還沒研究出要怎樣呼叫,研究出來再補上來

3. 測試看看

$xbindkeys

然後跑去可以玩上一頁下一頁的地方玩玩看

4.沒問題的話,設定gnome啟動時跟著啟動xbindkeys

系統=>偏好設定=>作業階段

新增一個啟動項,內容就打xbindkeys就好

2007年8月26日 星期日

Launchpad.net

0 意見
曾吉米發現的東西
跑去跟著玩了一下其實還蠻好玩的

這是個在幫許多Open Souce軟體作翻譯動作的介面
進去繁體中文(只有香港...)的ubuntu 7.10
看了一下待翻譯項目,堆的跟山一樣高

不過第一次參與到公開軟體的工作,新鮮..XD

2007年5月1日 星期二

Kubuntu + Beryl桌面設定

0 意見
比之前在ubuntu上弄多花了很多時間,主要是為了找出更簡易的步驟
可以參考這篇,那個beryl-install的script簡化了很多動作
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?topic_id=3703

若連結斷掉,該script內容如下
#!/bin/bash
if [ `whoami` != "root" ]; then
echo "You must run this script as root.";
else
cp /etc/apt/sources.list /etc/apt/sources.list.backup.beryl-script
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup.beryl-script
echo "deb http://nvidia.limitless.lupine.me.uk/ubuntu edgy stable" >> /etc/apt/sources.list
wget http://nvidia.limitless.lupine.me.uk/ubuntu/root@lupine.me.uk.gpg -O- | apt-key add -
aptitude -y update && aptitude -y install linux-restricted-modules-$(uname -r) nvidia-glx
nvidia-xconfig --add-argb-glx-visuals
echo "deb http://ubuntu.beryl-project.org/ edgy main" >> /etc/apt/sources.list
wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | apt-key add -
aptitude -y update && aptitude -y dist-upgrade
aptitude -y install beryl emerald emerald-themes
echo "[Desktop Entry]
Encoding=UTF-8
Name=Beryl Manager
GenericName=3D Window Manager
Comment=Beryl Manager daemon
Icon=/usr/share/icons/hicolor/scalable/apps/beryl-manager.svg
Exec=beryl-manager
Terminal=false
Type=Application
Categories=GTK;GNOME;Application;Utility;
StartupNotify=true
X-Ubuntu-Gettext-Domain=beryl-manager" | sudo tee /etc/xdg/autostart/beryl-manager.desktop
sudo cp /etc/xdg/autostart/beryl-manager.desktop /usr/share/applications/beryl-manager.desktop
cp /etc/xdg/autostart/beryl-manager.desktop ~/Desktop/beryl-manager.desktop
echo -e "\n\nBeryl is now installed.\n\nTo run Beryl on Ubuntu startup, please add beryl-manager to your\nstartup programs (System > Preferences > Sessions, and click on\nthe \"startup programs\" tab). Afterwards, please reboot.\n\nBackups of /etc/apt/sources.list and /etc/X11/xorg.conf were made:\n /etc/apt/sources.list.backup.beryl-script\n /etc/X11/xorg.conf.backup"
fi;


存成單一文字檔後chmod 755,切到文字模式的終端機下,用root執行它
他會幫你安裝新版的nvidia driver,算是超級省事的了

另外,由於他會改寫你的sources.list (也會自動幫你備份)
但是萬一你跑他兩次的話,原本的sources.list就沒了,所以最好還是備份一下


因為用的是kde,所以安裝aquamarine改善順暢度以及讓工作列上的桌面管理程式有作用
$sudo apt-get aquamarine
當然也可以去Adept用圖形化安裝aquamarine...:)

似乎因為桌上型電腦沒使用到stylus" "cursor" "eraser" 這三個table PC用的裝置
所以beryl-manager雖然可以啟動成功,但是會出現:

X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 146
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 146
Minor opcode: 3
Resource id: 0x0
Failed to open device

要解決這個問題,用root身份去修改/etc/X11/xorg.conf
找到這三行註解掉

# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"

也要把相應的裝置設定註解掉

#Section "InputDevice"
# Identifier "stylus"
# Driver "wacom"
# Option "Device" "/dev/input/wacom"
# Option "Type" "stylus"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection

#Section "InputDevice"
# Identifier "eraser"
# Driver "wacom"
# Option "Device" "/dev/input/wacom"
# Option "Type" "eraser"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection

#Section "InputDevice"
# Identifier "cursor"
# Driver "wacom"
# Option "Device" "/dev/input/wacom"
# Option "Type" "cursor"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection

沒註解下面這些裝置設定只註解上面那三行導入敘述的話,kdm啟動會出問題
會卡在開機那個splash畫面...= =

都沒問題的話,beryl應該可以跑的很順利了
要讓他在KDE啟動時跟著啟動的話,作個連結到Autostart
$cd ~/.kde/Autostart/
$ln -s `which beryl-manager` .

2007年3月21日 星期三

Gentoo 2006.1 純64環境於AM2平台

0 意見
只看Gentoo.tw的快速安裝參考文件裝,真的還是ㄎㄟˊㄎㄟˊ
我用的是mini_liveCD
反正我用installer裝好的話一定會手癢又在那邊emerge --update --deep world
不如裝的時候就老老實實讓他抓最新的來裝...= =b

大致上如下:

1.初始化環境

光碟開機後就是個完整的Gentoo Linux環境,首先設定好網路(ADSL就pppoe-setup)
#pppoe-setup
#pppoe-start

若你有兩塊網路卡,可以先lspci |grep Ethernet 看一下IO是多少,再ifconfig對照一下就知道eth0跟eth1各是哪塊了

接下來分割硬碟,並初始化分割區(我愛reiserfs..^^b),若要使用ReiserFS要注意,ReiserFS第二版在64位元平台好像有些問題,先乖乖用第一版就好,另外,最好切個ext2的boot在磁碟前面,不很有可能裝好重開機後Grub就給你一個Error 18。

#fdisk /dev/hda
#mke2fs /dev/hda1 //這是boot
#mkreiserfs /dev/hdax //其他的分割區用這樣
#mkswap //也要記得初始化swap分割區

之後掛載,啟用swap
#mount /dev/hdax /mnt/gentoo/
#mount /dev/hda1 /mnt/gentoo/boot
#swapon /dev/hdax

#mount -t proc none /mnt/gentoo/proc
#mount -o bind /dev /mnt/gentoo/dev

記得swapon啟用置換區,不然剛開始跑的好好的,記憶體缺乏時螢幕上就會出現錯誤訊息攻勢...(我這樣蠢了好幾次= =a)

然後抓stage跟portage下來解壓縮

#links http://www.gentoo.org/main/en/mirrors.xml

用stage3比較方便,直接找最近的mirror抓最新的stage3跟snapshots(portage),之後解壓縮,省時間就不用加v了,個人覺得解壓縮過程顯示出來會慢很多。

#tar -xjpf stage3-xxxxx.tar.bz2 /mnt/gentoo
#tar -xjf portage.xxxx.tar.bz2 -C /mnt/gentoo/usr //別自己在後面加上portage.....

接下來選映像站加入make.conf,複製dns資訊。

#mirrorselect -s4 -o | grep 'GENTOO_MIRRORS=' >> /mnt/gentoo/etc/make.conf
#cp -L /etc/resolv.conf /mnt/gentoo/etc/ //因為新環境的etc內本來沒有,所以後面檔名打不打沒關係

grep目前分割區資訊進去等等要進入的新環境,不然最後在裝grub會出問題

#grep -v rootfs /proc/mounts > /mnt/gentoo/etc/mtab

2.進入chroot環境,安裝

能的話df檢查一下該掛是不是掛了;不該掛的是不是沒掛(?),之後chroot

#df
#chroot /mnt/gentoo /bin/bash

(chroot)#env-update ; source /etc/profile
(chroot)#emerge --sync //想省時間可以不用
(chroot)#emerge portage //因為--sync執行完他會建議emerge portage,so...
(chroot)#emerge system //睡覺,打電動,泡咖啡,隨便你

設定時區跟fstab等等哩哩扣扣的

(chroot)#ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
(chroot)#vi /etc/fstab

註解很完全,改一改就好,預設中/boot不會自動掛上,保留原樣就好,若很介意的話,把boot那列的noauto拿掉

裝核心,設定核心,編核心

(chroot)#emerge gentoo-sources
(chroot)#cd /usr/src/linux
(chroot)#make menuconfig
//Processer Type記的選一下,用ADSL的話PPP裡的PPPOE至少要編成模組,驅動程式記的選,其他高興就好,不常用的就不要編或編模組吧

(chroot)#make && make modules_install
//睡覺,打電動,泡咖啡,隨便你,不過等一下也無妨,現在CPU編核心跟飛的一樣

(chroot)#cp arch/x86_64/boot/bzImage /boot/<取個你高興的名字>
(chroot)#cp System.map /boot

接下來可以享受一下Gentoo的Portage....:)

(chroot)#emerge syslog-ng && rc-update add syslog-ng default
(chroot)#emerge vixie-cron && rc-updage add vixie-cron default
(chroot)#emerge reiserfsprogs
(chroot)#emerge dhcpcd
(chroot)#emerge rp-pppoe
(chroot)#emerge vim //若硬要說對Gentoo有啥不滿的話,就是這東西預設沒裝...\_/

設root密碼,創帳號

(chroot)#passwd
(chroot)#useradd yourname -m -G users -s /bin/bash

設定網路,多網路卡要記得連結

(chroot)#vi /etc/conf.d/net //也可以拿net.example來改
(chroot)#cd /etc/init.d/
(chroot)#ln -s net.lo net.eth1

裝Grub,改設定檔
(chroot)#emerge grub
(chroot)#vi /boot/grub/devices.map //像說 加入: (hd0) /dev/hda
(chroot)#vi /boot/grub/grub.conf //不會的話Google或看官方參考文件
(chroot)#grub --no-floppy //不然他會很笨的在那邊找不存在的軟碟機
grub>root (hd0,0)
grub>setup (hd0)

3.離開chroot環境,卸載,重開機

(chroot)#exit
#umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/boot
#umount /mnt/gentoo
#reboot

4.然後...

應該就很happy了,高興X就給他emerge xorg-x11,高興apache就給他apache
打完收工....^^b
 

mech's blog. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com