|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-08-25, 05:34 AM | #1 |
榮譽會員
|
Knoppix的最簡設定方法
設定一張屬於自己的Knoppix光碟
一、准備碟工作 1、Knoppix 3.4光碟一張(可以是原版也可以是漢化版本),英文版下載位址http://www.knoppix.net,中文版可以從CCF的ftp上下載。 2、硬碟分區(大約6-7G空間) 建議硬碟分區大致如下 hda1...Windows OS ....................隨便 hda5...Knoppix硬碟安裝................至少2.3G,推薦3-3.5G hda6...重新設定的Knoppix光碟映射文件..至少1.7G hda7...Windows/Linux共享分區FAT,FAT32格式,大小自定。 hda8...Linux swap.....................500-700M (交換分區+實際記憶體大於1G) 二、安裝Knoppix到硬碟 從光碟啟動,開一個控制台用指令: sudo knoppix-installer 安裝Knoppix到硬碟hda3(一定要選項安裝方式為knoppix:Knoppix System Like from CD) 建立一個設定用的目錄用於產生自己的光碟映射,拷貝光碟上的所有文件(除了KNOPPIX這個700M的文件)到硬碟: (以root身份) mount /dev/hda6 /mnt/hda6 mkdir /mnt/hda6/knx-remaster cd /cdrom;find . -size -10000k -type f -exec cp -p --parents {} /mnt/hda6/knx-remaster/ \; 重啟電腦,從硬碟引導。 三、從英文版開始設定(從CCF.KNOPPIX 2004.1開始或者不打算漢化的可以跳過這一步) 1、漢化的準備工作 開一個控制台,以root身份修改文件/etc/lilo.conf將lang=us改為lang=cn(或者你希望的別的語言如lang=tw為繁體中文) 使用指令lilo更新lilo的配置,修改/home/knoppix/.kde/share/config/konsolerc將23行的font=4改為font=8(否則控制台字體會很難看) 修改文件/etc/init.d/knoppix-autoconfig: 將第132行的[ -n "$LANGUAGE" ] || LANGUAGE="de"改為[ -n "$LANGUAGE" ] || LANGUAGE="cn" 轉到第206行cn)#Simplifed Chinese version這一段,將下面的 LANG="zh_CN"改為LANG="zh_CN.GBK「並在下一行加入 LANGUAGE="zh_CN.GBK" 以及修改XMODIFIERS="@im=xcim"為XMODIFIERS="@im=fcitx" 拷貝中文字體,準備漢化(中文配置程序我就不寫了,和其他linux漢化的程序一樣,唯一不同在於修改Xfree86的配置文件是在/etc/X11/XF86config.in和/etc/X11/XF86config-4.in這兩個文件,在增加的字體的路徑後,請移除/etc/X11/下的XF86config和XF86config-4 2、移除不必要軟體包 開一個控制台,切換到root(指令su) 用指令 apt-get remove {軟體包名}移除軟體包(當然Knoppix是關於Debian Linux的,你也可以使用dpkg指令來移除軟體包等等) 我移除了的軟體包有 x3270 3270-common openoffice-de-cn mozilla-locale-de-AT kde-i18n-cs kde-i18n-pl kde-i18n-de kde-i18n-es kde-i18n-fr kde-i18n-it kde-i18n-ja kde-i18n-nl kde-i18n-ru kde-18n-tr qcad lyx-common wine wine-utils libwine libwine-twain libwine-print xine-ui libxine1 falconseye falconseye-date gaim emacs21 emacs21-bin-common emacs21-common emacsen-common 大約共可以騰出500M的空間,如果你自己需要增加的軟體比較大,那麼可能還要再移除一些,可以用如下指令找出那些包最佔空間 dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n 我用的是這個指令,可以看到包的簡單描述資訊 dpkg-query -W --showformat='${Installed-Size} ${Package}\t ${Description;50}\n' | grep ^[0-9] | sort -n 3、增加中文支持包 apt-get install kde-i18n-zhcn(繁體支持為kde-i18n-zhtw) 4、修改/etc/gtk/gtkrc.zh_CN文件內容中的-*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0為-*-mingliu-medium-r-normal--12-*-*-*-*-*-gbk-0(如果你已經增加Windows下的mingliu字體的化,其實這些和一般的Linux漢化都一樣) 5、增加Java的中文支持,這個請大家參考其他Linux論壇的貼子吧,偷個懶 6、重啟電腦。 四、增加軟體包 1、編輯apt源 apt是Debian下管理軟體包的一個工具,編輯/etc/apt/source.list增加你自己的apt源,然後執行 apt-get update更新軟體包資訊,apt-get upgrade 指令可以更新整個系統(!!不推薦使用,毛病多多。如果一定要更新,請保留原本的系統配置文件) 2、增加軟體 apt-get install {你想增加的軟體包名稱},你也可以事先下載一些apt源中沒有的軟體包 在CCF.KNOPPIX 2004.1中,我增加的軟體有Koffice,mozilla-locale-zh-cn,openq(Linux下的QQ,可以在http://openq.linuxsir.org 下載到for Debian的deb包),mplayer(我自己做了個中文版的mplayer的deb包,但是在beta1中忘記把配置文件附上了,所以在beta1中的mplayer不能執行),xft2(firefly),qt(firefly),pango(firefly) 3、增加中文輸入法 我喜歡小企鵝輸入法, apt-get install fcitx(也可以到[url]http://www.fcitx.org下載最新版本自己編譯︴/url]^並設定自己的配置文件在knoppix用戶主目錄裡的.fcitx/config如字體為mingliu,字號為13等等。修改.qt/qtrc,在[General]在一段中加上一句XIMInputStyle=Over The Spot(輸入法自動跟隨) 如果希望啟動自動載入fcitx,修改/etc/X11/Xsession.d/45session,在116行的startkde()前面的行上增加這麼幾行 export XMODIFIERS="@im=fcitx" export XIM=fcitx export XIM_PROGRAM=fcitx fcitx & 4、配置你的系統 軟體的配置文件共有兩種,一個是全局配置,這樣的配置文件在/etc目錄下,直接配置即可,一種是用戶自己的配置文件通常在主目錄下,自己配置好,如kde的配置(在.kde目錄下)、vim的配置.vimrc,.gvimrc等等,當你完成自己的配置以後,必須在設定的光碟上保留這些配置。所以你必須有下面的幾個操作: a、拷貝所以的配置文件到/etc/skel(/etc/skel目錄是一個儲存配置的目錄) (在用戶主目錄) cp * /etc/skel/ cp .* /etc/skel/ cp Desktop/* /etc/Desktop (如果你在桌面上增加了什麼建立捷逕的話) b、編輯/etc/X11/Xsession.d/45session,轉到第58行# Copy profiles if not already present 的下面兩行的?......}括號中加人你的配置檔案名稱,如改為:{.mplayer,.vimrc,.gvimrc,.....} c、mozilla的配置文件相對特殊些,mozilla的配置文件在/usr/share/knoppix/profile/.mozilla/下面, (*由於設定LANG="zh_CN.GBK"會使gvim的功能表會顯示亂碼,所以在.gvimrc中的最後面加上 set encoding=euc-cn source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim 換成LANG="zh_CN「就可以省去這一不,但是就無法安裝VMWare了) 5、自由發揮 在你的Linux上能作什麼,你就可以在Knoppix上作同樣的事,只需安裝相應的軟體和配置就可以了,在這一點上你可以發揮你自己的想像力。比如/usr/sbin/下面的很多程序都可以漢化,如:knoppix-installer等等。 6、更新系統資料庫 updatedb ldconfig update-modules (!!用df指令檢視一下系統的大小在2.1G左右,否則無法燒錄在光碟上) 五、封裝前的準備 1、清除歷史記錄 在封裝你的Knoppix之前為了使得系統乾淨,我們還要清除上網瀏覽的歷史記錄(你不會希望自己的論壇帳號,信箱密碼隨著你的Knoppix滿世界飛吧),實際上這一步應該在拷貝配置到/etc/skel之前完成,最好是設定時乾脆不瀏覽網頁。 修改/etc/skel/.kde/share/config/kickerrc第124行,把這一行等號後面的全部移除(只能移除這一行的!!) 2、移除一些本地機的配置 rm /etc/X11/XF86config rm /etc/X11/XF86config-4 rm /etc/sysconfig/* rm /etc/sysconfig/network-scripts/* rm /etc/skel/.bash_history rm /etc/skel/Desktop/CD-Rom* rm /etc/skel/Desktop/hda* 3、執行一個清理指令碼 將附件remaster.txt拷貝到/usr/sbin/,改名為remaster.clean chmod 755 /usr/sbin/remaster.clean 使之可以執行, 用root身份執行 remaster.clean 將自動進一步清理系統 4、指令重啟 reboot,重新以光碟引導電腦 六、封裝光碟 1、掛載文件系統 mount /dev/hda5 /mnt/hda5 mount /dev/hda6 /mnt/hda6 2、最後的清理 rm -rf /mnt/hda5/.* rm -rf /mnt/hda5/root/.* rm -rf /mnt/hda5/home/* 3、最後的配置 修改/mnt/hda6/knx-remaster/boot/isolinux/isolinux.cfg中的lang=us為lang=cn(全部) 4、打包 mkisofs -R -U -V "KNOPPIX.net filesystem" -P "KNOPPIX www.knoppix.net" -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda5 | nice -5 /usr/bin/create_compressed_fs - 65536 > /mnt/hda6/knx-remaster/KNOPPIX/KNOPPIX 對指令的說明懶得翻譯了) mkisofs: the application to make the iso fs -R: generate SUSP & RR records -U: allow untranslated filenames (this is not iso9660 compliant & generates an error message which is of no consequence) -V "KNOPPIX.net filesystem": Volume ID is "Knoppix.net filesystem" (change this to whatever name you wish) -P "KNOPPIX www.knoppix.net": Publisher ID is "KNOPPIX www.knoppix.net" (change this to whatever name you wish) -hide-rr-moved: renames the directory RR_MOVED to .rr-moved making it a hidden file -cache-inodes: this is a default setting -no-bak: do not include backup files -pad: pad the whole image by 300 sectors /mnt/hda5: location of the source directory to be compressed nice -5: sets an operating system priority of -5 on the compression job | /usr/bin/create_compressed_fs: pipe output through the create_compressed_fs application -b: use maximum compression (very slow output) - : use std input (ie accept input from the pipe) 65536 : block size > /mnt/hda6/knx-remaster/KNOPPIX/KNOPPIX: direct output to the file KNOPPIX 將產生一個700M大小的文件KNOPPIX cd /hda6/knx-remaster/ rm -f KNOPPIX/md5sums find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums 更新md5sums文件,以便以後檢查 5、生產光碟映射 mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /mnt/hda6/knoppix.iso /mnt/hda6/knx-remaster/ 將產生以個光碟映射文件在/mnt/hda6/下,檔案名為knoppix.iso 6、燒刻 將檔案拷貝在hda7下(Windows,Linux共享分區用nero等工具燒刻 或者用linux裡的k3b燒刻,或者用vmware檢查之後燒刻,個人習慣了。 7、搞定 在發帖,上傳到的ftp,大家共享,討論、又修改、又發帖、上傳...... ==================================== remaster.txt #!/bin/bash #This is the minimum cleanup script #does not edit out all config files, remove /home/knoppix or restore system to default state #Original: Knoppix.checklibs (C) 2003 Klaus Knopper #modified by !?CrashedAgain for personal use umask 022 /etc/init.d/autofs stop /etc/init.d/apmd stop [[ -x /etc/init.d/knoppix-terminalserver ]] && /etc/init.d/knoppix-terminalserver deconfigure #remove only "temporary" or saved files in the given directories #(rm -f is force, ignore non-existant files, never prompt) nuke(){ for i in `find "$@" -name \*.gz -o -name \*.bz2 -o -name \*.0 -o -name \*.0.log -o -name browse.dat -o -name \*.\*pk 2>/dev/null`; do rm -f "$i" done } #set all files in the list to a length of zero zero(){ for i in `find "$@" -type f -size +0 -not -name \*.ini 2>/dev/null`; do :> "$i" done } #remove mount points rmdir /mnt/cdrom?* /mnt/hd?* /mnt/sd?* 2>/dev/null # these config files must be removed for the Knoppix to setup for new hardware rm -f /etc/X11/XF86Config /etc/X11/XF86Config-4 /etc/XF86Config /etc/XF86Config-4 # optional: remove these config files also rm -rf /tmp/* /var/tmp/* /var/backups/* \ /home/*/.ssh /home/*/.bash_history \ /var/run/screen/* \ nuke /var/log /var/cache zero /var/local /var/log /var/spool /var/mail \ /var/lib/games /var/cache/man /var/lib/wine \ /var/lib/nfs /var/lib/xkb #remove expanded manpage files if a compressed version exists for i in `find /usr/*/man -name \*.\[[0-9ln\]]` ; do [[-f "$i".gz -o -f "$i".bz2]] && rm -f "$i" done # delete old dowloaded packages echo "Deleting old downloaded packages....." apt-get clean echo " Done" #remove 'orphaned files' not listed as used by any package #note: may be problems if you have added applications from source instead of .deb pkgs echo -n "Cleaning up orphans..." deborphan | xargs apt-get -y remove echo " Done" echo -n "Cleaning up config files..." COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P echo " Done" # Strip X11 Libs strip-unneeded removes all symbols not needed for relocation processing strip --strip-unneeded `find /usr/X11R6/lib/modules -name \*.so -o -name \*.o` # Recreate empty utmp and wtmp :>/var/run/utmp :>/var/run/wtmp # regenerate module dependencies and ls.so.cache echo -n "Updating ld.so.cache..." ldconfig echo " Done." echo -n "Updating modules.dep..." depmod -a 2>/dev/null echo " Done." echo -n "Updating mandb..." mandb -c man doesnotexist >/dev/null 2>&1 echo " Done." echo -n "Updating locate-database..." # slocate is a security enhanced 'locate' file for finding files on the system # dlocate is a prgm to view pkg information updatedb --prunepaths="/mnt/hd /mnt/cdrom /tmp /usr/tmp /var/tmp" update-dlocatedb echo " Done." echo -n "Fixing permissions in /dev/..." chown root.root /dev/ttyp* chmod 666 /dev/ttyp* /dev/sg* /dev/audio* /dev/dsp* /dev/mixer* /dev/sequencer* echo " Done" echo -n "Fixing permissions in /etc/ppp/..." chown root.dip /etc/ppp/*secrets /etc/ppp/ppp_* /etc/ppp/peers/*provider /etc/ppp/peers /etc/ppp /etc/chatscripts /etc/chatscripts/* chmod g+rwX /etc/ppp/*secrets /etc/ppp/ppp_* /etc/ppp/peers/*provider /etc/ppp/peers /etc/ppp /etc/chatscripts /etc/chatscripts/* echo " Done" echo -n "Removing unused architecture Kernel sources: " for i in `ls -1 /usr/src/linux/arch/ | grep -v i386`; do echo -n "$i "; rm -rf /usr/src/linux/arch/"$i" /usr/src/linux/include/asm-"$i" done echo " Done." |
送花文章: 3,
|