⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8.htm

📁 debian参考手册,pdf格式的版本。
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0063)http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html -->
<HTML><HEAD><TITLE>Debian 参考手册 - Debian技巧</TITLE>
<META http-equiv=content-type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.3790.118" name=GENERATOR></HEAD>
<BODY><A name=ch-tips></A>
<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>

<H1>Debian 参考手册 <BR>第 8 章 - Debian技巧 </H1>
<HR>
<A name=s-booting></A>
<H2>8.1 启动系统</H2>
<P>参阅LDP <CODE><A 
href="http://www.tldp.org/HOWTO/BootPrompt-HOWTO.html">BootPrompt-HOWTO</A></CODE>获得有关系统提示的详细信息。 

<HR>
<A name=s-crackroot></A>
<H3>8.1.1 “我忘了root密码!”(1)</H3>
<P>只要能访问控制台键盘,不需要root密码就可以启动系统登录到root帐号。(假设BIOS或<CODE>lilo</CODE>之类的启动引导器在启动时不需要密码。) 

<P>整个过程不需要另外的启动盘或对BIOS设置进行修改。在此,“Linux”仅是一个标签,它代表启动Debian默认安装的Linux内核。 
<P>在<CODE>lilo</CODE>启动屏幕中,一但出现<SAMP>boot:</SAMP>(对某些系统而言,必须按下shift键以阻止自动启动),就输入: 
<PRE>     boot: Linux init=/bin/sh
</PRE>
<P>它会指示系统启动内核后运行<CODE>/bin/sh</CODE>而不是<CODE>init</CODE>。现在你已获得root特权和root 
shell。由于当前<CODE>/</CODE>是以只读方式挂载,而其它的硬盘分区均未挂载,故你必须完成下列步骤才能获得一个有适当功能的系统。 <PRE>     init-2.03# mount -n -o remount,rw /
     init-2.03# mount -avt nonfs,noproc,nosmbfs
     init-2.03# cd /etc
     init-2.03# vi passwd
     init-2.03# vi shadow
</PRE>
<P>(如果在<CODE>/etc/passwd</CODE>文件中所有用户的第二个域的数据为“x”,就表明系统使用了影子密码,必须编辑<CODE>/etc/shadow</CODE>。)要删除root密码,请编辑密码文件中第二个数据域,将它设置为空白。重启系统不用密码就能登录到root。当系统启动进入runlevel 
1时,Debian(至少是Potato以后的版本)需要密码,一些较老的版本则不需要。 
<P>在<CODE>/bin</CODE>下装一个小编辑器是个好习惯,因为有时<CODE>/usr</CODE>是无法访问的(参阅<A 
href="http://qref.sourceforge.net/Debian/reference/ch-edit.zh-cn.html#s-bin-editor">应急的编辑器, 
第 11.2 节</A>)。 
<P>如果安装<CODE>sash</CODE>软件包,当系统无法启动时,还可执行: <PRE>     boot: Linux init=/bin/sash
</PRE>
<P>当<CODE>/bin/sh</CODE>不可用时,<CODE>sash</CODE>可作为<CODE>sh</CODE>的交互式替代品,它是静态链接,内建了许多标准工具(在系统提示符下输入“help”可获得参考列表)。 

<HR>
<A name=s-crackroot2></A>
<H3>8.1.2 “我忘了root密码!”(2)</H3>
<P>从急救盘启动系统。假设<CODE><VAR>/dev/hda3</VAR></CODE>是原始root分区,可用下面的方法编辑密码文件,与上述方法一样容易。 
<PRE>     # mkdir <VAR>fixit</VAR>
     # mount <VAR>/dev/hda3</VAR> <VAR>fixit</VAR>
     # cd <VAR>fixit</VAR>/etc
     # vi shadow
     # vi passwd
</PRE>
<P>与上面的方法相比,该方法的好处在于不需要知道<CODE>lilo</CODE>密码(如果有的话)。但如果系统没有预先设置为从软盘或CD启动,就需要访问BIOS的权限。 

<HR>
<A name=s-dead-lilo></A>
<H3>8.1.3 无法启动系统</H3>
<P>没在安装过程中制作启动盘?没关系。如果<CODE>lilo</CODE>损坏了,从Debian安装套件中拿出启动盘,用它来启动系统。假设你的root分区在<CODE><VAR>/dev/hda12</VAR></CODE>,你想进入runlevel 
3,在启动提示符后输入: <PRE>     boot: rescue root=<VAR>/dev/hda12</VAR> 3
</PRE>
<P>接下来,系统使用软盘上的内核启动,你可登录到一个几乎拥有全部功能的系统了。(可能有少量特性或模块不可用。) 
<P>如果系统崩溃,亦可参阅<A 
href="http://qref.sourceforge.net/Debian/reference/ch-package.zh-cn.html#s-un-bootable">为无法启动的系统安装软件包, 
第 6.3.6 节</A>。 
<P>如果想做张自定义启动盘,参阅急救盘中的<CODE>readme.txt</CODE>文档。 
<HR>
<A name=s-no-x-start></A>
<H3>8.1.4 “我不想直接启动到X!”</H3>
<P>玩<SAMP>unstable/sid</SAMP>很有趣,但在启动进程中执行不稳定的<CODE>xdm</CODE>、<CODE>gdm</CODE>、<CODE>kdm</CODE>和<CODE>wdm</CODE>会让你焦头烂额。 

<P>首先,在启动提示符后输入如下指令获得root shell: <PRE>     boot: <VAR>Linux</VAR> vga=normal s
</PRE>
<P>其中,<VAR>Linux</VAR>代表你要启动的内核镜像,“vga=normal”告诉lilo在普通VGA屏幕下运行,“s”(或“S”)是传给<CODE>init</CODE>的参数,告诉它进入单用户模式。在提示符后输入root密码。 

<P>有多种方法禁用X启动deaemons: 
<UL>
  <LI>run <SAMP>update-rc.d <VAR>?</VAR>dm stop 99 1 2 3 4 5 6</SAMP> </LI></UL>
<UL>
  <LI>insert "exit 0" at the start of all 
  <CODE>/etc/init.d/<VAR>?</VAR>dm</CODE> files. </LI></UL>
<UL>
  <LI>rename all <CODE>/etc/rc<VAR>2</VAR>.d/S99<VAR>?</VAR>dm</CODE> files to 
  <CODE>/etc/rc2.d/K99<VAR>?</VAR>dm</CODE>. </LI></UL>
<UL>
  <LI>remove all <CODE>/etc/rc<VAR>2</VAR>.d/S99<VAR>?</VAR>dm</CODE> files. 
  </LI></UL>
<UL>
  <LI>run <SAMP>:&gt;/etc/X11/default-display-manager</SAMP> </LI></UL>
<P>其中,<CODE>rc<VAR>2</VAR>.d</CODE>必须与<CODE>/etc/inittab</CODE>中指定的runlevel一致。<CODE><VAR>?</VAR>dm</CODE>表示所有的<CODE>xdm</CODE>、<CODE>gdm</CODE>、<CODE>kdm</CODE>和<CODE>wdm</CODE>。 

<P>在Debian下只有第一种方法“最正确”。最后一种方法比较简单但只适用于Debian,而且还需要使用<CODE>dpkg-reconfigure</CODE>重新设置一次。其它方法都是通用的中止daemons的方法。 

<P>你仍可在任何控制台shell中输入<CODE>startx</CODE>启动X。 
<HR>
<A name=s-bootprompt></A>
<H3>8.1.5 其它用于启动提示符的技巧</H3>
<P>使用<CODE>lilo</CODE>启动提示符,可指定系统启动到特定的runlevel和配置。详情参阅<CODE><A 
href="http://www.tldp.org/HOWTO/BootPrompt-HOWTO.html">BootPrompt-HOWTO</A></CODE> 
(LDP)。 
<P>如果希望系统启动到runlevel 4,可以<CODE>lilo</CODE>启动提示符后输入: <PRE>     boot: Linux 4
</PRE>
<P>如果希望系统启动到正常功能的单用户模式,而且你知道root密码,可在<CODE>lilo</CODE>启动提示符后输入下列任一参数。 <PRE>     boot: Linux S
     boot: Linux 1
     boot: Linux -s
</PRE>
<P>如果希望系统以少于实际内存数的内存启动(也就是说机器有64MB内存,只分配48MB给系统使用),在<CODE>lilo</CODE>启动提示符后输入: <PRE>     boot: Linux mem=48M
</PRE>
<P>注意,不要指定大于实际内存数的内存,否则内核会崩溃。如果你有多于64MB的内存,如128MB,应在系统启动时执行<SAMP>mem=128M</SAMP>或在<CODE>/etc/lilo.conf</CODE>中添加类似的命令行,否则旧内核或使用旧BIOS的主板将无法使用大于64MB的内存。 

<HR>
<A name=s-bootgrub></A>
<H3>8.1.6 如何设置启动参数(GRUB)</H3>
<P>GRUB是Hurd项目开发的新型启动管理器,比Lilo更灵活,不过启动参数也与之稍有不同。 <PRE>     grub&gt; find /vmlinuz
     grub&gt; root (hd0,0)
     grub&gt; kernel /vmlinuz root=/dev/hda1
     grub&gt; initrd /initrd
     grub&gt; boot
</PRE>
<P>请注意Hurd中的设备名: <PRE>     HURD/GRUB           Linux               MSDOS/Windows
      (fd0)               /dev/fd0            A:
      (hd0,1)             /dev/hda1           C: (usually)
      (hd0,4)             /dev/hda4           F: (usually)
      (hd1,4)             /dev/hdb4           ?
</PRE>
<P>详情参阅<CODE>/usr/share/doc/grub/README.Debian</CODE>和<CODE>/usr/share/doc/grub-doc/html/</CODE>。 

<HR>
<A name=s8.2></A>
<H2>8.2 活动记录</H2>
<HR>
<A name=s-script></A>
<H3>8.2.1 记录shell活动</H3>
<P>比起普通的个人电脑环境,Unix环境的系统管理包含了更多细致的任务。必须掌握所有基本的配置方法以便进行系统故障恢复。基于X的GUI配置工具看上去又好又方便,但不适用于紧急状况。 

<P>记录shell活动是个好习惯,特别是root用户。 
<P>Emacs:使用<SAMP>M-x shell</SAMP>在缓冲区中开始记录,使用<SAMP>C-x C-w</SAMP>将缓冲区中的记录写入文件。 
<P>Shell:使用<CODE>screen</CODE>命令和“^A H”,参阅<A 
href="http://qref.sourceforge.net/Debian/reference/ch-tips.zh-cn.html#s-screen">用<CODE>screen</CODE>来定制控制台, 
第 8.6.26 节</A>或<CODE>script</CODE>命令: <PRE>     $ script
     Script started, file is typescript
      ... do whatever ...
      Control-D
     $ col -bx &lt;typescript &gt;savefile
     $ vi savefile
</PRE>
<P>还可使用下面的方法: <PRE>     $ bash -i 2&gt;&amp;1 | tee typescript
</PRE>
<HR>
<A name=s8.2.2></A>
<H3>8.2.2 记录X活动</H3>
<P>如果需要X应用程序的活动记录图,包括xterm屏显,可使用<CODE>gimp</CODE>(GUI)。它可以对每个窗口或整个屏幕进行拍照。还可以使用<CODE>xwd</CODE>(<CODE>xbase-clients</CODE>)、<CODE>import</CODE>(<CODE>imagemagick</CODE>)或<CODE>scrot</CODE>(<CODE>scrot</CODE>)。 

<HR>
<A name=s-archiving></A>
<H2>8.3 拷贝及创建子目录</H2>
<HR>
<A name=s8.3.1></A>
<H3>8.3.1 拷贝整个子目录的基本命令</H3>
<P>如果想重新整理文件组织结构,可使用下面的方法移动文件及文件链接: <PRE>     标准方法:
     # cp -a /source/directory /dest/directory # requires GNU cp
     # (cd /source/directory &amp;&amp; tar cf - . ) | \
             (cd /dest/directory &amp;&amp; tar xvfp - )
     如果包含硬链接,则需要更严谨的方法:
     # cd /path/to/old/directory
     # find . -depth -print0 | afio -p -xv -0a /mount/point/of/new/directory
     如果是远程操作:
     # (cd /source/directory &amp;&amp; tar cf - . ) | \
             ssh user@host.dom (cd /dest/directory &amp;&amp; tar xvfp - )
     如果没有链接文件:
     # scp -pr user1@host1.dom:/source/directory \
               user2@host2.dom:/dest/directory
</PRE>
<P>其中,<CODE>scp</CODE> &lt;==&gt; <CODE>rcp</CODE>,<CODE>ssh</CODE> &lt;==&gt; 
<CODE>rsh</CODE>。 
<P>下面的有关拷贝整个子目录的信息由Manoj Srivastava 
&lt;srivasta@debian.org&gt;发表于debian-user@lists.debian.org。 
<HR>
<A name=s8.3.2></A>
<H3>8.3.2 <CODE>cp</CODE></H3>
<P>传统上,<CODE>cp</CODE>并不能真正完成这个任务,因为它既没对符号链接进行区别对待,又不能保存硬链接。另一件需要注意的事就是稀疏文件(有洞的文件)。 

<P>GNU 
<CODE>cp</CODE>克服了这缺陷,然而对于非GNU系统,<CODE>cp</CODE>仍存在问题。而且使用<CODE>cp</CODE>无法生成小巧轻便的文档包。 
<PRE>     % cp -a . newdir
</PRE>
<HR>
<A name=s8.3.3></A>
<H3>8.3.3 <CODE>tar</CODE></H3>
<P>Tar克服了<CODE>cp</CODE>在处理符号链接时出现的问题,然而,<CODE>cpio</CODE>可以处理特殊文件,传统的<CODE>tar</CODE>却不行。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -