📄 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 + -