?? 8.htm
字號:
<PRE> bindkey -k kb stuff "\177"
</PRE>
<P>將這注釋掉(例如在句首添加“#”)。
<HR>
<A name=s8.6.26.4></A>
<H4>8.6.26.4 X下與<CODE>screen</CODE>等價的程序</H4>
<P>找找<CODE>xmove</CODE>。參閱<CODE>xmove(1)</CODE>。
<HR>
<A name=s8.6.27></A>
<H3>8.6.27 網絡測試基礎</H3>
<P>安裝<CODE>netkit-ping</CODE>、<CODE>traceroute</CODE>、<CODE>dnsutils</CODE>、<CODE>ipchains</CODE>(適用于2.2版內核)、<CODE>iptables</CODE>(適用于2.4版內核)和<CODE>net-tools</CODE>軟件包,然后執行:
<PRE> $ ping <VAR>yahoo.com</VAR> # 檢查Internet連接
$ traceroute <VAR>yahoo.com</VAR> # 跟蹤IP數據包
$ ifconfig # 檢查主機設置
$ route -n # 檢查路由設置
$ dig <VAR>[@dns-server.com] host.dom [{a|mx|any}]</VAR> |less
# 檢查<VAR>dns-server.com</VAR>的<VAR>host.dom</VAR> DNS記錄
# 查找<VAR>{mx|any}</VAR>記錄
$ ipchains -L -n |less # 檢查包過濾(2.2 kernel)
$ iptables -L -n |less # 檢查包過濾(2.4 kernel)
$ netstat -a # 查找系統上所有打開的端口
$ netstat -l --inet # 查找系統監聽的端口
$ netstat -ln --tcp # 查找系統監聽的TCP端口(端口數字)
</PRE>
<HR>
<A name=s8.6.28></A>
<H3>8.6.28 從本地緩沖池中清空(flush)郵件</H3>
<P>從本地緩沖池中清空郵件: <PRE> # exim -q # 清空待讀郵件
# exim -qf # 清空所有郵件
# exim -qff # 清空凍結郵件
</PRE>
<P><SAMP>-qff</SAMP>選項用在<CODE>/etc/ppp/ip-up.d/exim</CODE>腳本中效果更好。
<HR>
<A name=s8.6.29></A>
<H3>8.6.29 刪除本地緩沖池中的凍結郵件</H3>
<P>刪除本地緩沖池中的凍結郵件并返回出錯信息: <PRE> # exim -Mg `mailq | grep frozen | awk '{ print $3 }'`
</PRE>
<HR>
<A name=s8.6.30></A>
<H3>8.6.30 再分發mbox中的信件</H3>
<P>如果home目錄沒有空間繼續處理郵件,就需要對磁盤空間進行擴容,擴容完成后需要手工分發<CODE>/var/mail/<VAR>username</VAR></CODE>目錄中的郵件到home目錄中的分類郵箱,執行:
<PRE> # /etc/init.d/exim stop
# formail -s procmail </var/mail/<VAR>username</VAR>
# /etc/init.d/exim start
</PRE>
<HR>
<A name=s8.6.31></A>
<H3>8.6.31 清空文件內容</H3>
<P>要清空某些文件如日志文件的內容,千萬不要使用<SAMP>rm</SAMP>刪除文件然后再創建一個新的空文件,因為在兩次操作的間隔,系統可能需要訪問該文件。下面是清空文件內容的安全方法:
<PRE> $ :><VAR>file-to-be-cleared</VAR>
</PRE>
<HR>
<A name=s8.6.32></A>
<H3>8.6.32 空文件</H3>
<P>下面的命令可以創建空文件: <PRE> $ dd if=/dev/zero of=<VAR>filename</VAR> bs=1k count=5 # 5KB of zero content
$ dd if=/dev/urandom of=<VAR>filename</VAR> bs=1m count=7 # 7MB of random content
$ touch <VAR>filename</VAR> # create 0B file (if file exists, updates mtime)
</PRE>
<P>例如,最實用的用法是從Debian啟動軟盤的shell中執行下列命令將硬盤<CODE>/dev/hda</CODE>的內容完全清空。 <PRE> # dd if=/dev/urandom of=/dev/hda ; dd if=/dev/zero of=/dev/hda
</PRE>
<HR>
<A name=s-chroot></A>
<H3>8.6.33 <CODE>chroot</CODE></H3>
<P><CODE>chroot</CODE>程序,<CODE>chroot(8)</CODE>,不需要重啟系統,就可以在單獨的系統上同時運行多個不同的GNU/Linux環境。
<P>還可以在較快主機的chroot下運行某些需耗大量系統資源內存的程序如<CODE>apt-get</CODE>和<CODE>dselect</CODE>,并將較慢子機的硬盤通過NFS方式掛載到主機,開放讀/寫權限,在主機上以chroot方式操作子機。
<HR>
<A name=s-chroot-debian></A>
<H4>8.6.33.1 用<CODE>chroot</CODE>來運行不同版本的Debian</H4>
<P>在Woody中使用<CODE>debootstrap</CODE>命令很容易構造chroot
Debian體系。例如,在一臺擁有快速Internet連接的機器的<VAR>/sid-root</VAR>下創建一個Sid chroot: <PRE> main # cd / ; mkdir <VAR>/sid-root</VAR>
main # debootstrap sid <VAR>/sid-root</VAR> <VAR>http://ftp.debian.org/debian/</VAR>
... watch it download the whole system
main # echo "proc-sid <VAR>/sid-root</VAR>/proc proc none 0 0" >> /etc/fstab
main # mount proc-sid <VAR>/sid-root</VAR>/proc -t proc
main # cp /etc/hosts <VAR>/sid-root</VAR>/etc/hosts
main # chroot <VAR>/sid-root</VAR> /bin/bash
chroot # apt-setup # set-up /etc/apt/sources.list
chroot # vi /etc/apt/sources.list # point the source to unstable
chroot # dselect # you may use aptitude, install mc and vim :-)
</PRE>
<P>現在你就擁有了一個全功能Debian子系統,可以盡情享受而不必擔心主Debian受到不利影響。
<P>該<CODE>debootstrap</CODE>應用技巧還可以實現在沒有Debian安裝盤的情況下,從另一個GNU/Linux發行版下安裝Debian。參閱<CODE><A
href="http://www.debian.org/releases/stable/i386/ch-preparing#s-linux-upgrade">http://www.debian.org/releases/stable/i386/ch-preparing#s-linux-upgrade</A></CODE>。
<HR>
<A name=s-chroot-console></A>
<H4>8.6.33.2 設置<CODE>chroot</CODE>登錄</H4>
<P>輸入<SAMP>chroot <VAR>/sid-root</VAR>
/bin/bash</SAMP>非常簡單,但這將沿用當前的所有環境變量,你可能并不希望這樣并且有時還會出問題。更好的方法是,在別的虛擬終端上執行另一個登錄進程,登錄到chroot目錄。
<P>在Debian系統中默認從<SAMP>tty1</SAMP>到<SAMP>tty6</SAMP>運行Linux控制臺,<SAMP>tty7</SAMP>運行X
Window系統,在本例中,我們將<SAMP>tty8</SAMP>設置成chroot控制臺。按照<A
href="http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html#s-chroot-debian">用<CODE>chroot</CODE>來運行不同版本的Debian,
第 8.6.33.1 節</A>中的描述創建好chroot系統后,就可以在主系統的root shell中輸入: <PRE> main # echo "8:23:respawn:/usr/sbin/chroot <VAR>/sid-root</VAR> "\
"/sbin/getty 38400 tty8" >> /etc/inittab
main # init q # reload init
</PRE>
<HR>
<A name=s-chroot-x></A>
<H4>8.6.33.3 配置<CODE>chroot</CODE>下的X</H4>
<P>想在chroot下安全地運行最新版的X和GNOME嗎?完全可以!下面的例子將實現在虛擬終端<SAMP>vt9</SAMP>下運行GDM。
<P>首先,按照<A
href="http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html#s-chroot-debian">用<CODE>chroot</CODE>來運行不同版本的Debian,
第 8.6.33.1 節</A>中描述的方法安裝好chroot系統,從主系統的root下拷貝關鍵配置文件到chroot系統。 <PRE> main # cp /etc/X11/XF86Config-4 <VAR>/sid-root</VAR>/etc/X11/XF86Config-4
main # chroot <VAR>/sid-root</VAR> # or use chroot console
chroot # apt-get install gdm gnome x-window-system
chroot # vi /etc/gdm/gdm.conf # do s/vt7/vt9/ in [servers] section
chroot # /etc/init.d/gdm start
</PRE>
<P>在此,編輯<CODE>/etc/gdm/gdm.conf</CODE>,使其在<SAMP>vt7</SAMP>到<SAMP>vt9</SAMP>上創建虛擬終端。
<P>現在可以很容易地能過切換Linux虛擬終端來實現在主系統的X環境和chroot系統的X環境之間轉換,例如使用Ctrl-Alt-F7和Ctrl-Alt-F9。酷吧!
<P>[FIXME] 在chroot系統下gdm的init腳本中添加一條注釋和一條鏈接。
<HR>
<A name=s-chroot-dist></A>
<H4>8.6.33.4 使用<CODE>chroot</CODE>來運行其它發行版</H4>
<P>很容易創建一個包含其它發行版的chroot環境。使用其它發行版的安裝程序將它們安裝到單獨的硬盤分區中。例如root分區位于<CODE><VAR>/dev/hda9</VAR></CODE>。
<PRE> main # cd / ; mkdir <VAR>/other-dist</VAR>
main # mount -t ext3 <VAR>/dev/hda9</VAR> <VAR>/other-dist</VAR>
main # chroot <VAR>/other-dist</VAR> /bin/bash
</PRE>
<P>接下來的工作與<A
href="http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html#s-chroot-debian">用<CODE>chroot</CODE>來運行不同版本的Debian,
第 8.6.33.1 節</A>、<A
href="http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html#s-chroot-console">設置<CODE>chroot</CODE>登錄,
第 8.6.33.2 節</A>和<A
href="http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html#s-chroot-x">配置<CODE>chroot</CODE>下的X,
第 8.6.33.3 節</A>中描述的內容基本相似。
<HR>
<A name=s-chroot-build></A>
<H4>8.6.33.5 使用<CODE>chroot</CODE>來編譯軟件包</H4>
<P>這兒有一個很特殊的chroot軟件包<CODE>pbuilder</CODE>,它構造一個chroot系統并在其中編譯軟件包。該體系可用于檢查軟件包編譯時關聯關系是否正確,并確保編譯生成的軟件包中沒有不必要的或錯誤的關聯關系。
<HR>
<A name=s8.6.34></A>
<H3>8.6.34 怎樣檢查硬鏈接</H3>
<P>檢查兩個文件是否是指向同一個文件的兩個硬鏈接: <PRE>
$ ls -li <VAR>file1</VAR> <VAR>file2</VAR>
</PRE>
<HR>
<A name=s8.6.35></A>
<H3>8.6.35 <CODE>mount</CODE>硬盤上的鏡像文件</H3>
<P>如果<CODE><VAR>file.img</VAR></CODE>文件是硬盤內容的鏡像文件,而且原始硬盤的配置參數為<VAR>xxxx</VAR> =
(bytes/sector) * (sectors/cylinder),那么,下面的命令將其掛載到<CODE>/mnt</CODE>: <PRE> # mount -o loop,offset=<VAR>xxxx</VAR> <VAR>file.img</VAR> /mnt
</PRE>
<P>注意絕大部分的硬盤都是512 bytes/sector。
<HR>
<A name=s8.6.36></A>
<H3>8.6.36 Samba</H3>
<P>獲取Windows文件的基本方法: <PRE> # mount -t smbfs -o <VAR>username=myname,uid=my_uid,gid=my_gid</VAR> \
<VAR>//server/share /mnt/smb</VAR> # mount Windows files to Linux
# smbmount <VAR>//server/share /mnt/smb</VAR> \
-o "<VAR>username=myname,uid=my_uid,gid=my_gid</VAR>"
# smbclient -L <VAR>192.168.1.2</VAR> # list the shares on a computer
</PRE>
<P>可從Linux檢查Samba網上鄰居: <PRE> # smbclient -N -L <VAR>ip_address_of_your_PC</VAR> | less
# nmblookup -T "*"
</PRE>
<HR>
<A name=s8.6.37></A>
<H3>8.6.37 外來文件系統的操作工具</H3>
<P>Linux內核支持多種外來文件系統,想訪問它們只需將其掛載到合適的文件系統下就行了。對某些文件系統,還提供專門工具不需要掛載,只依靠用戶空間的程序,不需要內核提供文件系統支持,就能完成訪問。
<UL>
<LI><CODE>mtools</CODE>: for MSDOS filesystem (MS-DOS, Windows)
<LI><CODE>cpmtools</CODE>: for CP-M filesystem
<LI><CODE>hfsutils</CODE>: for HFS filesystem (native Macintosh)
<LI><CODE>hfsplus</CODE>: for HFS+ filesystem (modern Macintosh) </LI></UL>
<P>對于創建和檢查MS-DOS FAT文件系統<CODE>dosfstools</CODE>非常有用。
<HR>
[ <A
href="http://qref.sourceforge.net/Debian/reference/ch-kernel.zh-cn.html">上一頁</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/reference.zh-cn.html#contents">目錄</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-preface.zh-cn.html">1</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-system.zh-cn.html">2</A> ]
[ <A
href="http://qref.sourceforge.net/Debian/reference/ch-install.zh-cn.html">3</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-tutorial.zh-cn.html">4</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-woody.zh-cn.html">5</A> ]
[ <A
href="http://qref.sourceforge.net/Debian/reference/ch-package.zh-cn.html">6</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-kernel.zh-cn.html">7</A> ]
[ 8 ] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-tune.zh-cn.html">9</A> ] [
<A
href="http://qref.sourceforge.net/Debian/reference/ch-gateway.zh-cn.html">10</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-edit.zh-cn.html">11</A> ]
[ <A
href="http://qref.sourceforge.net/Debian/reference/ch-vcs.zh-cn.html">12</A> ] [
<A
href="http://qref.sourceforge.net/Debian/reference/ch-program.zh-cn.html">13</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-gnupg.zh-cn.html">14</A> ]
[ <A
href="http://qref.sourceforge.net/Debian/reference/ch-support.zh-cn.html">15</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ap-appendix.zh-cn.html">A</A>
] [ <A
href="http://qref.sourceforge.net/Debian/reference/ch-tune.zh-cn.html">下一頁</A> ]
<HR>
<P>Debian 參考手冊
<ADDRESS>CVS, 星期三 四月 28 19:36:38 UTC 2004<BR><BR>Osamu Aoki <CODE><A
href="mailto:osamu@debian.org">osamu@debian.org</A></CODE><BR>Translator: Hao
"Lyoo" Liu <CODE><A
href="mailto:iamlyoo@163.net">iamlyoo@163.net</A></CODE><BR><A
href="http://qref.sourceforge.net/Debian/reference/ap-appendix.zh-cn.html#s-authors">作者,
第 A.1 節</A><BR><BR></ADDRESS>
<HR>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -