作者 主題: 06/23 pass 101  (閱讀 9012 次)

0 會員 與 1 訪客 正在閱讀本文。

luecat

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
06/23 pass 101
« 於: 2006-06-23 20:57 »
下午去考試,大約有3成題目出現在考古題過,
不過也有完全沒看過的題目,pass的分數是730,
很謝謝Netman老師的教導,我是在台北班上的課。

有兩題填空題現在還是搞不懂,想請問一下學長們,
一題是在/proc中,哪一個檔案是bootloader傳給kernel的參數?
 另外一題是dpkg如何一次將所有的package移除?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17446
    • 檢視個人資料
    • http://www.study-area.org
06/23 pass 101
« 回覆 #1 於: 2006-06-24 00:16 »
恭喜恭喜!!

casper

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
Re: 06/23 pass 101
« 回覆 #2 於: 2006-06-24 11:49 »
引述: "luecat"

 另外一題是dpkg如何一次將所有的package移除?



apt-get clean

Lim

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
06/23 pass 101
« 回覆 #3 於: 2006-07-20 02:33 »
剛好這2題我也有考到..
第一題應該是/proc/cmdline
第二題應該是dpkg -P

KOKASI

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
06/23 pass 101
« 回覆 #4 於: 2006-08-05 11:50 »
08/05 早上9:30抱著必死的決心去考....
勉勉強強過了....分數有夠壯烈....

考後感想 :
考古題多少是有些幫助
但是如果只是純粹看看不去了解其中的觀念
那真的作再多題也沒甚麼意義
如果能再多充實一些觀念就可以拿更多保障分數
(Device 和 FHS 是最我差的項目Q_Q....唉...回家唸書去)

luecat

  • 可愛的小學生
  • *
  • 文章數: 7
    • 檢視個人資料
9/28 102 pass
« 回覆 #5 於: 2006-09-29 00:34 »
今天pass 102了,離上次pass 101快3個月了。><~
分數690。在此依然要感謝netman老師的領路進門。

說一下考試的感想好了,填充題很多,描述題也有一些,不再像是考古題裡面純粹是簡單的選擇題,考古題有6-7成的命中率,但是變化很大,死記答案沒有用,要徹底瞭解考古題的意義,將考古題的題目跟答案對調,或是選擇變成填充,依然答得出來這樣才算是瞭解。

我將我考試前的筆記提供給大家參考,這是參考這篇:
http://phorum.vbird.org/viewtopic.php?t=25346
在加上自己的整理,希望對大家有所幫助。

=====================================
開機流程

1. 載入 BIOS 的硬體資訊,並取得第一個開機裝置的代號;
2. 讀取第一個開機裝置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的開機資訊;
3. 載入 Kernel 作業系統核心資訊,並且嘗試驅動所有硬體裝置;
   載入initrd到ram disk,   用其中的linuxrc來掛載 drivers&modules
4. Kernel 執行 init 程式並取得 run-level 資訊;
5. init 執行 /etc/rc.d/rc.sysinit 檔案;
6. 啟動核心的外掛模組 (/etc/modprobe.conf);
7. init 執行 run-level 的各個批次檔( Scripts );
8. init 執行 /etc/rc.d/rc.local 檔案;
9. 執行 /bin/login 程式,並等待使用者登入;
10. 登入之後開始以 Shell 控管主機。

@ Bootloader
@ grub 設定檔 /boot/grub/menu.lst,可讓windows當作還在super block
kernel (hd0,0)/boot/vmlinuz ro root=/dev/hda1 vga=771
   kernel 後面接核心的檔名,(hd0,0) 代表"核心檔案"放在那個 partition 當中,
   檔名後是核心的參數 ro,root 指向"根目錄"所在的 partition
@ lilo 設定檔 /etc/lilo.conf

@ shutdown 關機
-t sec  : -t 後面加秒數,亦即『過幾秒後關機』的意思
-c      : 取消已經在進行的 shutdown 指令內容。
-k      : 不要真的關機,只是發送警告訊息出去!
-r      : 在將系統的服務停掉之後就重新開機
-h      : 將系統的服務停掉後,立即關機。
-n      : 不經過 init 程序,直接以 shutdown 的功能來關機
-f      : 關機並開機之後,強制略過 fsck 的磁碟檢查
-F      : 系統重新開機之後,強制進行 fsck 的磁碟檢查
======================================
核心

@ 編譯程序
1.make config or make menuconfig or make xconfig (X視窗) ,make oldconfig (使用原有設定值,需有.config檔)
2.修改 Makefile 檔 的EXTRAVERSION (選擇性步驟)
3.make dep
4.make clean
5.make bzImage -->比zImage還要佳的壓縮率
6.make modules
7.make modules_install (將模組安裝到/lib/modules/下)
8.將核心映象檔複製到/boot下
9. 修改/etc/lilo.conf 或 /boot/grub/grub.conf
10.執行lilo更新 (如果使用LILo)
( 2.6.x板核心 把 3.5.6步驟合併成 make )

@ uname,uname -r 取得kernel version
核心版本: /proc/version 相似於 uname -a
系統核心功能: /proc/sys/kernel,此目錄下有許多相關檔

做開機FDD
@ redhat系統:  mkbootdisk -- device /dev/fd0 2.4.20-12
@ debian 系統: mkboot /boot/vmlinux-2.4.18.4
======================================
模組

@ lsmod 列出以載入的模組
@ rmmod 移除模組 , -f  強制將該模組移除掉,不論是否正被使用, -w  :若該模組正被使用,則等待使用完後才移除
@ modinfo 顯示模組檔特定資訊, -n 僅列出該模組的詳細路徑, -d 僅列出該 modules 的說明
@ modprobe 載入特定模組並自動載入所需模組, -r 移除模組, -l 僅列出檔名, -f 強制載入,
   模組相依參照檔:/lib/modules/2.x.x/modules.dep
@ depmod -a rebuild all, -A 只更新比modules.dep還新的,-n only show,-e  :顯示出目前已載入的不可執行的模組名稱
@ 模組參數組態檔 /etc/modules.conf 或 /etc/conf.modules
@ 模組參數組態檔 /etc/modprobe.conf,設定alias, install, remove, options
@ 變數 MODULECONF: 要用哪個檔案取代預設的modules.conf
@ 變數 MODPATH: insmod 找module 的目錄,依序為 etc/module.conf 中的設定 --> MODPATH --> 預設值
=====================================
系統管理

@ ntpd 自動與時間伺服器保持同步(時間較精準) ,nptd -clock 顯示時間
ntpdate 手動跟NTP校正時間 設定檔 /etc/ntp.conf
@ hwclock 顯示硬體時鐘 -r 顯示硬體時鐘時間  -w(--systohc ) 以系統時間校正硬體時鐘 -s(--hctosys) 剛好顛倒
@ crontab -r 移除 ,-e 編輯 , -u user (root才能用) , -l 列出
系統行事曆 /etc/crontab
個人行事曆 /var/spool/cron/`username`
@ at -l = atq 列出工作 at -d = atrm 刪除工作
/etc/at(cron).allow /etc/.at(cron).deny 四個檔皆不在時,at 只有root能用 ; cron只有root跟cron群組能用
@ 變數經 export 才可成為環境變數 ,env 列出環境變數 ,unset 解除變數,set 列出所有變數
@ runlevel 開機預設層級定義於 /etc/inittab
0 關機
1 單人模式
2 多人模式,debian 預設,redhat的無NFS的多人模式
3 多人模式,debian 不用,redhat預設
4 不用
5 多人模式,debian 不用,redhat的多人模式+GUI
6 重開機
@ PID 1 是 init ,init = telinit
@ 啟動程序稿目錄 /etc/init.d 或 /etc/rc.d
@ ulimit -H 硬性限制 -S 軟性限制 -a 顯示所有限制值
@ cpio -t < /dev/st0 檢視磁帶機/dev/st0的資料
@ declare -f 列出可用的functions
@ set -o noclobber 禁止使用 > 或>>到某檔案
=====================================
Log

@ 設定檔/etc/syslog.conf
@ authpriv.*  ==>/etc/syslog.conf 裡面安全性的facility, log檔位於 /var/log/secu
@ dmesg 重現開機訊息 ,log檔位於 /var/log/dmesg
@ 核心運作過程, log檔位於 /var/log/messages
@ log的level
none
debug
info
notice
warning 由低到高
err
crit
Alert
emerg
@ logrotate 循環使用日誌檔,組態檔/etc/logrotate.conf
@ /var/run/utmp 目前登入的紀錄,w, who 參照
@ /var/log/wtmp 所有登入的紀錄,last, ac 參照
@ /var/log/lastlo 每個用戶最後登入訊息,login 參照,一般用不到
=====================================
Printer

@ 流程:lpr(或其他程式)送出列印需求給-->lpd控管的queue-->經過CUPS參照相關的PDD或過濾器-->轉換成postscript格式(或其他印表機可支援的模式)-->印表機
@ 印表機設定檔 /etc/printcap
@ lprm -a all 清空所有列印工作
@ lpc 暫停, 控制列印工作, lpc topq 插入列印工作到目前的工作後面
@ 列印命令: lpr / lp
lpr -P [printer佇列] -# [列印份數] -U [username] file,可用 "|" 傳遞列印內容
lp -d [printer佇列] -n [列印份數] file
例子:lpr -P laserjet2300 /etc/passwd  [V.S]  lp -d laserjet2300 -n 2 /etc/issue
@ /etc/hosts.lpd 允許在本機列印的remote host
@ smbprint 列印到windows machine用的過濾器
@ smbclient 列印到windows machine用的程式
@ PDD 定義如何將資料轉成印表機可支援的postscript檔,每個印表機有自己的PDD,放於/usr/share/cups/model
@ lpd 利用序列埠來達成列印的需求的協定,印表機名稱就是 LPT1/LPT2,可用來設定cups
@ CUPS使用IPP協定 (port 631)將印表機變成網路印表機
/etc/cups/printers.conf  :規範了印表機的相關裝置、是否接受列印工作、 印表機的佇列名稱、頁面的限制
/etc/cups/ppd/: 對應PDD放置的路徑 /usr/share/cups/model
用lpadmin 管理CUPS
加入印表機到 CUPS 當中:    lpadmin -p [pritner佇列名稱] -v [裝置代號] -m [PDD檔] -E(接受列印工作)
設定預設或刪除印表機:       lpadmin [-x(刪除)d(指定)] [printer佇列名稱]
@ a2ps 兩頁印成一頁, 變成一個postscript檔
@ queue /var/spool/cups or /var/spool/lpd/printer佇列(lpd才有printer佇列)
======================================
Document

@ man 存在 /usr/share/man 或 /usr/man ,MANPATH
section :
1. user command
5. config file
8. admin command
@ HOWTO,FAQ,README存在 /usr/share/doc 或 /usr/doc 有壓縮可用zcat查看
@ makewhatis 建立whatis資料庫
===========================================
帳號管理

@ pwconv 將標準密碼檔 (/etc/passwd) 轉成遮蔽密碼(/etc/shadow),用pwunconv反轉
@ grpconv 將標準密碼檔 (/etc/group) 轉成遮蔽密碼(/etc/gshadow),用grpunconv反轉
@ chage -I 密碼過期後不至於鎖碼 -E 設定到期日 -M 強迫使用者定期改密碼 -W 期限前幾天收到警告
@ /etc/login.defs shadow產生時會參考此檔內容
@ /etc/skel 新增使用者時產生在user目錄的檔案
@ /etc/default/adduser 新增使用者時會參考的參數檔
==========================================
網路

@ DHCP組態檔 /etc/dhcpd.conf ; 位址租用 /var/lib/dhcp/dhcp.leases
@ 三個皆為DHCP client 端指令
pump -r 釋放 -R 重新續租
dhcpcd -k 退租 -n 重新續租
dhcpclient
 
@ inetd 組態檔 /etc/inetd.conf ==>安全性使用TCP wrapper存取控制,以tcpdchk 測試
@ xinetd組態檔 /etc/xinetd.conf

@ route -n 不解析主機名稱 ,設default gateway ==> route add default gw X.X.X.X eth0
@ ifconfig 設定介面參數
@ traceroute 顯示封包的旅行路線
@ ping 送出ICMP 查詢連線狀態
@ netconfig 圖形化設定網路的工具
@ 啟動 routing ==> /proc/sys/net/ipv4/ip_forward=1
@ host 快速檢查主機IP
@ whois 查詢WHOIS 資料庫所登記的資訊
@ dig 從DNS Server 取得網域名稱資訊 , -t MX
@ 三個檔皆與名稱解析有關 :
/etc/hosts (127.0.0.1 localhost.localdomain localhost) IP<=>hostname
/etc/nsswitch.conf (hosts: files dns nisplus nis)解析順序
/etc/resolv.conf (nameserver 168.95.1.1) 設DNS server

@ Port
RPC: 111
NFS: 2049
imap: 143
smbd: 139
ntp: 123 udp
===========================================
網路安全

@ TCP wrapper => /etc/hosts.allow 跟 /etc/hosts.deny
twist 執行命令後後結束連線
spawn 執行命令後繼續連線
deny 拒絕連線

@iptables,iptables -t nat -L  ==> 看nat的 table
-t 後接table名(nat, filter)
-L 列出規則
-n 不反查 hostname以加快速度
-F del all rule
-X del all rule which user define
-Z 計量&流量統計歸零

-P 定義規則
-A 加入規格到最後
-I 加入規格到最前
-j 後面為對此連線的action

===========================================
Server

@ sendmail 組態檔 /etc/sendmail.cf
@ [別名 - 信箱] 定義於 /etc/mail/aliases 或 /etc/aliases
修改後須執行newaliases
@ 個人目錄下轉寄設定 .forward , 修改後立即生效,不用重啟
@ mailq 查詢 /var/spool/mqueue 未送出的郵件
@ user未收取的信件 /var/spool/mail/`user`

@ Apache 組態檔 /etc/http/conf/httpd.conf ,舊版有 srm.conf , access.conf , httpd.conf 三個
工具 apachectl (參數沒有reload喔! ) ,apachectl configtest 測試apache 參數
DocumentRoot (網頁根目錄)
ServerType (要以inet啟動的話要更改這裡)

@ NFS 組態檔 /etc/exports ,修改後須執行 exportfs
no_root_squash 允許 root 存取
portmap/startsrc 啟動RPC的程式
showmount ==> 給Client 用來顯示NFS分享的目錄
@啟動 NFS的步驟:設定/etc/exports-->run portmap-->run NFS
@vi /etc/exports
/tm p          192.168.1.0/24(ro)   localhost(rw)   *.ev.ncku.edu.tw(ro,sync)
#[分享目錄]  [第一部主機(權限)]      [可用主機名]     [可用萬用字元或前面留一點 "." 就可]

===========================================
PPP

@ 加密方法
PAP
CHAP ===> 不使用明碼傳輸
MSCHAP ===> windows用
/etc/ppp/options 系統預設的PPPd options
minicom 測試 moden (填充題都是這個)  
===========================================
Samba

@ Samba smbd 檔案及印表機共享服務
nmbd 提供WINS服務
組態檔 smb.conf 可能位置 /etc/samba 或 /etc/local/samba
testparm 檢查設定 smb.conf是否正確
===========================================
SSH

@ ssh-keygen 產生ssh host key
@ sshd組態檔 sshd_config 可能位於/usr/local/etc 或 /etc/ssh
@ client產生的公鑰id_rsa.pub ,要放在server端的home並改為authorized_keys
===========================================
作業環境

1. /etc/profile : ulimit, LOGNAME, HOSTNAME, PATH
2. /etc/bashrc : shell, alias, PS1, umask
3. ~/.bash_profile (3.4.5 依序執行, 只執行一個,沒有才往下找 )
4. ~/.bash_login ,登出執行 ~/.bash_logout
5. ~/.profile
6. ~/.bashrc 會追朔 /etc/bashrc
7. 快捷鍵定義於 ~/.inputrc
8. /etc/skel 下的檔案為新增使用者時預設新增的檔案
@
/etc/issue 登入前訊息
/etc/issue.net 遠端登入前訊息
/etc/motd 登入後訊息
/etc/nologin 有此檔案後,只有root可登入server,並顯示nologin內容