Posts for: #GNU/Linux

Open Source 的獲利模式


開放原始碼


在國外已經行之多年的開發模式,在台灣似乎並不是那麼的流行,在政府沒有強力主導,所有的解決方案,都是大廠囊括了大多。

技術與行銷


一種技術能否成功,有時不是他本質得好壞,而是使用及採用人數,和行銷的成功,有越多人,使得資源越豐富,不管是教材,資源,人才或是解決方案的諮詢,都因使用的人數升高能成長,行銷的成功,可以傳達訊息給有高層有決定權的主管,或是消費者。

其中的例子有太多,像是太多的主管或是使用者不知道,這世界上還有其他的瀏覽器,或是 Mircosoft Office 以外的 office 軟體,或是不知道,Windows 以外還有其他作業系統,這就是現實,也是有無行銷的差異。

前些陣子,看到新聞台的記者,發布 MicrcoSoft 未來作業系統將支援 64位元運算時,心想,電視台應該作一個,在 PC 平台上作業系統支援 64 位元的時程表,他才知道 MicroSoft 支援的速度是慢的可憐。

不同領域其實有很不同的情形,像是在嵌入式系統的領域,open source 已經相當成熟,而且有著豐厚的利潤,在其他的領域則是需要知名度,或是大廠的背書,才敢採用。

商機與不同的角度


解決方案提供者
應該商機是在市場形成,open source 普遍成為解決方案時,商機才會浮現。
服務或是產品提供者
是用這些 open source 的利器,打造自己的方案,解決自己的問題,創造新的服務。

Debian GNU/Linux 3.0 r4 新版本


Debian 3.0 r4


Debian 3.0 出新的更新版本了,對一些不追求最新版本,以系統安全為第一考量的人更是安裝的首選,不過真的很新,一些 FTP 站上都還沒有。

原始新聞聯結 Link

其實我都用 Debian testing


有一點是心理因素,想追求較新的軟體,得到比較多的功能,也比較能跟上軟體的腳步,有另一點是,Debian 的 testing 版,已經比起其他 Linux 廠商所謂的 release 版還要穩定,安全許多,一般伺服器上裝的軟體更是少,所以更沒有安全上的問題,軟體之間的依存關係很少,倒是自己的 Desktop 裝了很多好玩的套件,有時太久沒更新,才覺得有一點點的風險。

一般特定的伺服器,裝的服務就只有那幾個套件,連 X window 都沒有,更新起來相當輕鬆,我的 testing 伺服器已經跑一年以上了,您還覺得一定要用 stable 嗎?

見仁見智,用的開心就好。

把 GNU/Debian 裝在 IBM X31 上


Debian


是非常好用的 Linux 版本, 在國外是相當受歡迎的 Linux, 您可以選擇跟隨不同的版本, 有 stable, testing, unstable, stable 適用於一般不需最新套件軟體, 只追求穩定的使用者, testing 的軟體版本則較新, unstable 則是更新的軟體版本, 我是裝 testing 的 Debian, 是由官方網站下載的 testing CD

每週都有新的光碟, 是 weekly build 的光碟, 我是選擇裝 i386 的第一片

前置作業


將原本 IBM 硬碟上的 HPA 備分起來, 預防萬一, 用 Debian 光碟開機後, 先利用 Debian 硬碟分割工具, 將原本的硬碟空間改變, 我原本是40G的 C 碟一顆, 扣掉 IBM 的隱藏區後大約還有 37 G 的空間, 將 C 碟的空間縮小(原本資料不會不見), 我是將 C 碟縮到 10 G, 在割一個 6 G 的 FAT 磁區, 準備要放 HPA 的備份, 請參考 IBM HPA BACPUP & RESTORE

開始安裝


先了解硬體是哪些, 我的 IBM X31有

  • CPU 1.6

  • INTEL gigabit 網路晶片

  • ATI 顯示晶片

  • BlueTooth

  • INTEL 2100 3B wireless

  • i810 audio


lspci的結果:

debian:# lspci
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 81)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY
0000:02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
0000:02:00.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
0000:02:00.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 02)
0000:02:01.0 Ethernet controller: Intel Corp. 82540EP Gigabit Ethernet Controller (Mobile) (rev 03)
0000:02:02.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)

大概就這些了, 需要的大概也就這些了, 想到再加, 首先由光碟開機, 我是選擇 linux26 的開機方式, 我想用 2.6 Linux 核心了, 按照說明一步步安裝, 請參考 Debian Install (Debian 無痛起步法), 或是 , 圖解 Debian 桌面入門, 安裝好之後, 就會抓到聲音, 不過是用 OSS Sound system, 我想改成 ALSA 的聲音系統, Xfree86 也可以正確得設定, 電源管理是用 2.6 核心預設的 ACPI 的方式作管理, 將

/etc/apt/source.list

設定好吧, 我的內容是:

terry@debian:$ cat /etc/apt/sources.list
deb ftp://debian.linux.org.tw/debian testing main non-free contrib
deb ftp://debian.linux.org.tw/debian-non-US testing/non-US main non-free contrib
deb-src ftp://debian.linux.org.tw/debian testing main non-free contrib
deb-src ftp://debian.linux.org.tw/debian-non-US testing/non-US main non-free contrib
deb http://security.debian.org/ testing/updates main contrib
# Mplayer
deb ftp://ftp.nerim.net/debian-marillat/ testing main
# K3b
deb http://www.planet-moll.de/debian sarge main

mount XP fat file system


把 XP 原本分割的 6 G 的 fat 磁區 mount 起來, 成為 Windows 和 Linux 共享的磁區, 在 /etc/fstab 中加入

/dev/hda2 /mnt/xpshare vfat user,noauto,iocharset-big5 0 0

下面是我的 fstab file 給大家參考:

terry@debian:$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda3 / ext3 defaults,errors=remount-ro,noatime 0 1
/dev/hda5 none swap sw 0 0
/dev/scd0 /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
/dev/sda1 /mnt/pendrive vfat user,noauto 0 0
/dev/hda2 /mnt/xpshare vfat user,noauto,iocharset=big5 0 0

True Type 字型, 微軟細明體, 瑩火飛前輩的新宋體


除了, 原本有安裝的文鼎字型外, 將 xpshare mount 起來,mount xpshare 就可以將微軟細明體的字體復製到 Linux 下, 下載瑩火飛前輩的新宋體, Font, (真是要感恩前輩的奉獻) 將字體存放到一個通用的目錄下, 我是放在

/usr/share/fonts/truetype/mingliu

/usr/share/fonts/truetype/firefly 下

利用 KDE 的字型管理工具(kcontrol 下的字型管理), 將這兩的字型加入, 順便在字型設定中把anti alias及sub-pixel hinting 選起來就可以了, 字會更清楚, 看看

/etc/X11/XF86Config-4

檔案內的字型部分有無將字型的路徑加入, 如果沒有請自行加入

Wireless, INTEL 2100 3G


這一部分 intel 已經有發表在 Linux 上的驅動程式,網站是 http://ipw2100.sourceforge.net/

您可以去下載firmware, 在 Debian 下, 則是要安裝:

ipw2100-source
hotplug
wireless-tools
kernel-package
kernel-kbuild
kernel-headers
debhelper

等套件

參考一下, 我安裝的kernel package:

terry@debian:$ dpkg -l “kernel” | grep ^i
ii kernel-headers 2.6.8-4 Header files related to Linux kernel version
ii kernel-headers 2.6.8-4 Linux kernel headers 2.6.8 on PPro/Celeron/P
ii kernel-image-2 2.6.8-4 Linux kernel image for version 2.6.8 on PPro
ii kernel-image-2 2.6.8-4 Linux kernel image for version 2.6.8 on PPro
ii kernel-kbuild- 2.6.8-1 Linux kernel 2.6 kbuild tools
ii linux-kernel-h 2.5.999-test7- Linux Kernel Headers for development

接著就請大家看一下 /usr/share/doc/ipw2100-source 的說明, 照著說明安裝, 看 doc 應該是用 Linux 必須的觀念, 讀簡單的英文就成了家常便飯, 最後再用 modprobe ipw2100, 就可以把 module 載入, 記得下載同版本的firmware這樣我們就有了 eth1 這個新的網路介面了

這是我的流程, 不過還是建議您要有看 doc 的習慣:

debian:# cd /usr/src/
debian:/usr/src#
debian:/usr/src# tar zxvf ipw2100-source.tar.gz
debian:/usr/src# module-assistant a-i ipw2100

裝完了別忘了去下載版本符合的 firmware
在放入 /usr/lib/hotplug/firmware 這個資料夾, 並且解壓縮:

debian:/usr/lib/hotplug/firmware# tar zxvf ipw2100-fw-1.3.tgz

老話一句, 記得養成看 doc 的習慣

接下來 您可以先手動載入 ipw2100 這一個 kernel module:

debian:/usr/src#modprobe ipw2100

試試看有沒有問題:

debian:/etc# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11b ESSID:“test” Nickname:“ipw2100”
Mode:Managed Frequency:2.422 GHz Access Point: 00:02:6F:01:58:AA
Bit Rate=5.5 Mb/s Tx-Power=32 dBm
Retry:on RTS thr=2304 B Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=92/100 Signal level=-66 dBm Noise level=-98 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
eth2 no wireless extensions.
sit0 no wireless extensions.

ALSA Sound System


首先將 oss sound disable, Debian 的 testing 在安裝時是用discover 來偵測硬體, 將原本的 OSS SOUND 關閉, 在 /etc/discover.conf 最後一行加入

skip i810_audio

安裝 alsa-base 及 alsa-utils
參考:

debian:/etc# dpkg -l “alsa” | grep ^i
ii alsa-base 1.0.6a-5 ALSA configuration files
ii alsa-utils 1.0.6-3 Advanced Linux Sound Architecture (utilities
ii gstreamer0.8-a 0.8.5-1 ALSA plugin for GStreamer
ii libpt-plugins- 1.6.6.4-5 Portable Windows Library Audio Plugin for th

再用 alsaconf 來設定即可

ACPI Power Manage


安裝 acpi 及acpid , 在參考一下內附的doc , 及 x31.sh , 至於要不要安裝 ibm_acpi 就見仁見智了, 我是沒有裝

我的 x31.sh 是放在 /etc/acpi/ 下面,您必須在 /etc/acpi/events/default

這樣設定:

terry@debian:$ cat /etc/acpi/events/default
# This is the ACPID default configuration, it takes all
# events and passes them to /etc/acpi/default.sh for further
# processing.
# event keeps a regular expression matching the event. To get
# power events only, just use something like “event=button power."
# to catch it.
# action keeps the command to be executed after an event occurs
# In case of the power event above, your entry may look this way:
#event=button power.

#action=../../../../../sbin/init 0
# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you’ve
# specified.
event=.*
action=../../../../../etc/acpi/x31.sh %e

按造 x31.sh 裡寫的, 我的 Fn+F4 會休眠, 可是大約 3, 4 秒 就又在文字模式下醒過來, 因為在 x31.sh 中fgconsole 路徑錯誤, 將/usr/bin/fgconsole 改成/bin/fgconcole, error 又 說 xxxxx1d.7 裝置不能 suspend, 這應該是, ehci_hcd 這一個 kernel module 造成的, 我把這個 module unload 後, 可以Fn+F4 (suspend), 可是醒不過來, 要按 power 才行,目前, 還有問題, 查了一下 Google 說是 2.6.8 kernel usb 部份的 bug 在 2.6.9 就有修正了, 等不及的就自己先編吧

Fn+F3 的部份, 因為在x31.sh 他抓的even 是在 /proc/acpi/ibm 下面,就一定要裝 ibm_acpi 這個 kernel modul 非常容易裝, 但是我裝了後, 不能正確捉到 Fn+F3, 我想還需要 debug 一下

Fn key


關於 Fn key 的功能, 可以安裝, tpb 這一個套件, 就可以像在 windows 裡一樣, 按 Fn+Home(螢幕變亮), Fn+End(螢幕變暗) , 及音量的升降,都有圖示, 也可以自行設定IBM按鍵

客制化 Xsession.d 下的服務


在登入時我是用 kdm 來作管理(太騷包了), 又一定都會需要中文輸入法, 也不想浪費 x31 鍵盤上 forward, 和 backward 這兩個鍵,加了兩個檔案在
/etc/X11/Xsession.d/ 目錄下, xcin 是參考 doc, xmodmap 則是參考 Xsession 的 man page

/etc/X11/Xsession.d/40custom_load-xmodmap 檔案內容:

debian:/etc/X11/Xsession.d# cat 40custom_load-xmodmap
SYSMODMAP="/etc/X11/Xmodmap”
USRMODMAP="$HOME/.Xmodmap"
if [ -x /usr/bin/X11/xmodmap ]; then
if [ -f “$SYSMODMAP” ]; then
xmodmap “$SYSMODMAP”
fi
fi
if [ -x /usr/bin/X11/xmodmap ]; then
if [ -f “$USRMODMAP” ]; then
xmodmap “$USRMODMAP”
fi
fi

/etc/X11/Xsession.d/70xcin 檔案內容:

debian:/etc/X11/Xsession.d# cat 70xcin
LC_CTYPE=zh_TW.Big5; export LC_CTYPE
XMODIFIERS="@im=xcin"; export XMODIFIERS
xcin &

這是我的 /.Xmodmap:

terry@debian:$ cat ~/.Xmodmap
keycode 234 = Prior
keycode 233 = Nex

keycode 是用 xev 去抓的
這樣一來, 就可以把 x31 鍵盤上的 forward, backward 變成 “上一頁” 和 “下一頁”

SpeedStep


在 Linux 下, 有相當多的套件可以控制, 基本上您必須有載入
這些 kernel module, 或是有編入核心, 我是把
speedstep_centrino
cpufreq_userspace
加入 /etc/modules 中
然後我是安裝 powernowd, 是相當實用的套件, 可以設定cpu 每一個 step 的級距, 其他還有cpudyn, cpufreqd 或是其他的套件, 都有相似的功能, 能讓您得筆記型電腦適時的發揮效能, 也能省電

最後來一張快照吧:


快照

WindowMaker

相關資源:


中文:

英文:

NOTE:



  • 2004/11/03: 增加 Xmodmap, 及 Xsession.d 部分

燒錄軟體 K3b


K3b


K3b 是在 Linux 下開發的燒錄軟體,大多是人機介面的整合,原本是針對 KDE 作最佳化,但是其實不管是哪個 window manager 都可以用, Nero 有的功能,大多都有,有興趣的可以試試。如果是 Debian 的話有現成的 deb 可用 。

請在 /etc/apt/source.list 加入官方網站的 deb 位址

用 woody (stable ) 的加入

deb http://www.planet-moll.de/debian woody main

用 sarge 也就是現在的 testing 加入下一行

deb http://www.planet-moll.de/debian sarge main

在執行

apt-get update

apt-get install k3b

安裝完了,就輸入 k3b 試試看合不合用了