參考網址列表:
準備工作:
- 因為要複製一些設定檔,需要一台Debian系統。
- 安裝並設定你要作進Live CD中的套件,選擇的套件越多,最後的iso越大。(eg. LAMP)
- 安裝Live CD製作套件。apt-cacher:修改/etc/apt-cacher/apt-cacher.conf,先不啟動。
- cache_dir=/your/path/to/apt-cacher/cache
- admin_email=your@email.addr(非必要)
- daemon_port=3821(隨便,不要小於1024就好,小於1024的話daemon就一定要root的權限,這邊和後面mirror的位址要一致,格式:http://yourIP:port/debian/)
- group/user=www-data(apache的daemon 權限,因為資料夾需要讓http上的資料可以寫入)
- path_map=debian ftp.nchc.org.tw/debian ; security security.debian.org/debian-security ftp.nchc.org.tw/debian-security (這裡的mirror站可以參考www.debian.org)
- 製作Live CD的scripts提供lh_config、lh_clean、lh_build...等scripts。
- 啟動apt-cacher
- mkdir /path/to/apt-cacher
- chown -R www-data:www-data /path/to/apt-cacher
- /etc/init.d/apt-cacher start
- 建立Live CD內容的存放目錄
- mkdir /path/to/LiveCD
- lh_config
- cd /path/to/LiveCD/
- lh_config --mirror-bootstrap "http://localhost:3821/debian/" --mirror-chroot "http://localhost:3821/debian/" --mirror-binary "http://ftp.nchc.org.tw/debian/" -d lenny --hostname LiveCD --username fcu --memtest memtest86+ --packages-lists local-pkg-lamp --bootappend-live "locale=en_US.UTF-8"
- --mirror-bootstrap "http://localhost:3821/debian/":
- --mirror-chroot "http://localhost:3821/debian/":
- --mirror-binary "http://ftp.nchc.org.tw/debian":
- -d lenny:
- --hostname LiveCD:
- --username fcu:
- --packages-lists local-pkg-lamp:套件的清單,名字自取。
- --bootappend-live "locale=en_US.UTF-8":locale請自己改成自己想要的,不過,我設上去後,在lh_build時warning狂跳,說沒有en_US.UTF-8。
- --memtest memtest86+:memory testing可有可無。
- -p xfce-desktop:會裝openoffice,太肥了,不想用。
- -b usb-hdd:這個是要做Live USB時使用。
- 也可以僅執行lh_config,然後自行修改config裡的各項資料。
- lh_config 後,在/path/to/LiveCD/產生cache/、config/、scripts/資料夾,不知道為什麼在 rebuild的時候,lh_clean會砍到剩下cache/、config/,而重新lh_config的話不會更新config的內容,所以 rebuild的時候,我只留下cache/,其他的手動移除。
- 放入自行選擇的套件及設定檔:這裡是影響LiveCD iso檔大小最多的地方,最後的iso大約是實際安裝os的1/3~1/2,要放進光碟的話,要考慮一下大小。另外,所以的設定檔都放在config/下。
- 套件
- config/chroot_local-packageslists/
- local-pkg-lamp:如果lh_config -p xfce-desktop沒有下,又想有桌面的環境,加入以下橘色部份的套件。
apache2
libapache2-mod-php5
php5
php5-mysql
php5-cli
mysql-server
mysql-common
mysql-client
lynx
openssh-client
openssh-server
wireshark
snort-doc snort-mysql
snort-rules-default
xorg
fce4
vim
python
perl
iceweasel
desktop-base
gdm
- local-pkg-lamp:如果lh_config -p xfce-desktop沒有下,又想有桌面的環境,加入以下橘色部份的套件。
- config/chroot_local-hooks/
- lamp-update-rcd.sh#!/bin/sh
#lamp-update-rcd.sh
#Make the init script executable
chwon root:root /etc/init.d/lamp
chmod 755 /etc/init.d/lamp
chwon root:root /etc/init.d/apache2
chmod 755 /etc/init.d/apache2
chwon root:root /etc/init.d/ssh
chmod 755 /etc/init.d/ssh
chwon root:root /etc/init.d/snort
chmod 755 /etc/init.d/snort
#Create symlinks for each runlevel as the following
update-rc.d lamp defaults 90 10
update-rc.d apache2 defaults 91 10
update-rc.d ssh defaults 16 10
update-rc.d snort defaults 20 10
- lamp-update-rcd.sh#!/bin/sh
- change-owner.sh#!/bin/sh
chown -R fcu:fcu /home/fcu
- config/chroot_local-packageslists/
- 設定檔:config/chroot_local-includes/*,一開始的時候這個目錄是空的,所以的目錄必須自行建立,這邊要配合你的lh_config和裝進LiveCD中的套件,沒有的話會無法順利lh_build,或者使用預設值啟動套件,有些套件會無法順利啟動。
- etc/
- rc*.d/ and init.d/:init.d/中放scripts,建link到rc*.d/,沒有建立的,在lh_build後也不會產生,若有特別設定的套件,一定要複製過來,並建立link。
- lamp#! /bin/sh
# /etc/init.d/lamp
#
# Some things that run always
touch /var/lock/lamp
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script lamp "
echo "Setting root password for MySQL"
mysqladmin -u root password new-password
echo "Importing MYSQL database mydb"
#create db
mysqladmin -u root -pnew-password create mydb
#import db
mysql -u root -pnew-password mydb < /etc/mydb.sql echo "Leaving script lamp" ;; stop) echo "Stopping script lamp" echo "Nothing to do" ;; *) echo "Usage: /etc/init.d/lamp {start|stop}" exit 1 ;; esac exit 0 - ssh:cp /etc/init.d/ssh .
- snort:cp /etc/init.d/snort .,這邊要新增以下內容,因為Live CD會把沒有建立的檔案補齊,所以db-depending-config會被建立,這個檔案在預設值中必須被刪除。if [ -f /etc/snort/db-pending-config ] ; then
`rm /etc/snort/db-pending-config`
fi
- lamp#! /bin/sh
- vim/:習慣會set nocompatible和syntax on
- ssh/:sshd_config中把PermitRootLogin改成no
- hal/:這個是xorg新的設定方式,xorg不再把各項硬體的驅動放在xorg.conf中了,而hal的manpage還是不完整,如果有修改過,記得要複製製過來。
- snort/:cp -R /etc/snort/ .,修改snort.conf中db的user、password的部份。
- var/www/:偷懶,完全懶得改DocumentRoot...XD
- home/:配合lh_config --username的設定,cp -aR /home/fcu .,配合change-owner.sh修改不然開機了會不能用。
- etc/
- 套件
- lh_build:就慢慢等吧,沒有error的話,最後會產生一個binary.iso的檔案。
- rebuild
- lh_clean
- lh_clean --purge會把/path/to/LiveCD/清空。
- 如果要再lh_config,請手動rm -rf config/。
- 重複步驟3~5。
- lh_clean
No comments:
Post a Comment