免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3406 | 回复: 2
打印 上一主题 下一主题

debian [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-23 10:20 |只看该作者 |倒序浏览
第 3 章 - Debian系统安装提示

--------------------------------------------------------------------------------

安装Debian的官方文档位于http://www.debian.org/releases/stable/和http://www.debian.org/releases/stable/installmanual。

开发版文档位于http://www.debian.org/releases/testing/和http://www.debian.org/releases/testing/installmanual(处于写作中,有时可能无法访问)。

尽管“Debian 参考手册”写于Potato发布期间,但其中的绝大部分内部均更新至Debian Sarge (3.1r0)和Debian Etch。


--------------------------------------------------------------------------------

3.1 常规Linux安装提示
使用testing或unstable版Debian会增加遇到严重软件错误的风险,在机器上安装一个稳定版本的Debian,然后使用多重启动方案可有效控制风险。或者使用更安全的chroot技巧,参阅chroot, 第 8.6.33 节。后者可实现同时在不同的控制台运行多种版本的Debian。


--------------------------------------------------------------------------------

3.1.1 硬件兼容性
Linux兼容绝大多数PC硬件,而且几乎可以安装在任何系统架构上。对我而言它的安装过程和Windwos 95/98/Me一样简单。可兼容的硬件列表也在不断增加。

如果你有一部笔记本电脑,可以去Linux on Laptops查找对应品牌和型号的安装指导。

我推荐的台式机硬件通常“比较保守”:

用于工作目的时最好选SCSI而不选IDE,IDE/ATAPI HD适于个人使用。
IDE/ATAPI CD-ROM (或CD-RW)。
最好选PCI而不选ISA, 特别是网卡(NIC)。
选用便宜的NIC。Tulip for PCI、NE2000 for ISA都不错。
初学Linux安装时避免使用PCMCIA (笔记本电脑)。
别使用USB键盘、鼠标......除非你想证明自己的实力。
如果你的机器特别慢,最好把硬盘插到另一个速度快些的机器上安装。


--------------------------------------------------------------------------------

3.1.2 确定PC硬件和芯片组
在安装过程中,可能会要你确定电脑的硬件或芯片组等。有时了解这些信息并非易事,这儿有个方法:

打开机箱亲自看看。
记下显卡芯片、网卡芯片、串口和IDE端口周围的芯片上印的数字。
记下印在PCI和ISA插卡背面的名称。

--------------------------------------------------------------------------------

3.1.3 在Debian下确定PC硬件
在Linux系统中使用下列命令,可获得机器当前使用的硬件及配置的相关信息。

     $ lspci -v |pager
     $ pager /proc/pci
     $ pager /proc/interrupts
     $ pager /proc/ioports
     $ pager /proc/bus/usb/devices
在安装过程中按ALT-F2进入控制台,可运行这些命令获得帮助。

对于USB设备,它们在/proc/bus/usb/devices中以Cls=nn的形式列出:

Cls=00 : Unused
Cls=01 : Audio (speaker etc.)
Cls=02 : Communication (MODEM, NIC, ...)
Cls=03 : HID (Human Interface Device: KB, mouse, joy stick)
Cls=07 : Printer
Cls=08 : Mass storage (FDD, CD/DVD drive, HDD, Flash, ...)
Cls=09 : Hub (USB hub)
Cls=255 : Vendor specific
如果设备类别(device class)不是255,则Linux可支持该设备。


--------------------------------------------------------------------------------

3.1.4 在其它OS下确定PC硬件
还可从其它操作系统中获取硬件信息。

安装其它商业版Linux,当前它们在硬件侦测方面做得比Debian好,不过一但Sarge中加入了debian-installer,情况就会改变。

安装Windows。用鼠标右键点“我的电脑”在菜单中选属性/设备管理,可获得硬件配置信息。记下所有的资源信息如IRQ、I/O端口地址和DMA。有些旧的ISA卡可能要在DOS下配置。


--------------------------------------------------------------------------------

3.1.5 Lilo神话
加载Lilo受限于1024柱面。—错!

Debian Potato之后使用的新版lilo支持lba32。只要主板的BIOS版本支持lba32,lilo就可以冲破1024柱面的限制。

如果你使用的是旧版lilo.conf,请确定在你的lilo.conf文件开头的某处加了一行命令指示系统读取“lba32”。参阅/usr/share/doc/lilo/Manual.txt.gz。


--------------------------------------------------------------------------------

3.1.6 GRUB
GNU HURD项目组提供的新的系统引导工具grub可使用于Debian Woody系统。

     # apt-get update
     # apt-get install grub-doc
     # mc /usr/share/doc/grub-doc/html/
     ... read contents
     # apt-get install grub
     # pager /usr/share/doc/grub/README.Debian
     ... read it
要编辑GRUB选单,可编辑/boot/grub/menu.lst文件。参阅如何设置启动参数(GRUB), 第 8.1.6 节获取有关启动参数设置信息,它和lilo的设置方法不太一样。


--------------------------------------------------------------------------------

3.1.7 选择引导软盘
Potato时期,在进行普通台式机安装时我喜欢用IDEPCI磁盘套件。到了Woody,我爱用bf2.4启动盘套件。两者都使用同一版本的boot-floppies来创建引导软盘。

如果你有一张PCMCIA网卡,你就得使用标准启动盘套件(使用的软盘数最多,但可用的驱动模块最全)并在PCMCIA设置中配置NIC;别在标准网络设置对话框中设置网卡。

对于特殊系统,需要创建一张自制急救盘,可以用别的机器上编译好的内核压缩镜像替换Debian急救盘中名为“linux”的内核镜像。详情参阅急救盘中的readme.txt文件。急救盘使用MS-DOS文件系统,所以你可以在任何系统下编辑它。这将为那些使用特殊网卡的人造福。

到了Sarge,可用debian-installer或pgi来创建引导软盘。


--------------------------------------------------------------------------------

3.1.8 安装系统
这方面的官方文档见于http://www.debian.org/releases/stable/installmanual或http://www.debian.org/releases/testing/installmanual(处于写作中,有时可能无法访问)

如果你是用引导软盘安装testing发行版,你需要在安装过程中按ALT-F2打开一个控制台,手工编辑/etc/apt/sources.list文件,将软件包下载入口从stable改为testing。

在安装/dev/hda的mbr时,我喜欢将lilo装在诸如/dev/hda3的位置,这样做可以减小引导信息被覆盖的风险。

下面是我在安装过程中所做的选择。

MD5 passwords "yes"
shadow passwords "yes"
Install "advanced" (dselect **) and select
取消emacs (如果它被选中了)、nvi、tex、telnet、talk(d);
选上mc、vim、nano-tiny或elvis-tiny任选一个。
参阅dselect, 第 6.2.3 节。即使你是个Emacs迷也不要在安装阶段使用它,nano可满足你的需要。也不要安装其它庞大的软件包如TEX(Potato曾在此阶段设置它为默认安装)。参阅应急的编辑器, 第 11.2 节了解此时安装nano-tiny或elvis-tiny的原因。

在每个软件包安装对话框中,回答所有的配置提问均=“y”(替换当前值)
exim:选第2项,因为我使用ISP的SMTP服务器发送邮件。
有关dselect的更多信息,参阅dselect, 第 6.2.3 节。


--------------------------------------------------------------------------------

3.1.9 网络所需的主机名和IP地址
LAN配置的例子(C subnet: 192.168.1.0/24):

     Internet
        |
        +--- 外部ISP提供POP服务(使用fetchmail访问)
        |
       Access point ISP提供DHCP服务和SMTP中继服务
        |                     :
       Cable modem         (Dial-up)
        |                     :
     LAN网关外部端口: eth0 (IP由ISP的DHCP提供)
      使用老式笔记本电脑(IBM Thinkpad, 486 DX2 50 MHz, 20 MB RAM)
      运行Linux 2.4内核,提供ext3文件系统支持
      运行"ipmasq"软件包(安装它的NAT和firewall加强包)
      运行"dhcp-client"软件包配置eth0 (覆盖DNS的设定)
      运行"dhcp"软件包配置eth1
      运行"exim"作为smarthost (mode 2)
      运行"fetchmail"设一个较长的时间值(fallback)
      运行"bind" 作为高速域名服务器,在从LAN连入Internet时
                 作为认证域名服务器,在从LAN中连入网中某个域时
      运行"ssh"使用端口22和8080(从任何地点连接)
      运行"squid"作为缓存服务器连接Debian包文档服务器(APT需要连接它)
     LAN网关内部端口: eth1 (IP = 192.168.1.1, 固定)
                              |
              +--- LAN Switch (10 base T) ---+
              |                              |
     LAN中一些固定IP客户端            LAN中一些DHCP客户端
     (IP = 192.168.1.2-127, 固定)     (IP = 192.168.1.128-200, 动态)
参阅使用Debian系统架设网关, 第 10 章了解更多LAN网关服务器设置方面的信息。


--------------------------------------------------------------------------------

3.1.10 用户帐号
为了让机器访问起来有一致的感觉,我的系统中开头几个帐号通常是不变的。

我首先创建的用户帐号名是“admin”(uid=100)。我通过该帐号转发所有的root email。该帐号加入到adm用户组(参阅“为什么GNU su命令不支持wheel group”, 第 9.2.2 节),这个用户组为成员提供大量root特权的命令,通过su或sudo命令就能使用PAM。详情参阅添加用户, 第 4.2.2 节。


--------------------------------------------------------------------------------

3.1.11 创建文件系统

--------------------------------------------------------------------------------

3.1.11.1 硬盘分区
我更喜欢将不同的目录树分别装在不同的分区下,这样可以将系统崩溃造成的损失减到最小。例如:

     /          == (/ + /boot + /bin + /sbin)
                == 50MB+
     /tmp       == 100MB+
     /var       == 100MB+
     /home      == 100MB+
     /usr       == 700MB+ with X
     /usr/local == 100MB
/usr目录的尺寸很大程度上取决于X-window应用程序和文档的数目。如果只运行控制台终端/usr可以小到300MB,但如果你装了大量Gnome应用程序2GB-3GB也很正常。当/usr增长得太大,将/usr/share/移到别的分区是最有效的解救方法。对新的Linux2.4内核包,/目录的大小可能要超过200MB。

例如,当前我的Internet网关服务器的硬盘使用情况如下(由df -h命令输出):

     Filesystem            Size  Used Avail Use% Mounted on
     /dev/hda3             300M  106M  179M  38% /
     /dev/hda7             100M   12M   82M  13% /home
     /dev/hda8             596M   53M  513M  10% /var
     /dev/hda6             100M  834k   94M   1% /var/lib/cvs
     /dev/hda9             596M  222M  343M  40% /usr
     /dev/hda10            596M  130M  436M  23% /var/cache/apt/archives
     /dev/hda11            1.5G  204M  1.2G  14% /var/spool/squid
(有块大空间留给/var/spool/squid作为下载软件包时代理服务器的缓冲区)

下面的fdisk -l输出提供了一个分区分配方案:

     # fdisk -l /dev/hda # comment
     
     /dev/hda1             1        41    309928+   6  FAT16 # DOS
     /dev/hda2            42        84    325080   83  Linux # (not used)
     /dev/hda3   *        85       126    317520   83  Linux # Main
     /dev/hda4           127       629   3802680    5  Extended
     /dev/hda5           127       143    128488+  82  Linux swap
     /dev/hda6           144       157    105808+  83  Linux
     /dev/hda7           158       171    105808+  83  Linux
     /dev/hda8           172       253    619888+  83  Linux
     /dev/hda9           254       335    619888+  83  Linux
     /dev/hda10          336       417    619888+  83  Linux
     /dev/hda11          418       629   1602688+  83  Linux
里面有一个未使用的分区。留作安装第二个Linux或为增长的目录树提供扩充余地。


--------------------------------------------------------------------------------

3.1.11.2 挂载文件系统
下面的/etc/fstab文件可完成上述分区的挂载工作:

     
     # /etc/fstab: static file system information.
     #
     # file system   mount point     type    options                dump pass
     /dev/hda3       /               ext2    defaults,errors=remount-ro 0 1
     /dev/hda5       none            swap    sw                      0 0
     proc            /proc           proc    defaults                0 0
     /dev/fd0        /floppy         auto    defaults,user,noauto    0 0
     /dev/cdrom      /cdrom          iso9660 defaults,ro,user,noauto 0 0
     #
     # keep partition separate
     /dev/hda7       /home           ext2    defaults                0 2
     /dev/hda8       /var            ext2    defaults                0 2
     /dev/hda6       /var/lib/cvs    ext2    defaults                0 2
     # noatime will speed up file access for read access
     /dev/hda9       /usr            ext2    defaults,noatime        0 2
     /dev/hda10      /var/cache/apt/archives ext2    defaults        0 2
     
     # very big partition for proxy cache
     /dev/hda11      /var/spool/squid ext2   rw                      0 2
     
     # backup bootable DOS
     /dev/hda1       /mnt/dos        vfat    rw,noauto               0 0
     # backup bootable Linux system (not done)
     /dev/hda2       /mnt/linux      ext2    rw,noauto               0 0
     #
     # nfs mounts
     mickey:/        /mnt/mickey     nfs     ro,noauto,intr          0 0
     goofy:/         /mnt/goofy      nfs     ro,noauto,intr          0 0
     # minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2
对于NFS,我使用noauto、intr以及默认的hard项。如果有死连接,挂载进程可能会死掉,可以使用Control-C恢复。

对于使用Samba连接的Windows机器(smbfs),rw,auto,soft,intr是个好方案,参阅Samba设置, 第 3.5 节。

对于软驱,使用noauto,rw,sync,user,exec可以防止因退盘前未执行卸载命令而造成文件损坏,但它会降低写盘速度。


--------------------------------------------------------------------------------

3.1.11.3 自动挂载
自动挂载的要点:

加载vfat模块,从而/etc/auto.misc可使用-fstype=auto参数:
     # modprobe vfat # prior to the floppy access attempt
      ... or to automate this settings,
     # echo "vfat" >;>; /etc/modules
      ... 重启系统。
设置/etc/auto.misc如下:
     floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0
      ... 此处gid=100表示“users”。
在/home/user中创建链接文件cdrom和floppy,分别指向/var/autofs/misc/cdrom和/var/autofs/misc/floppy。
将user加入“users”用户组。

--------------------------------------------------------------------------------

3.1.11.4 挂载NFS
外部Linux NFS服务器(goofy)处于防火墙(gateway)之后。在我的LAN内部,安全策略非常宽松,因为只有我自己一个用户。为了访问NFS,NFS服务器端要按如下方式加上/etc/exports:

     # /etc/exports: the access control list for file systems which may be
     #               exported to NFS clients.  See exports(5).
     /       (rw,no_root_squash)
除安装和激活NFS服务器及客户机外,这一步对激活NFS服务器也是必要的。

我通常创建一个单独的2GB分区,有时想玩玩别的Linux系统,就可以装在这儿。两个系统可共享swap和/tmp分区。多分区方案很难满足这种需求。如果只想装一个运行简单控制台模式的系统,分区留500MB就绰绰有余了。


--------------------------------------------------------------------------------

3.1.12 DRAM内存指导
下列是有关DRAM的简单指导。

       4 MB:  Linux内核运行的最低配置。
      16 MB:  控制台系统运行的最低配置。
      32 MB:  简单X系统运行的最低配置。
      64 MB:  GNOME/KDE系统运行最低配置。
     128 MB:  流畅运行GNOME/KDE。
     256+MB:  如果你银子充裕干嘛不呢?DRAM很便宜了。
使用启动选项mem=4m(或lilo append="mem=4m")可以看看只用4MB内存时系统如何运行。如果机器的BIOS比较旧且内存数大于64MB启动时就得加lilo启动参数。


--------------------------------------------------------------------------------

3.1.13 Swap空间
我按下面的指导原则来划分swap空间:

每个swap分区均<128MB(使用旧版2.0内核),<2GB(使用最新内核)
总容量 =(机器内存大小的1到2倍)或(128MB到2GB之间)
将它们分散于不同的硬盘,在/etc/fstab中可使用sw,pri=1选项挂载它们。这样可确保内核以RAID方式使用swap分区,最大限度地发挥swap的性能。
如果可能,使用硬盘中间的扇区。
尽管你不一定真的需要,但为系统设置多一些swap空间(128MB)总要好点,至少运行有内存漏洞的坏程序,系统会先慢下来而不是马上死机。


--------------------------------------------------------------------------------

3.2 Bash设置
我按自己的喜好修改shell启动脚本:

     /etc/bash.bashrc        换成你的喜好
     /etc/profile            保持发布版设定 ( \w ->; \W)
     /etc/skel/.bashrc       换成你的喜好
     /etc/skel/.profile      换成你的喜好
     /etc/skel/.bash_profile 换成你的喜好
     ~/.bashrc               换成你的喜好,会改变所有用户的设置
     ~/.profile              换成你的喜好,会改变所有用户的设置
     ~/.bash_profile         换成你的喜好,会改变所有用户的设置
可以参考我提供的脚本样例。我喜欢系统看起来清清楚楚,所以将umask设为002或022。

PATH依次由以下配置文件设定:

     /etc/login.defs  - 在shell之前设定PATH
     /etc/profile     (会调用/etc/bash.bashrc)
     ~/.bash_profile  (会调用~/.bashrc)

--------------------------------------------------------------------------------

3.3 鼠标设置

--------------------------------------------------------------------------------

3.3.1 PS/2鼠标
对于ATX主板上使用PS/2接口的鼠标,信号通路如下:

     mouse ->; /dev/psaux ->; gpm ->; /dev/gpmdata = /dev/mouse ->; X
这里,创建指向/dev/gpmdata的符号链接/dev/mouse,有助于简化配置操作。(例如,如果你决定不再使用gpm daemon,只需在删掉gpm daemon后,将符号链接/dev/mouse指向/dev/psaux。)

信号通路使得对键盘和鼠标插拔操作,只要重启gpm就可以生效,不必重启X!

处于gpm输出与X输入之间的信号通路协议有两种执行方式,“ms3”(使用Microsoft 3-button serial mouse协议)和“raw”(对于已连接的鼠标使用相同的协议),此处选择的协议将决定X配置中使用的协议。

下面我将示范一下如何配置Logitech 3-button(传统Unix风格的鼠标)PS/2鼠标:

如果新版X4不支持你的显卡则需要使用旧版X3(如某些ATI 64位卡),请配置/etc/X11/X86Config而不是/etc/X11/X86Config-4,下面的示例中使用的是X4:


--------------------------------------------------------------------------------

3.3.1.1 使用ms3协议方式
     /etc/gpm.conf            | /etc/X11/X86Config-4
     =========================+======================================
     device=/dev/psaux        | Section "InputDevice"
     responsiveness=          |  Identifier "Configured Mouse"
     repeat_type=ms3          |  Driver     "mouse"
     type=autops2             |  Option     "CorePointer"
     append=""                |  Option     "Device"   "/dev/mouse"
     sample_rate=             |  Option     "rotocol" "IntelliMouse"
                              | EndSection
如果使用这种方式,设置鼠标类型只需编辑gpm.conf,X的设置将保持不变。参阅我的样例脚本。


--------------------------------------------------------------------------------

3.3.1.2 使用raw协议方式
     /etc/gpm.conf            | /etc/X11/X86Config-4
     =========================+======================================
     device=/dev/psaux        | Section "InputDevice"
     responsiveness=          |  Identifier "Configured Mouse"
     repeat_type=raw          |  Driver     "mouse"
     type=autops2             |  Option     "CorePointer"
     append=""                |  Option     "Device"   "/dev/mouse"
     sample_rate=             |  Option     "rotocol" "MouseManPlusPS/2"
                              | EndSection
如果使用这种方式,设置鼠标类型可编辑gpm.conf,同时也会改变X的设置。


--------------------------------------------------------------------------------

3.3.1.3 如何设置不同的鼠标
gpm的设备类型autops2可以自动检测出市面上大多数PS/2鼠标。不幸的是它也不是万能的,而且Woody之前的发布版中并不包括它,这时可在gpm.conf中试试ps2或者imps2。想看看gpm支持哪些类型的鼠标可输入:gpm -t help。参阅gpm(

如果使用的是2键PS/2鼠标,可选上X协议的Emulate3Buttons项。协议中2键鼠标和3键鼠标的区别在于每次按下中间键时,是自动检测还是自动模拟信号传给gpm。

对于在X协议使用raw协议方式, 第 3.3.1.2 节或不使用gpm,可使用下面的设置:

IntelliMouse: 串口鼠标(gpm转换器使用"ms3"
PS/2: PS/2鼠标(通常首先试试这项)
IMPS/2: 任何PS/2鼠标(2键、3键或滚轴鼠标)
MouseManPlusPS/2: Logitech PS/2鼠标
...
更多信息可浏览Mouse Support in XFree86。

对于典型的Microsoft滚轴鼠标,有报导说这样设置最好:

     /etc/gpm.conf            | /etc/X11/X86Config-4
     =========================+======================================
     device=/dev/psaux        | Section "InputDevice"
     responsiveness=          |  Identifier "Configured Mouse"
     repeat_type=raw          |  Driver     "mouse"
     type=autops2             |  Option     "CorePointer"
     append=""                |  Option     "Device"   "/dev/mouse"
     sample_rate=             |  Option     "rotocol" "IMPS/2"
                              |  Option     "Buttons" "5"
                              |  Option  "ZAxisMapping" "4 5"
                              | EndSection
对于某些最新的Toshiba超薄笔记本,在System-V init脚本中设置gpm先于PCMCIA激活可防止系统锁死。听起来古怪不过是真的。


--------------------------------------------------------------------------------

3.3.2 USB鼠标
请确定你完成了:

在内核中打开了“Input Core Support”和“Input Core Support/Mouse Support”或作为模块加载。
在内核中打开了“Support for USB”、“Preliminary USB device filesystem”、“UHCI or OHCI”和“USB HID Support”或作为模块加载。
安装了hotplug软件包并在/etc/default/hotplug.usb中激活了X11_USBMICE_HACK=true。
如果你没使用devfs,则需按下面的方法创建一个设备节点/dev/input/mice:

     # cd /dev
     # mkdir input
     # mknod input/mice c 13 63
对于典型的滚轴USB鼠标,配置如下:

     /etc/gpm.conf            | /etc/X11/X86Config-4
     =========================+======================================
     device=/dev/input/mice   | Section "InputDevice"
     responsiveness=          |  Identifier "Generic Mouse"
     repeat_type=raw          |  Driver     "mouse"
     type=autops2             |  Option     "SendCoreEvents" "true"
     append=""                |  Option     "Device"   "/dev/input/mice"
     sample_rate=             |  Option     "rotocol" "IMPS/2"
                              |  Option     "Buttons" "5"
                              |  Option  "ZAxisMapping" "4 5"
                              | EndSection
更多信息可浏览Linux USB Project。


--------------------------------------------------------------------------------

3.3.3 触摸屏(touch pad)
尽管触摸屏在笔记本电脑上默认是模拟2键PS/2鼠标行为,仍可从tpconfig软件包获得对这类设备的完全操控。例如在/etc/default/tpconfig中设置OPTIONS="--tapmode=0"可屏蔽讨厌的“click by tap”行为。按如下方法设置/etc/gpm.conf可以控制台下使用触摸屏和USB外接鼠标。

     device=/dev/psaux
     responsiveness=
     repeat_type=ms3
     type=autops2
     append="-M -m /dev/input/mice -t autops2"
     sample_rate=

--------------------------------------------------------------------------------

3.4 NFS设置
安装NFS要设置/etc/exports。

     # echo "/ *.domainname-for-lan-hosts(rw,no_root_squash,nohide)" \
             >;>; /etc/exports
详情见我的样例脚本.


--------------------------------------------------------------------------------

3.5 Samba设置
参考资料:

http://www.samba.org/
samba-doc package
以“share”方式安装Samba比较容易,因为安装过程会创建WfW-type共享驱动器。但最好使用“user”模式来配置它。

可以用debconf或vi来设置Samba:

     # dpkg-reconfigure --priority=low samba # in Woody
     # vi /etc/samba/smb.conf
详情参阅我的脚本样例.

可通过smbpasswd向smbpasswd文件添加一个新用户:

     $ su -c "smbpasswd -a username"
确保使用的加密密码有恰当的兼容性。

按下表中相应的值设定os level(数字越大,服务器的优先级越高):

     0:      Samba with a loose attitude (will never become a master browser)
     1:      WfW 3.1, Win95, Win98, Win/Me?
     16:     Win NT WS 3.51
     17:     Win NT WS 4.0
     32:     Win NT SVR 3.51
     33:     Win NT SVR 4.0
     255:    Samba with mighty power
确认用户是目录所属组的成员,并且对目录赋予了执行权限。


--------------------------------------------------------------------------------

3.6 打印机设置
传统打印方法是lpr/lpd。新的CUPS系统(Common UNIX Pinting System)提供了另一方法PDQ,详情参阅Linux Printing HOWTO。


--------------------------------------------------------------------------------

3.6.1 lpr/lpd
For the lpr/lpd的打印缓冲池(type spoolers)(lpr、lprng和gnulpr),如果它们连接的是PostScript或text-only打印机(最基本的打印机)可按如下方式设置/etc/printcap:

     lp|alias:\
             :sd=/var/spool/lpd/lp:\
             :mx#0:\
             :sh:\
             :lp=/dev/lp0:
上述各行的意思是:

Head line: lp — spool名称, alias = alias
mx#0 — 不限最大文件尺寸
sh — 不打印页眉
lp=/dev/lp0 — 本地机印机,或port@host远程打印机
如果连接的是台PostScript打印机,上述设置就够用了。如果是Windows机器通过Samba打印,上述设置也适用于任何Windows支持的打印机(不支持双向通信)。你必须在Windows环境中对打印机做相应的配置。

如果你没有PostScript打印机,就得用gs安装过滤系统。有很多自动配置工具可用于配置/etc/printcap,可选择下列任何一组:

gnulpr、(lpr-ppd)和printtool — 我用这种
lpr和apsfilter
lpr和magicfilter
lprng和lprngtool
lprng和apsfilter
lprng和magicfilter
想运行GUI配置工具如printtool,需要root权限,参阅X下获取root权限, 第 9.4.11 节。printtool可创建打印缓冲池,它使用gs模拟PostScript打印机,所以要使用PostScript打印驱动来访问它们。在Windows端,“Apple LaserWriter”是标准件。


--------------------------------------------------------------------------------

3.6.2 CUPS™
首先安装Common UNIX Printing System(或CUPS™):

     # apt-get install cupsys cupsomatic-ppd
     # apt-get install cupsys-bsd cupsys-driver-gimpprint
接着用浏览器来配置系统:

     $ mybrowser http://localhost:631
举个例子,将你的打印机联接到可访问打印机列表中:

在主页面上点击“Printers”,然后点“Add Printer”,
输入用户名和密码,进入“root”,
按提示添加打印机,
返回“Printers”页面,点“Configure Printer”,
设定打印纸尺寸、分辨率和其它参数。
更多信息可浏览http://localhost:631/documentation.html和http://www.cups.org/cups-help.html。

对于2.4内核,参见并行端口支持, 第 7.2.6 节。


--------------------------------------------------------------------------------

3.7 其它主机安装提示

--------------------------------------------------------------------------------

3.7.1 初始化安装完成后再装些什么
到现在,你已经拥有一个小巧但功能颇强的Debian。接下来,可以安装那些较大的软件包了。

运行tasksel。参阅使用tasksel或aptitude进行task安装, 第 6.2.1 节。
可按需选择:

End-user — X window system
Development — C and C++
Development — Python
Development — Tcl/Tk
Miscellaneous — TeX/LaTeX environment
For others —我把ttasksel作为安装指导,查看<Task Info>;了解有关任务的安装列表 然后用dselect来选择安装。
运行dselect。
在此,你最想做的事就是选择钟爱的编辑器和其它需要的程序。你可以同时安装Emacs的多个变种。参阅dselect, 第 6.2.3 节和流行的编辑器, 第 11.1 节。

你也可以将某些默认的软件包替换成特定版本。

lynx-ssh (而不是lynx)
...
...
我通常会编辑/etc/inittab简化关机步骤。

     ...
     # What to do when CTRL-ALT-DEL is pressed.
     ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now
     ...

--------------------------------------------------------------------------------

3.7.2 模块
在初始安装期间可进行设备驱动模块配置。以后还可使用modconf进行配置,它是基于菜单界面的工具,可用来配置那些在初始安装时未曾配置的模块或完成新内核安装后的配置工作。

所有预加载(preloading)模块的名称要加入到/etc/modules列表。也可以使用lsmod和depmod进行手工操控。

对于2.4版内核别忘了在/etc/modules中加上几行来处理IP伪装(ftp等)。参阅模块化的2.4内核, 第 7.2 节,特别是网络功能, 第 7.2.3 节。


--------------------------------------------------------------------------------

3.7.3 CD-RW基本步骤
编辑下列文件:

     /etc/lilo.conf  (添加append="hdc=ide-scsi ignore=hdc",
                      执行lilo激活)
     /dev/cdrom      (创建链接# cd /dev; ln -sf scd0 cdrom)
     /etc/modules    (add "ide-scsi"和"sg"。如果需要可再加上"sr"。)
详情参阅刻录机, 第 9.3 节。


--------------------------------------------------------------------------------

3.7.4 多内存和关机自动断电
编辑/etc/lilo.conf,设置启动提示参数如下,实现识别大内存(适用于2.2版内核)和关机自动断电(适用于APM):

     append="mem=128M apm=on apm=power-off noapic"
执行lilo完成上述设置。对称多处理器内核(SMP-kernel)需要apm=power-off,而对我那堆糟糕的SMP硬件而言noapic几乎没什么用处。系统启动时,在启动提示符后直接输入这些参数效果也一样。参阅其它用于启动提示符的技巧, 第 8.1.5 节。

在Debian的2.4版内核中apm是作为模块编译的,对于这种情况,可在系统启动后运行# insmod apm power_off=1或设置/etc/modules:

     # echo "apm power_off=1" >;>;/etc/modules
还可以这样:编译新版内核时加入ACPI支持可达到同样的效果,而且这种方式更适合SMP(只有较新的主板才支持ACPI)。对于较新的主板2.4版内核可以直接检测到大内存。

     CONFIG_PM=y
     CONFIG_ACPI=y
     ...
     CONFIG_ACPI_BUSMGR=m
     CONFIG_ACPI_SYS=m
在/etc/modules中按如下顺序添加参数:

     ospm_busmgr
     ospm_system
或者重新编译内核,在配置时将上述内核选项均设为“y”。总之,有了ACPI支持就不再需要任何启动提示参数。


--------------------------------------------------------------------------------

3.7.5 无法访问某此站点的怪问题
新的Linux内核默认开启ECN,对于某些使用劣质路由器的站点,会出现无法访问的问题。检查ECN状态可使用:

     # cat /proc/sys/net/ipv4/tcp_ecn
      ... 或
     # sysctl net.ipv4.tcp_ecn
将它关闭:

     # echo "0" >; /proc/sys/net/ipv4/tcp_ecn
      ... 或
     # sysctl -w net.ipv4.tcp_ecn=0
每次启动时禁止TCP ECN,可编辑/etc/sysctl.conf,加上:

     net.ipv4.tcp_ecn = 0

--------------------------------------------------------------------------------

3.7.6 PPP拔号设置
安装pppconfig软件包,设置PPP拨号访问。

     # apt-get install pppconfig
     # pppconfig
      ... 按提示配置PPP拨号
     # adduser user_name dip
      ... 允许user_name进行PPP拨号访问
用户(user_name)进行PPP拨号访问:

     $ pon ISP_name   # 开始PPP访问,接通你的ISP
      ... enjoy the Internet
     $ poff ISP_name # 停止PPP访问, ISP_name可选
详情参阅/usr/share/doc/ppp/README.Debian.gz。

另外,wvdial软件包可以用来设置PPP拨号访问。


--------------------------------------------------------------------------------

3.7.7 /etc中的其它配置文件
Debian标准安装不包含/etc/cron.deny文件,想添加可拷贝/etc/at.deny

论坛徽章:
0
2 [报告]
发表于 2005-08-23 10:20 |只看该作者

debian

第 4 章 - Debian指南

--------------------------------------------------------------------------------

本章为那些初涉Linux世界的新手指出了基本方向。如果你接触Linux已有一段时间,可以当成是一次实战测验。


--------------------------------------------------------------------------------

4.1 信息资源
到Debian Documentation Project (DDP)看看,那儿有最权威的Debian参考资料。其中的许多文档都安装在/usr/share/doc/下。还可以到/usr/share/doc-base/看看,那儿有这些文档的打印文件。在~/.bash_profile中添加export CDPATH=.:/usr/share/doc:/usr/src/local,这样更容易访问这些文档目录。

到Linux Documentation Project (LDP)看看,那儿有最权威的通用Linux参考资料。LDP资料通常安装在/usr/share/doc/HOWTO/目录下。

浏览本地或远程FTP站点的文档,可在Midnight Commander中按下F9(参阅Midnight Commander (MC), 第 4.3 节)。


--------------------------------------------------------------------------------

4.2 Linux控制台

--------------------------------------------------------------------------------

4.2.1 登录
在普通Linux系统中,有6个独立的伪终端(pseudo-terminals)。同时按下Left-Alt键和F1–F6键可在这些伪终端间切换。每个伪终端均需单独登录。多用户环境是Unix最鲜明的特征,而且一用就上瘾。

使用普通用户帐号工作是个很好的Unix习惯。不得不承认,我过去常仅仅为图方便而滥用超级用户帐号(root)。

现在,我通常使用一个普通用户帐号,使用sudo、super或su -c来获得有限的root访问权限。


--------------------------------------------------------------------------------

4.2.2 添加用户
系统安装完毕,我通常会添加一个普通用户帐号,如果用户名为“penguin”,

     # adduser penguin
就会创建一个这样帐号。

使用vigr命令编辑/etc/group:

     adm:4:admin
     src:40:admin, debian, ...
     ...
在系统默认安装状态下,adm用户组成果对/var/log下的许多日志文件具有读权限,并可使用xconsole。staff用户组拥有/home,适用于进行用户帐号维护工作的用户,而src用户组拥有/usr/src,用来存放那些完成内核编译等工作的用户。有关用户及用户组的规范描述可参阅最新的users-and-groups。

我个人使用adm用户组存放那些具有管理员职责和单独su特权的用户(参阅“为什么GNU su命令不支持wheel group”, 第 9.2.2 节),而将CVS用户放在src用户组(参阅CVS, 第 12.1 节)。

用adduser,addgroup,vipw,vipw -s,vigr,以及vigr -s检查一下用户及用户组是否配置得当。


--------------------------------------------------------------------------------

4.2.3 如何关机
和其它现代操作系统一样,系统的工作文件均缓存于内存,所以在切断电源之前Linux需要完成特别的关机程序。下面就是多用户模式下使用的关机命令:

     # shutdown -h now
这是单用户模式下使用的关机命令:

     # poweroff -i -f
等待屏幕上显示“System halted”字样之后切断电源。如果在BIOS和Linux中开启了apm,系统会自动切断电源。详情参阅多内存和关机自动断电, 第 3.7.4 节。


--------------------------------------------------------------------------------

4.2.4 命令行编辑
bash是默认shell,它能记住使用过的命令。只需按up-arrow键就能进入记忆模式,使用上下箭头找你想输入的命令。其它需要牢记的重要击键有:

     Ctrl-U:                  删除行首到光标间的内容
     Ctrl-D:                  中止输入
     Lt-click-and-drag-mouse: 选择并拷贝到剪贴板(gpm)
     Ctrl-click-mouse:        将剪贴板内容粘贴到光标处(gpm)
对于常规Linux系统控制台,上述命令中通常指的是左边的Ctrl和Alt键。


--------------------------------------------------------------------------------

4.2.5 执行命令
典型的命令执行方法是使用如下shell命令行序列:

     $ LC_ALL=fr ls -la
在此,ls程序在前台执行环境变量LC_ALL设置为fr Here, program ls is executed in the foreground job with the environment variable LC_ALL set to fr for French and the command line argument set to -la for listing everything in detail. If the command line is post-fixed by & sign then the command is executed in the background job. The background job allows user to run multiple programs in a single shell.

The execution of the command can be managed by following key strokes.

     Ctrl-C:                  中止程序
     Ctrl-Z:                  暂停程序
     Ctrl-S:                  停止屏幕输出
     Ctrl-Q:                  恢复屏幕输出
     Ctrl-Alt-Del:            重启/关闭系统(参阅/etc/inittab)
有关如何管理程序运行,可参阅bash(1)中的jobs、fg、bg和kill。


--------------------------------------------------------------------------------

4.2.6 需要牢记的基本命令
下列是最基本的Unix命令:

     ls, ls -al, ls -d, pwd, cd, cd ~user, cd -,
     cat /etc/passwd, less, bg, fg, kill, killall,
     uname -a, type commandname, sync, netstat,
     ping, traceroute, top, vi, ps aux, tar, zcat,
     grep, ifconfig, ...
在命令提示符后输入man或info加相关命令名,可查看该命令的意思。许多Linux命令可使用下列调用获得简要帮助信息:

     $ commandname --help
     $ commandname -h
whatis commandname可以显示任何命令的单行概述,这些内容来自于相关帮助文件的开头。


--------------------------------------------------------------------------------

4.2.7 X Window系统
从控制台启动X Window系统:

     # exec startx
右键点击root窗口可以唤出选择菜单。


--------------------------------------------------------------------------------

4.2.8 重要键盘命令
可在Linux控制台中使用的重要击键(plus、minus指数字键盘上的按键):

     Alt-F1 thru F6:       切换到其它伪终端
     Ctrl-Alt-F1 thru F6:  切换到其它伪终端
                           (在X-window、DOSEMU等运行环境中)
     Alt-F7:               切换回X-window
     Ctrl-Alt-minus:       降低X-window的显示分辩率
     Ctrl-Alt-plus:        提高X-window的显示分辩率
     Ctrl-Alt-Backspace:   中止X-windows
     Alt-X, Alt-C, Alt-V:  通用的Windows/Mac剪切、拷贝、粘贴键  
             在某些程序如Netscape Composer中,组合键中的Ctrl键换成了Alt键

--------------------------------------------------------------------------------

4.3 Midnight Commander (MC)
Midnight Commander (MC)是Linux控制台和其它终端环境中的GNU“瑞士军刀”。


--------------------------------------------------------------------------------

4.3.1 安装MC
     # apt-get install mc
接着按照其手册页面mc(1)中描述的方法修改~/.bashrc(或/etc/bash.bashrc, .bashrc会调用它),打开-P选项,这使得MC不必退出就能更改其工作目录。

如果处于kon或Kterm for Japanese等使用某些图形特性的终端,MC运行会出一些问题,可在MC命令行中加上-a加以预防。


--------------------------------------------------------------------------------

4.3.2 启动MC
     $ mc
在MC中用户可轻而易举使用菜单完成所有的文件操作。


--------------------------------------------------------------------------------

4.3.3 文件管理器
默认状态下,所有文件列于两个目录面板。一种实用的方式是将右边窗口设定为“information”,用来查看文件访问权限等信息。下面是一些基本的击键。如果gpm daemon在运行,你还可以使用鼠标。(在MC中进行剪切和粘贴操作时另忘了按下shift键。)

F1: 帮助菜单
F3: 内置文件阅读器
F4: 内置编辑器
F9: 激活折叠菜单
F10: 退出Midnight Commander
Tab: 在两个窗口间移动
Insert: 为多文件操作生成文件如拷贝
Del: 删除文件(小心—请设置MC为安装删除模式)
Cursor keys: 与各自的名字一致

--------------------------------------------------------------------------------

4.3.4 命令行技巧
cd命令可改变焦点屏幕中的目录位置。
Control-Enter或Alt-Enter可以将文件名拷贝到命令行。在编辑命令行时可与cp或mv命令结合使用。
Alt-Tab显示焦点文件所属文件或目录的文件名
可指定MC两个目录窗口的起始目录;例如mc /etc /root。
Esc + numberkey == Fn (例如Esc + 1 = F1, etc.; Esc + 0 = F10)
Esc key == Alt key (= Meta, M-); 例如Esc + c等价于Alt-c

--------------------------------------------------------------------------------

4.3.5 编辑器
内置编辑器的剪切-粘贴方式很有意思。按F3在起始处做标记,再次按F3在终止处做标记,这时中间的选中部分会高亮显示。然后你可以移动光标到某处按下F6,被选中部分就会移到该处。如果你按下的是F5,选中部分就会拷贝到该处。F2用来存盘,F10退出,所有方向键的作为和它们的名字一样直观。

该编辑器可直接打开某个文件:

     $ mc -e filename_to_edit
     $ mcedit filename_to_edit
虽然它不是多窗口编辑器,但你可利用Linux多控制台的特性达到相同的效果。要在窗口间进行拷贝操作,可使用Alt-Fn切换虚拟控制台,然后使用“File->;Insert file”或“File->;Copy to file”将一个文件中的内容拷贝到另一个文件。

可指定任何外部编辑器作为内置编辑器。

许多程序使用环境变量EDITOR或VISUAL来决定使用哪个编辑器。如果你用不惯vim,可在~/.bashrc中加上几行来指定新的mcedit:

     ...
     export EDITOR=mcedit
     export VISUAL=mcedit
     ...
我强烈推荐将它们设定为vim。在Linux/Unix世界里就该使用vi(m)命令。


--------------------------------------------------------------------------------

4.3.6 阅读器
非常精巧的阅读器。它是在文档中搜索单词的利器。在/usr/share/doc目录下我总是用它,面对大量的Linux资料用它浏览是最快的方法。阅读器可以直接找开文件:

     $ mc -v filename_to_view
(注意,有些不规范的软件包仍将它们的文档放在/usr/doc目录下。)


--------------------------------------------------------------------------------

4.3.7 自动启动特性
在文件上按Enter,会激活相关的程序操作该文件。这是MC的一个极方便的特点。

     executable:        执行命令
     man, html file:    将文件内容传入阅读器程序
     tar, gz, rpm file: 象浏览子目录一要浏览它的内容
为了使这些文件特性生效,不要将可阅读文件设成可执行文件。可在MC文件菜单中改变文件属性或使用chmod命令。


--------------------------------------------------------------------------------

4.3.8 FTP虚拟文件系统
MC可通过FTP访问文件。按F9转到菜单栏,输入p激活FTP虚拟文件系统。按username:passwd@hostname.domainname格式输入URL,远程文件目录就会以本地目录的方式显示出来。


--------------------------------------------------------------------------------

4.4 GNU/Linux文件系统基础知识
在GNU/Linux系统中每个文件和目录都与其拥有者(主人)和拥有组相关联。所有的文件信息都保存在一个称为inode的数据结构中。


--------------------------------------------------------------------------------

4.4.1 文件和目录的访问权限
文件和目录的访问权限对如下3类用户进行了分别定义:

文件拥有者(u),
文件拥有者所在用户组中的其它成员(g),和
所有其它用户(o)。
每个文件均拥有下列三种权限:

read (r): 查看文件内容
write (w): 修改文件
execute (x): 如同命令一样执行文件
每个目录均拥有下列三种权限:

read (r): 列出目录内容
write (w): 在目录中增删文件
execute (x): 访问目录中的文件
在此,对目录的execute权限,不仅意味着允许查看目录下文件的内容,还允许获文件的其它信息如文件大小、修改时间。

ls可用来获取目录和文件的这些信息。参阅ls(1)。使用ls的-l选项,就会按如下顺序显示下列信息:

文件类型(第1个字符)
-: 普通文件
d: 目录
l: 符号链接
c: 字符型设备节点
b: 块设备节点
文件访问权限(接下来的9个字符,每3个一组依次代表user、group和other)。
文件的硬链接数 。
文件拥有user的用户名。
文件所属group的用户组名。
文件的字符数size (bytes)。
文件的date and time (mtime)。
文件的name。
在root账号下可使用chown改变文件的拥有者,参阅chown(1)。要改变文件的所属组,可以文件拥有者或root的身份运行chgrp,参阅chgrp(1)。要改变目录的访问权限,可以文件拥有者或root的身份运行chmod,参阅chmod(1)。

例如,可以root帐号下创建一个目录树,并使其拥有者为foo,所属组为bar:

     # cd /some/location/
     # chown -R foo:bar .
     # chmod -R ug+rwX,o=rX .
下面是3个更特殊的权限:

set user ID (s 或 S 而非 user's x),
set group ID (s 或 S 而非 group's x), and
sticky bit (t 或 T 而非 other's x).
在此,如果未设置输出时屏蔽执行权限标识位,则ls -l的输出中这些标识位将使用大写字母。

为可执行文件设置set user ID位将允许用户以该文件拥有者的ID来执行该文件(例如以root身份)。同样,为可执行文件设置set group ID将允许用户以该文件所属组的ID来执行该文件(例如以root身份)。这将引起安全风险所以使用这些特性时要格外小心。

为目录设置set group ID,则该目录会使用BSD-like文件创建方案,即目录中所有新创建的文件均属于该目录所属的group。

为目录设置sticky bit可防止非文件拥有者移动目录中的文件。为确保全局可写目录如/tmp或组可写目录中的文件内容不被修改,不仅要关闭文件的写权限,还应设置目录的sticky bit,否则,任何对该目录有写权限的用户均可以将该文件移动到别处,然后在原地创建一个同名文件。

这儿有一些有关文件权限的有趣例子。

     $ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd
     crw-rw----    1 root     dip      108,   0 Jan 18 13:32 /dev/ppp
     -rw-r--r--    1 root     root         1051 Jan 26 08:29 /etc/passwd
     -rw-r-----    1 root     shadow        746 Jan 26 08:29 /etc/shadow
     -rwsr-xr--    1 root     dip        234504 Nov 24 03:58 /usr/sbin/pppd
     $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src
     drwxrwxrwt    4 root     root         4096 Feb  9 16:35 /tmp
     drwxrwsr-x   10 root     staff        4096 Jan 18 13:31 /usr/local
     drwxrwsr-x    3 root     src          4096 Jan 19 08:36 /usr/src
     drwxrwsr-x    2 root     mail         4096 Feb  2 22:19 /var/mail
     drwxrwxrwt    3 root     root         4096 Jan 25 02:48 /var/tmp

--------------------------------------------------------------------------------

4.4.2 时间戳
GNU/Linux的文件有3种类型的时间戳:

mtime: 修改时间 (ls -l),
ctime: 状态改变时间 (ls -lc),以及
atime: 最近访问时间 (ls -lu).
注意ctime并非文件创建时间。

覆盖一个文件会改变所有三类时间mtime、ctime和atime所有三类时间。
改变文件的访问权限或拥有者会改变文件的ctime和atime。
读文件会改变文件的atime。
注意,在GNU/Linux系统中,即便是简单的读文件通常会引起文件的写操作,从而更新inode上的atime信息。使用noatime选项来挂载文件系统,可使用系统忽略该操作,从而加速文件的访问和读取。参阅mount(


--------------------------------------------------------------------------------

4.4.3 链接
在2种方法将文件foo关联到不同的文件名bar。

hardlink(硬链接)相当于现存文件的另一个名字。(ln foo bar),
symlink(符号链接)指向一个不同的文件。(ln -s foo bar)。
下面的例子显示了链接数的改变和使用rm命令时产生的微妙差异。

     $ echo "Original Content" >; foo
     $ ls -l foo
     -rw-r--r--    1 osamu    osamu           4 Feb  9 22:26 foo
     $ ln foo bar     # hardlink
     $ ln -s foo baz  # symlink
     $ ls -l foo bar baz
     -rw-r--r--    2 osamu    osamu           4 Feb  9 22:26 bar
     lrwxrwxrwx    1 osamu    osamu           3 Feb  9 22:28 baz ->; foo
     -rw-r--r--    2 osamu    osamu           4 Feb  9 22:26 foo
     $ rm foo
     $ echo "New Content" >; foo
     $ cat bar
     Original Content
     $ cat baz
     New Content
上例中所有的符号链接均拥有访问权限“rwxrwxrwx”,它们的访问权限均由它们所指向的文件来定义。

.链接到它所属的目录,因此任何新目录的链接数都从2开始计算。..链接到父目录,因些目录链接数会随新的子目录数的增长而增长。


--------------------------------------------------------------------------------

4.5 进一步学习
许多Unix入门级参考书出自在O'Reilly,在计算机的各个领域,想买到优秀的指导书,O'Reilly不会让你失望。LDP的文档Tips-HOWTO是另一个极好的资源。更多资源参阅Debian技术支持, 第 15 章

论坛徽章:
0
3 [报告]
发表于 2005-08-23 10:22 |只看该作者

debian

请不要分开发贴!谢谢!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP