Archlinux基础系统安装

来自KlniuWiki
跳转到: 导航, 搜索

这是Archlinux的基础系统安装,如要继续安装桌面环境或者配置系统,请参看:

目录

1 第一部分:安装基础系统

1.1 第一步:获得最新的安装媒体

你可以在这里找到最官方的Arch Linux安装媒体。最新的版本是2010.05。

  • Core和Netinstall映像文件都只提供必须的包用于创建一个 Arch Linux基本系统要注意的是,这个基础系统不包括图形用户界面。它主要包含了GNU工具链(编译器,汇编器,连接器,库,shell和基本工具程序),Linux内核,一些扩展的库和模块。
  • Core 映像可以很容易地通过两种方式获得包进行安装:从CD本身或者网络。
  • Netinstall映像则是一个更小的映像,自身不带Arch安装包;整个系统都是通过英特网获取的。
  • Arch64 FAQ中的信息可以帮你选择使用32位或者64位版本的系统。

1.1.1 用已有的GNU/Linux发行版安装Arch

Arch有足够的灵活性,可以用已有的发行版或者Live CD来安装Arch到一个可用的分区。参阅这篇文章,它会说明这样安装的步骤。如果你打算通过vnc或者ssh远程安装Arch,这样做是非常适合的。

1.1.2 CD安装

用你喜欢的CD/DVD刻录机和刻录软件把 .iso 映像文件刻录到 CD 或者 DVD 光盘上,然后从第二步:引导Arch Linux安装程序继续。

Note: 你的刻录机的质量和刻录盘的质量是不确定的。通常,为了得到可靠的刻录质量,使用低速刻录速度

1.1.3 硬盘安装方式

如果你目前正在使用windows系统,那么你可能想尝试一下Arch Linux,而又不想马上把windows系统删除,那么你可以按照下面的方法,在保留windows系统的同时来安装、体验Arch Linux。

需要准备的工具

  • Arch ISO镜像
  • GRUB4DOS
  • 可以运行的windows系统或者支持Grub4Dos启动的设备,比如U盘或者移动硬盘。

P.S.:GRUB4DOS 可以用MAXDOS替代,如果机器上已经有安装,可以不用再装GRUB4DOS。

启动安装

  • 首先把iso镜像和grldr拷贝到C盘根目录。下面假定C盘为第一个硬盘的第一个分区,文件系统为fat32。如果你使用不同的分区,记得在下面的操作中进行相应的修改。
  • 利用你喜欢的工具(如ultraiso,虚拟光驱等)从iso镜像中提取出所需的内核文件。
 
/isolinux/vmlinuz
/isolinux/initrd.img

把这两个文件也放到C盘根目录下。

  • 修改c:\boot.ini文件,添加grub启动项

先用命令"attrib -r -h -s c:\boot.ini"去掉该文件的写保护,然后按照下面的内容进行修改:

 [boot loader]
 timeout=3
 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
 [operating systems]
 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
 C:\grldr="grub4dos

用命令"attrib +r +h +s c:\boot.ini"恢复文件属性

  • 增加c:\menu.lst文件,并在其中添加Arch启动项:
 title  Install Arch Linux
 root   (hd0,0)
 kernel /vmlinuz ro
 initrd /initrd.img

上面 root (hd0,0)用来指定内核所在分区,这里表示第一个硬盘第一个分区,即C盘,其它情况类推。 如果想在安装过程中提高控制吧分辨率,可以在内核一行加入参数:vga=791。791的分辨率为1024x768,其它参数请自行搜索。

  • 重新启动系统,在启动菜单上选择"grub4dos",然后选择"Install Arch Linux"。

在内核启动后,就可以进入安装环境,剩下的安装过程基本同光盘安装一样。


  • 事实上,可以使用grub的加载ISO功能直接启动光盘
 grub> map --mem (hd0,1)/archlinux-2010.05-core-i686.iso (0xff)
 grub> map --hook
 grub> chainloader (0xff)
 grub> boot

启动之后就可以看到光盘的启动菜单,选择LiveCD模式,在启动过程中,会停止在/dev/archiso的加载上,参见下面的注意事项手工处理,然后按Ctrl+D继续启动过程。

需要注意的地方


  • 若是用2009.08的ISO,在启动过程中会查找/dev/archiso 文件,如果找不到(因为使用的硬盘ISO方式),会得到一个shell。

这里需要首先mount 硬盘分区,然后使用losetup将ISO文件挂到某个loop设备上面,最后将这个loop设备ln到/dev/archiso上。

 # mkdir /win
 # mount -r -t ntfs /dev/sda1 /win ##此处如果是FAT32分区,请使用mount -r -t vfat /dev/sda1 /win
 # modprobe loop
 # losetup /dev/loop6 /win/archlinux-2010.05-core-i686.iso
 #ln –s /dev/loop6 /dev/disk/by-label/ARCH_201005
 #exit

其中的ARCH_201005会随着Archlinux放出的ISO而更新的,不过在寻找镜像时,会提示有30秒的等待时间,后面会有这个目录的,将其替换即可。

执行完上述操作后,/dev/archiso就是指向硬盘上的ISO文件。按Ctrl+D退出shell,启动程序会继续执行,启动LiveCD,启动完成后可以使用/arch/setup安装

  • 安装完毕中,你可以选择安装grub引导器,或者继续使用grub4dos来引导Arch系统。对于“体验”用户,个人推荐使用后一种方法,因为如果以后要删除Arch或者重新安装windows时,它的后遗症最小。

修改c:\menu.lst,加入新的Arch系统启动项(假设/boot单独分区,并且位于编号为7的逻辑分区,/分区编号为8):

 title  Arch Linux
 root   (hd0,6)
 kernel /vmlinuz26 root=/dev/sda8 ro vga=791
 initrd /kernel26.img

注意,如果你不懂得如何在Linux下修改windows文件,那么你可能需要先启动到windows去修改menu.lst文件。当然,如果你只是临时修改启动参数,那么可以在grub界面中对应地启动条目上按'e'就可以编辑它。

1.1.4 USB安装方式

在Bios里设置从u盘启动

Warning: 这样做会把USB盘里面原有的数据格式化。

UNIX 方式:

插入USB盘,找到其路径,用/bin/dd命令把.img映像文件写入USB(Linux下):

dd if=archlinux-2010.05-{core|netinstall}-{i686|x86_64|dual}.iso of=/dev/sdx

if= 后面是.img镜像文件的路径,of= 是你的USB路径. 注意要使用/dev/sdx而不是/dev/sdx1(就是要使用整个分区而不是第一分区). 你的usb设备需要有足够大的空间用于写入ISO镜像, 目前镜像文件大小是 381MB.


检查镜像的完整性md5sum (可选):

记下读入和写出的记录区数目,然后执行以下命令进行检查:

dd if=/dev/sdx count=记录区数目 status=noxfer | md5sum

md5sum命令返回的值(这是你检查U盘上文件得到的)要与你下载的archlinux镜像文件的md5sum校验值相同;它们都应该和镜像站点的md5sum文件列表里相应的值相同。一个典型的操作过程如下:

$ [sudo] dd if=archlinux-2010.05-core-i686.iso of=/dev/sdc
744973+0 records in
744973+0 records out
381426176 bytes (381 MB) copied, 106.611 s, 3.6 MB/s
$ [sudo] dd if=/dev/sdc count=744973 status=noxfer | md5sum
4850d533ddd343b80507543536258229  -
744973+0 records in
744973+0 records out

Windows方式:

https://launchpad.net/win32-image-writer/+download 下载Disk Imager。插入U盘,启动Disk Imager并选择映像文件,再选择U盘相应的磁盘驱动号,点击"write"即可。

继续 第二部分:完成基本系统并升级

1.2 第二步:引导Arch Linux安装程序

插入刻录好的光盘CD或者USB盘,然后用它启动电脑。可能需要在BIOS里(通常是启动后在加电自检过程中按DEL、F1、F2、F11或者F12)改变一下启动顺序使得CD或者USB先被启动。

Note: 内存需求:
  • Core : 160 MB RAM x86_64/i686 (选择所有软件包,开启交换分区)
  • Netinstall : 160 MB RAM x86_64/i686 (选择所有软件包,开启交换分区)

成功引导光盘后应该可以看到主菜单,用上下箭头高亮菜单,按下回车键进行选择。

通常,推荐选择第一项菜单。不过如果使用libata/PATA出现问题或者没有SATA (Serial ATA)驱动器,你也可以选择Boot Archlive [legacy IDE] 。


如果你需要改变启动参数,可以按 e 键来编辑启动行内容。 许多用户可能希望改变framebuffer分辨率以得到更好的终端显示。将

vga=773

加到kernel一行的后面,然后按<ENTER>,就可以得到1024x768的framebuffer。设置完毕后按b则使用相应的选择项进行启动。

系统将会启动并提示登录,这时可以用'root'进行登录(不要加上单引号)。

1.2.1 更换键盘映射表

如果你使用非US键盘布局,可以用命令选择相应的键盘映射表。

# km

或者是是用loadkeys命令

# loadkeys layout

(把layout替换成你需要的,比如 "fr" 或者 "be-latin1")

1.2.2 相关文档

在 live CD 里面,已经包含了官方安装指南.在安装的时候可以边安装边查看,按组合键<ALT>+F2 切换到控制台vc/2(alt+f3,alt+f4……分别可以切换到对应的控制台vc/3,vc/4……以此类推),然后输入:

# less /arch/docs/official_installation_guide_en

使用less是因为它的翻页功能使得查看文档更方。按组合键<ALT>+F1回到控制台vc/1,继续安装系统。

整个系统安装过程中, 你随时都可以切换 vc/2 查看安装向导

less 是个文本查看程序,位于/usr/bin/less

Tip: 请注意,官方指南仅涵盖基本系统的安装和配置过程。一旦安装完毕,强烈建议回到本wiki浏览更多安装后续已经相关问题。

1.3 第三步:开始安装

键入

/arch/setup 

1.3.1 1、选择安装来源

接着会出现一个选择安装来源的提示。如果你用core ISO的话请选择CD,如果使用FTP ISO的话则选择FTP。

  • 如果选择 CORE installer,可以直接看下面的硬盘分区配置。
  • FTP/HTTP only: 选择这个需要预先加载网络驱动以便联网安装. 使用Udev来加载这些模块非常有效.

按组合键ALT+F3切换到控制台vc/3,确认一下看其是否生效 invoking ifconfig -a . (Select OK to continue.) ——把后面的网络配置提前看

1.3.2 2、设置时间

有两个选择:

  • UTC - 如果使用unix系统包括Linux, Freebsd等, 建议使用UTC
  • local - 如果和Windows共享多引导系统, 建议使用local

1.3.3 3、硬盘分区配置

选择第一个菜单项"Prepare Hard Drive"。请注意,"Auto-Prepare"(自动分区)并不是最佳的选择,因为它只分配了最基本的三个区( /,/home,swap) 在这里我们用手工进行硬盘分区。选择"2. Partition Hard Drives",接着选要分区的硬盘(比如:/dev/sdx),然后按你需要编辑分区表。

Arch Linux安装程序使用cfdisk公用程序来对硬盘进行分区。

接下来,熟悉GNU/Linux的用户可以跳过这段内容直接到下面选择软件包

1.3.3.1 分区信息

对磁盘进行分区是指在磁盘上定义若干区域(分区),每个都象是一个独立的磁盘,可以在其上创建(格式化)一个文件系统。 分区的类型分为主分区(Primary)、扩展分区(Extended)和逻辑分区(Logical)三类。

主分区可以被启动,一个物理磁盘最多能有4个主分区。要使用超过4个的话,只能使用一个包含了逻辑分区的扩展分区。 (译者注:为避免误解,较易懂的解释应该是:一个磁盘不算逻辑分区最多只能有4个分区,这4个要么全是主分区,要么就是3个主分区+1个扩展分区,当然你将整个磁盘划为1个主分区也是没问题的,只要不超过4个分区即可)

扩展分区通常不会被直接使用,它是作为逻辑分区的“容器”存在。一个硬盘只能有一个扩展分区,可以在里面继续再划分逻辑分区。

当对一个磁盘进行分区时,是按这种数字顺序命名:主分区为sda1-3,跟着是扩展分区sda4(译者注:在/dev和fdisk -l里是看不到这个sda4的),在扩展分区中划分出来的逻辑分区分别是sda5、sda6,如此类推。

1.3.3.2 交换分区swap

交换分区Swap是虚拟内存在硬盘上驻留的地方,内核可以用它来储存在物理内存中放不下的数据。

过去,常用的规则是将交换分区大小设置为物理内存的两倍。但是随着时间推移,现在的计算机已经有更大的内存容量,这条规则已经不适用了。通常,512MB内存的计算机,两倍(1G)的还是够用的。而1G内存的计算机,一倍的也够用了。如果你有更大的内存(比如超过1GB),也许可以完全把交换分区忘了,不推荐这样做!

  • 如果你打算使用休眠到磁盘的电源方案,你必须要有不小于内存容量大小的交换分区,有些用户甚至会推荐大于物理内存容量15%的大小。
1.3.3.3 规划分区

磁盘分区的规划是十分个人的设置。每位用户的决策都会根据自己计算机的情况和需求而不同。至少需要有一个包含了根文件系统 ( / )的主分区和一个交换分区。你还可以选择给/boot(主要用来存放内核文件)、/usr、/var和/home(用来存放用户个人数据)划出独立分区。一个较好的做法是给 / 和 /home都划分独立分区。这样的话,当你因为某些原因重装Arch Linux(或者其它发行版),你还可以保留你的个人数据例如音乐、图片、桌面环境配置等。

在本案例中,我们划分一个分区给 /,一个给/home,另外还有一个交换分区。

1.3.3.4 开始创建分区cfdisk

让我们开始创建一个包含root(/)文件系统的主分区。

选择New -> Primary,然后输入你希望的分区大小(对一个完整的Linux系统,4到8G是个不错的选择)。分区要位于磁盘的开头部分。选择刚新建的分区,接着选择Bootable将它置为可启动。

同时选择分区文件系统类型Type,指定为'83 Linux'.。

给你的/home目录创建另一个分区。选择另外一个主分区设成你想要的容量大小,这取决于你的用户会在他们的home目录里储存多少文件,其大小可能从几百M办公文档到上百G音频视频,所以这里我无法给出一个建议。如果你要使用磁盘所有的剩余空间,记得保给交换分区留一部分(例如1GB或1024MB)。

同样的,选择Type为'83 Linux'。

最后,我们给交换分区创建一个分区。选择一个介于512MB到1GB之间的大小并将Type改为82 (Linux swap / Solaris)。

现在的分区规划看起来应该象这样(基于你的选择大小也许会有所不同):

Name    Flags  Part Type   FS Type         [Label]         Size (MB)
-------------------------------------------------------------------------
sda1    Boot    Primary     Linux                         (4096 - 8192)
sda2            Primary     Linux                         (> 100)
sda3            Primary     Linux swap / Solaris          (512 - 1024)

选择Write并输入'yes'。要注意如果你删除了分区的话,这个操作会破坏你磁盘上的数据。选择Quit退出分区程序。 选择Done离开此菜单,接着选择"Set Filesystem Mountpoints"。

1.3.3.5 IDE设备,为什么看起来它们和SCSI设备一样?

最新开发的Linux内核里包含了libata和PATA模块,所有的IDE、SATA和SCSI都采用sdx这种命名方式。这十分正常,无需担心。

1.3.3.6 设置文件系统挂载点

Arch Linux为我们提供了多种文件系统供选择,这里我们推荐使用ext4。

1.3.4 4、选择软件包

现在我们要选择安装哪些软件包到系统中。选择CD作为来源,如果你不止一个光驱的话还需要选择使用哪个的光驱。

软件包选择分为两个阶段。首先要选择软件包分类,然后出现所选分类中软件包的详细列表供你微调。使用空格键进行选择和取消。

*BASE:包含最小的软件包集合,仅够构建一个可运行的系统骨架。 *SUPPORT:供网络和文件系统用的额外软件包,例如gpm、fuse、dnsutils、无线驱动、ndiswrapper、ntfs-3g诸如此类。 *DEVEL:软件创建工具,如GCC、autoconf、automake和make等等。 *LIB:大量的库文件,如gmp、lebelf、libevent等等。

  • 2008.06 版的软件包选择,只有一个: BASE ,选择之后进入其详细列表.

在这里,我们对'Select all packages by default'选择'yes'。

接下来屏幕将显示你所选的软件包。对于新手,较安全的做法是不修改它,而有经验的用户可能希望裁减掉一些不需要的软件包。(例如,不需要的文件系统类型公用程序,不需要的驱动等等。)

1.3.5 5、安装软件包

接着,选择'Install Packages'。你会被询问是否希望保留pacman缓冲里的软件包。如果你选'yes',日后你还可以选择对某些软件包进行降级,因此推荐保留(日后你还是可以清除这些缓存的)。安装脚本跟着就会安装所选软件包到你的系统中。这些软件包是二进制的、针对i686优化的,总共仅100MB,因此安装是相当便捷的。

1.3.6 6、配置系统

系统接着会询问你是否要选择 hwdetect 来收集配置所需信息。新手应该选择是('yes')。

如果是相当熟悉自己的硬件、所需模块,有能力从零开始手动配置/etc/mkinitcpio和/etc/fstab 的高级用户,可以选择否'no'。(当然,此选项是非常复杂的,已经超过本指南的范围,这里就不详细解释了。)

接下来,系统会询问你是否需要支持从USB设备、FireWire设备、PCMCIA设备、NFS共享、软RAID阵列、LVM2卷和加密卷上启动。如果需要则选'yes',在本案例中以上都不选。

新手还应该选择让/etc/mkinitcpio/kernel26-fallback.conf使用 hwdetect 的结果,这将确保你的硬盘控制器相容次序。

现在系统会询问你使用哪个文本编辑器;如果你不熟悉vi/vim的话可以选择nano。然后就会出现一个包含系统中大部分重要配置文件的菜单。如果你打算查找/etc/rc.conf中可用的选项,只需按Alt+F2切换到另外一个虚拟控制台进行查找,然后用Alt+F1切换回安装程序。

1.3.6.1 系统配置主文件/etc/rc.conf

Arch Linux继承FreeBSD的传统,使用/etc/rc.conf作为系统配置的主要文件。这个文件包含了广泛的配置信息,主要用于系统的启动。正如名字中所包含的意思,它还包含了供/etc/rc*文件使用的配置。/etc/rc.conf提供了一个Arch用户可以轻易访问到的,简洁而又范围广泛的精简系统资源配置方案。

  • LOCALIZATION部分
    • LOCALE=: 系统场所(locale)设置,被所有国际化(i18n-aware)的应用程序使用 。从命令行上运行locale可以列出可用的locale设置。此设置缺省是适合英文(US English)用户使用的en_US.utf8。(此处locale的设置必须与/etc/locale.gen一致,详见下文。)中文一般是zh_CN.UTF-8,如果使用之后乱码,先换回en_US.utf8,等进图形界面后再换回来。
    • HARDWARECLOCK=: 指示开关机时进行同步的硬件时钟,是UTC时间(协调世界时(Universal Time Coordinated), 过去曾用格林威治平均时(GMT)来表示)还是localtime(本地时间)。通常UTC较为好,因为它大大简化了时区和日光节约时间(中国过去称为夏时制)的变更。而当你同时还有其它操作系统如windows进行双启动,就必须使用localtime(本地时间),它只把本地时间保存到硬件时钟里。
    • TIMEZONE=: 时区(TIMEZONE)。(所有可用的时区可在/usr/share/zoneinfo/里找到。)
    • KEYMAP=: 可用的键盘映射表可在/usr/share/kbd/keymaps里找到。请注意此设定仅在TTY中有效,在所有图形窗口管理器或者X中都不使用此设置!
    • CONSOLEFONT=: 如果你一定要修改此设置,可在/usr/share/kbd/consolefonts/中找到可用的字体。
    • CONSOLEMAP=: 定义了启动时setfont程序加载的控制台映射表。有需要的话,可在/usr/share/kbd/consoletrans里找到可用的映射表。
    • USECOLOR=: 如果你使用彩色显示器的话请选"yes"。
LOCALE="zh_CN.UTF-8"
HARDWARECLOCK="localtime"
TIMEZONE="Asia/Shanghai"
KEYMAP="us"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
  • HARDWARE部分
    • MOD_AUTOLOAD=: 如果你使用udev在启动时探测硬件并加载相应模块。请设置为"yes",(适合缺省模块化的内核)。设置为"no"就得靠用户自己指定所需的有关信息。
    • MOD_BLACKLIST=: 模块黑名单。在下面的例子中,IPv6模块和pcspeaker都被列入黑名单而不被加载。
    • MODULES=: 指示了其它模块,如果你知道缺少哪个重要的模块可以加在里面。(hwdetect应该已经填写了最重要的模块):
# Scan hardware and load required modules at bootup
MOD_AUTOLOAD="yes"
# Module Blacklist - modules in this list will never be loaded by udev
MOD_BLACKLIST=(net-pf-10 pcspkr)
#
MODULES=(e100 eepro100 mii slhc snd-ac97-codec snd-intel8x0 soundcore)
  • NETWORKING部分
    • HOSTNAME=:设置为你喜欢的主机名(HOSTNAME)。
    • lo=: 不修改此行。
    • eth0=: 如果使用静态IP的话请调整网络接口的IP地址、掩码和广播地址。如果使用DHCP的话则设为eth0="dhcp"。
    • INTERFACES=: 指定使用哪些网络接口。如果你不使用DHCP来配置设备,而是通过命令行用ifconfig手动配置设备的话,这里的变量值(名字必须等于打算进行配置的设备名一样)必须和ifconfig里加入的内容一样。
    • gateway=: 如果你使用静态IP,将网关(gateway)地址设为路由器的IP。如果使用DHCP,则将此行用'#'注释掉。
    • ROUTES=: 如果你使用静态IP,则将'gateway'前面的'!'去掉。如果使用DHCP的话则不需要修改此行。


例如,当使用DHCP

HOSTNAME="arch"
lo="lo 127.0.0.1"
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" 
eth0="dhcp"
INTERFACES=(lo eth0)
#gateway="default gw 192.168.0.1"
ROUTES=(!gateway)
  • DAEMONS部分

这个序列罗列了位于/etc/rc.d/里需要在启动过程中启动的脚本名字。

  • 如果脚本名字前有惊叹号(!),表示它不被执行。
  • 如果脚本名字前有符号(@),则表示它会在后台被执行,启动序列不会等待此脚本成功执行完毕,而是继续执行下一个守护进程脚本。
  • daemon列表是有顺序的,系统根据先后执行相应的处理,所以不能随便放置,比如networkmanager就不能放在hal的前面。
Note: 这种'BSD风格'的初始化就是Arch的处理办法,而其它发行版则是在一个init.d目录里使用一大堆符号链接(一个简单的文件 vs 一整个目录)
1.3.6.2 关于守护进程

虽然此时你不需修改 daemons 行,不过还是有必要解释一下什么是守护进程,因为过一会儿在指南里我们会需要它。

和Windows服务(service)类似,守护进程(daemon)是一个运行于后台的程序,等待事件发生并提供服务。一个较好的例子是webserver等待请求以发送页面,还有SSH服务等待用户登录。这些都是全功能的程序,还有些守护进程工作起来并不是那么明显的。例如向日志文件里写信息的守护进程(如syslog、metalog),当系统空闲时降低CPU频率的守护进程(如cpufreq),以及提供图形化登录的守护进程(如gdm、kdm)。所有这些程序都可以被加入到daemons行中,在系统启动时被执行。本指南会对一些较有用的守护进程进行介绍。 按Ctrl+X退出nano编辑器。

1.3.6.3 磁盘和分区配置文件:/etc/fstab

fstab (file systems table的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。/etc/fstab文件一般被mount命令读取,以决定某一特定设备被挂载时所采用的选项。

这是一个/etc/fstab的例子:

#
# /etc/fstab: static file system information
#
# <file system>        <dir>         <type>    <options>                <dump> <pass>
none                   /dev/pts      devpts    defaults                    0      0
none                   /dev/shm      tmpfs     defaults                    0      0
#/dev/cdrom            /mnt/cdrom    iso9660   ro,user,noauto,unhide       0      0
#/dev/dvd              /mnt/dvd      udf       ro,user,noauto,unhide       0      0
#/dev/fd0              /mnt/fd0      vfat      user,noauto                 0      0
/dev/sda1              /             jfs       defaults,noatime,nodiratime 0      1 
/dev/sda2              /home         jfs       defaults,noatime,nodiratime 0      2
/dev/sda3               swap         swap      defaults                    0      0

Hwdetect应该已经有效地配置了一个可用的fstab,但最好还是简要地检查一下。

  • 如果你打算用hal来自动挂载DVD之类的媒体,为了给即将安装的hal做准备,你可能要注释掉cdrom和dvd条目。

在笔记本电脑和桌面系统上,可以给 / 和 /home加上'noatime'和'nodiratime'选项来提高速度、性能,同时还能省电。无论你采用何种文件系统,这样做都应该是安全的。


1.3.6.4 mkinitcpio.conf、modprobe.conf和kernel26-fallback.conf

此时我们无须去修改这些配置文件。mkinitcpio.conf负责配置ramdisk(例如从RAID、加密卷启动), modprobe.conf可以用来设置内核模块的的某些配置选项,而kernel26-fallback.conf则是initramfs后备配置。

1.3.6.5 (对于静态IP)网络配置文件:/etc/resolv.conf
  • 如果你使用DHCP,完全可以忽略此文件,缺省情况下dhcpd守护进程会自动创建和销毁此文件。

如果你使用静态IP,则可在/etc/resolv.conf里设置你的DNS服务器。每行的格式为nameserver <ip地址>,如果有多个DNS服务器则可以填入多行。

如果你使用路由器,也许会希望由你的路由器本身指定DNS服务器,而在resolv.conf里只是写入你的路由器的IP(同时也是/etc/rc.conf里的网关),例如:

nameserver 192.168.1.1

可选的,逐个加入你的DNS服务器,例如:

nameserver 4.2.2.1
nameserver 4.2.2.2

如果使用DHCP,你也可以在你的路由器里指定你的DNS服务器,或者如果你的ISP支持的话由ISP自动指定。

1.3.6.6 /etc/hosts

可以在此文件中加入你想要的hostname,必须和/etc/rc.conf里的设置一致,因此它应该象这样:

127.0.0.1   localhost.localdomain   localhost yourhostname

为了程序的兼容性,必须严格遵照这个格式,包括'localhost' 这项!错误的句法可能会导致网络性能低下和/或某些程序运行缓慢甚至无法运行。这对新手来说是十分普遍的错误。

对于大部分用户,只要把yourhostname加入到行末就就可以了,不过有些用户推荐以下句法:

127.0.0.1  yourhostname.domain.org localhost.localdomain   localhost  yourhostname

如果你使用静态IP,可以用这种句法加入新行:<static-ip> hostname.domainname.org hostname,例如:

192.168.1.100 yourhostname.domain.org  yourhostname
1.3.6.7 /etc/hosts.deny和/etc/hosts.allow

如果你打算使用 ssh 的话,请根据自己的需要修改此配置。缺省设置是拒绝所有进入的连接,而不只是ssh连接。编辑/etc/hosts.allow 文件加入:

  • 允许所有进入的ssh连接。
sshd:all 
  • 允许特定IP地址进入ssh连接。
sshd: 192.168.0.1
  • 允许你指定的网段 (地址从 192.168.0.0 到 192.168.0.255)
sshd: 192.168.0.
  • 允许某个IP地址范围
sshd: 10.0.0.0/255.255.255.0

如果你不打算使用 ssh,为安全起见请保持此文件的缺省设置(为空)。

1.3.6.8 /etc/locale.gen

locale-gen 命令从 /etc/locale.gen读取信息设定系统的locales. 这些设置稍后会被glibc 和其他一些支持本地化的程序或者库用于自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式, 字符排列方式和其他一些本地化的特殊标准。设置默认本地化的功能是类UNIX操作系统的一大特质

默认情况下 /etc/locale.gen 是一个仅包含注释文档的空文件.编辑后,这个文件将不会get touched again. 每次glibc更新之后locale-gen就会运行一次, 以在/etc/locale.gen重新生成所有的本地化设置.

选定你需要的本地化类型(移除前面的#即可), 比如:

en_US ISO-8859-1
en_US.UTF-8	

(你这里的设置必须和上文中提到的/etc/rc.conf 的设置一致哦.)

现在,安装程序将运行locale-gen 脚本, 以生成你设定的locales。你以后可以通过修改文件/etc/locale.gen变更你的locale, 然后使用根用户(root)运行'locale-gen'脚本使之生效。

Note 如果你选择并设置了locale, 他将提示你 "The current locale is invalid..." 错误。可能是因为大多数新Arch用户都会犯的普遍的错误,也是在论坛中问得最多的问题。

1.3.6.9 Root密码

最后,设置一个root密码并确定你已牢记它。返回主菜单然后接着安装启动加载器。

1.3.6.10 Pacman镜像

pacman选择一个软件仓库镜像站。记住主站 archlinux.org 是有流量限制的,下载速度限于50KB/s.。

在列表中仔细查看, 一般 xxx.cn 是中国镜像, xxx.au 是澳大利亚, 等等...

  • 如果你不熟悉现有的镜像和它们所处的位置,那就随便选一个。稍后你可以编辑 "/etc/pacman.d/mirrorlist", 或运行本指南后面提到的rankmirrors脚本,它将自动配置最接近你的镜像。

返回主菜单。

1.3.7 7、安装启动加载器

因为本案例中没有第二个操作系统,因此我们需要安装一个启动加载器。推荐选择GNU GRUB作为启动加载器。另外一种选择是LILO。缺省的GRUB配置(/boot/grub/menu.lst)应该足够了。唯一你可能想修改的是控制台的分辨率。将vga=<number>加入到第一个kernel行。(menu.lst中已列出一张分辨率和数字的对应表格可供查找。)

title  Arch Linux (Main)
root   (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro vga=773
initrd /boot/kernel26.img

参数"vga=773"表示1024x768分辨率、256色的framebuffer。

GRUB启动加载器安装到主引导区(本例中为sda)。

1.3.8 8、系统重启

退出安装程序。

  • 建议:为了方便接下来更进一步的安装配置,可以把光盘里的新手指南复制一份到电脑里,这样后面的安装就能查看相应的向导了
cp /arch/beginnersguide.txt /mnt/home/beginnersguide.txt

系统重启之后,进入控制台,可以使用下面命令查看这新手指南

less /home/beginnersguide.txt

所有安装完毕之后,可以删了这指南

rm /home/beginnersguide.txt

输入命令下面命令,重启:

reboot

一个新Arch Linux系统就会启动并进入登录提示符(你可能需要在BIOS将启动顺序改为优先从硬盘启动)。

祝贺你,一个崭新的Arch Linux基础系统闪亮登场了!

2 第二部分:配置和更新Arch Linux基础系统

你的新Arch Linux基础系统现在已是一个功能完整的GNU/Linux环境了,随时可以进行定制。从现在开始,你可以按自己的意图和需求改造它。由于arch是滚动发布的,所以安装包不一定是最新的系统,所以我们在安装完成之后,需要立即更新系统。

2.1 确保网络连接正常

用下面的命令检查网络是否可以正常使用:

ping www.gov.cn

如果返回信息不是类似下面这样,你需要手动配置网络

PING cc00008.h.cncssr.chinacache.net (60.217.241.144) 56(84) bytes of data.
64 bytes from 60.217.241.144: icmp_seq=1 ttl=54 time=44.5 ms
64 bytes from 60.217.241.144: icmp_seq=2 ttl=54 time=44.4 ms

2.2 更新系统

这里我们需要用到Arch Linux的软件包管理器pacman。

更新可安装软件的信息

pacman -Sy

升级已安装程序到最新版

pacman -Su

此时你可能会被提示先升级pacman自身。回答'yes',再执行上面两个命令,也可以用下面这个命令将上面两个命令合二为一

pacman -Syu

以后只需要执行pacman -Syu,就可以将系统里安装的软件全部更新到最新版

2.3 添加用户

出于安全考虑,root用户不适合日常使用。这里我们需要sudo程序,sudo程序用来让普通用户可以以root权限执行命令。

pacman -S sudo

创建普通用户账号,输入下列命令按照提示操作即可:

adduser

将用户加入几个常用用户组。

gpasswd -a 你的用户名 users,audio,lp,optical,storage,video,wheel,power

3 第三部分:安装X和配置ALSA

3.1 一、配置声卡:使用alsamixer

高级Linux声音架构(Advanced Linux Sound Architecture,简称ALSA)是一个Linux内核组件。它替换了原有的开放声音系统(OSS),为声卡提供了设备驱动。除了声音设备驱动以外,ALSA还给应用程序开发人员提供了一个用户空间库,可使更高级的API无需直接与内核驱动打交道就能使用驱动功能。

Note: Alsa已经包含进最新的内核kernel,udev 将在系统启动时自动检测硬件,并自动根据声卡加载相应的内核模块。虽然声卡已经在工作,但电脑的声音默认是静音。
Note: OSS4.1已经放出,相对于老的版本,这是一个显著的提升的版本,如果使用ALSA有问题, 或者是想尝试新的功能,可以使用 OSS4.1。

Alsa-utils软件包里的alsamixer让我们可以从命令行来配置声音设备。(你也可以稍后在X环境中使用alsamixer。) 默认情况下,内核加载模块snd_pcsp,这是一个alsa pc speaker模块。 snd_pcsp通常先于"你实际的"声卡模块加载。大部分情况下,这模块最后加载更好,因为可以让alsamixer正确控制需要的声卡。

在/etc/modprobe.d/modprobe.conf中加入这行,可以使得snd_pcsp最后加载:

options snd-pcsp index=2

当然,如果你不想让snd_pcsp加载,可以把它放入黑名单,或者是在/etc/rc.conf的Modules里禁止它:

MODULES=(... !snd_pcsp)
Note: 想要生效,需要释放并重新加载所有声音模块,当然,系统重启就可以简单解决这问题。
  • 安装alsa-utils软件包:
 pacman -S alsa-utils
  • 为了解决Alsa声卡独占问题,可以安装alsa-oss:
# pacman -S alsa-oss   
  • 把你的普通用户账号加入到audio用户组中:以root身份,运行/usr/bin/gpasswd程序:
gpasswd -a yourusername audio
  • 以普通用户身份运行:
alsamixer

用左右光标键移动到Master和PCM声道上,按M取消掉静音。用向上键增加音量。(70-90的音量是较合适的范围)按ESC键离开alsamixer。 有Speaker的,需要同时取消静音并调整之.

3.1.1 测试声音

以普通用户身份,使用 /usr/bin/aplay程序来测试你的声音配置:

aplay /usr/share/sounds/alsa/Front_Center.wav

你应该会听到一个女性声音说:“Front,center。”

3.1.2 保存声音配置

以root身份运行/usr/sbin/alsactl

alsactl store

这将创建'/etc/asound.state'文件,用来保存alsamixer的设置。

为了每次启动都可以自动恢复混音器设置,可将守护进程alsa加入到你的/etc/rc.conf中的DAEMONS列表。

nano /etc/rc.conf
DAEMONS=(syslog-ng network crond alsa)

注意,alsa守护进程在启动过程中仅仅是恢复音量设置。它和alsa音频库(和内核级API)是完全不同的。

3.2 二、安装图形界面

pacman -S xorg

3.2.1 2、安装显卡驱动

到这一步,已经有了运行X Server的基本软件包,接下来需要把显卡的驱动安装到电脑里(e.g. xf86-video-<name>). 最简单的X.org配置方法就是安装正确的驱动包,然后使用自动脚本对 /etc/X11/xorg.conf 进行初始化,比如使用 Xorg -configure(arch团队提供hwd工具,但据以前用户的反映,这个现在还老出问题,新手可以使用,以后有能力再配置其他).

如果不知道显卡类型,输入下面命令:

lspci | grep VGA

输入下面命令,查看所有开源驱动:

pacman -Ss xf86-video | less

下面是一个开源的显卡列表和相关说明:

  • xf86-video-apm Alliance ProMotion video driver
  • xf86-video-ark ark video driver
  • xf86-video-ati ati video driver
  • xf86-video-chips Chips and Technologies video driver
  • xf86-video-cirrus Cirrus Logic video driver
  • xf86-video-dummy dummy video driver
  • xf86-video-fbdev framebuffer video driver
  • xf86-video-glint GLINT/Permedia video driver
  • xf86-video-i128 Number 0 i128 video driver
  • xf86-video-i740 Intel i740 video driver
  • xf86-video-i810 Intel i810/i830/i9xx video drivers (deprecated - use -intel)
  • xf86-video-intel Newer Version of Intel i810/i830/i9xx video drivers
  • xf86-video-imstt Integrated Micro Solutions Twin Turbo vidoe driver
  • xf86-video-mach64 mach64 video driver
  • xf86-video-mga mga video driver (Matrox Graphics Adapter)
  • xf86-video-neomagic neomagic video driver
  • xf86-video-nouveau Open Source 3D acceleration driver for nVidia cards (eperimental)
  • xf86-video-nv nvidia nv video driver
  • xf86-video-openchrome Openchrome drivers
  • xf86-video-r128 ati Rage128 video driver
  • xf86-video-radeonhd Experimental Radeon HD video driver for r500 and r600 ATI cards
  • xf86-video-rendition Rendition video driver
  • xf86-video-s3 S3 video driver
  • xf86-video-s3virge S3 Virge video driver
  • xf86-video-savage savage video driver
  • xf86-video-siliconmotion siliconmotion video driver
  • xf86-video-sis SiS video driver
  • xf86-video-sisusb SiS USB video driver
  • xf86-video-tdfx tdfx video driver
  • xf86-video-trident Trident video driver
  • xf86-video-tseng tseng video driver
  • xf86-video-unichrome Unichrome video drivers
  • xf86-video-v4l v4l video driver
  • xf86-video-vesa vesa video driver
  • xf86-video-vga VGA 16 color video driver
  • xf86-video-via via video driver
  • xf86-video-vmware vmware video driver
  • xf86-video-voodoo voodoo video driver
  • 说明:vesa驱动是最通用的软图形驱动, 适用于大部分的显卡, 但没有3D加速等功能。所以如果实在无法找到合适的显卡驱动,就只好选用vesa, 理论上它应该能在任何显卡上工作。(这是原话,好像夸张了点!If you cannot find a suitable driver for your video chipset, vesa should work.)


  • 如果显卡是nVIDIA 或者ATI的,并想安装nVIDIA或者ATI官方提供的显卡驱动,请看下面。

3.2.2 nVIDIA图形显示卡

nVIDIA显示卡的驱动程序被许多人认为是非常好的质量,而且带有高级3D性能。

在设置您的你nVIDIA显卡之前您先要选择您要使用的驱动程序。Arch现在有3种不一样的nVIDIA驱动程序,各自支持不同型号的显卡:

1. nvidia-96xx 直到Ge Force 4的较新显卡

2. nvidia-173xx Geforce FX系列显卡

3. nvidia 在GF FX之后的最新GPU

Note: 一些特别老如TNT和TNT2之类的显卡所需的Nvidia-71xx系列闭源驱动,由于无法在Arch所用的新版Xorg下正常运行,并且nvidia也已不再继续支持它们,因此已被删除。你可以改用xf86-video-nv或者xf86-video-vesa驱动。

到nVIDIA主页,看哪个适合你电脑.区别只是安装,配置过程是一样的.

根据你的显卡,选择合适的nVIDIA驱动安装,比如:

pacman -S nvidia-96xx

nVIDIA软件包有个工具能自动升级你已有的nVIDIA驱动的配置文件/etc/X11/xorg.conf,输入下列命令即可实现:

nvidia-xconfig

它也有一些选项,用于更深入和具体地配置xorg.conf文件的内容和选项,例如:


nvidia-xconfig --composite --add-argb-glx-visuals

更详细的信息,请参考:nvidia-xconfig(1).

一些有用的妙法可用在“device“部分(你要清楚它们不一定都能对你的系统有用):

       Option          "RenderAccel" "true"
       Option          "NoLogo" "true"
       Option          "AGPFastWrite" "true"
       Option          "EnablePageFlip" "true"

将所有的DRI注释掉:

#    Load        "dri"

多检查几次你的/etc/X11/xorg.conf以确定你的默认的depth(色深),horizontal sync(水平同步),垂直刷新率,以及分辨率是可以接受的。

使用/sbin/depmod命令来更新内核模块依赖:

depmod -a

(也许需要重启。)

现在你可以跳到配置X来进一步熟悉,或者跳到测试 X继续安装过程。

3.2.3 ATI图形显示卡

ATI用户的驱动可以有几种选择。

  • xf86-video-ati软件包提供的开源radeon驱动。
    • 原创的、完全支持Radeon芯片组到X1950(最新的R500芯片组)的逆向工程开源驱动。对9200系列以前的显卡完全支持,可以稳定的提供全2D和3D加速。从9500到X1950完全支持2D加速特性,良好的3D加速,不过缺乏某些闭源驱动的特性(例如能源节省特性仍处于测试阶段)。xf86-video-ati支持从HD2xxx (R6xx)到最新的显卡,不过目前仅提供2D支持。
  • xf86-video-radeonhd软件包提供了开源的radeonhd驱动。
    • 此驱动支持ATI R500(Radeon X1000系列)以及更新的芯片组。该驱动由AMD提供文档,Novell为之开发。它支持RandR 1.2,目前的开发工作非常活跃。因此所支持的不同系列显卡的功能可以不一致。(有些用户反映它性能优异,而有些则说它很糟)。它还支持带音频的HDMI。
  • AUR中的Catalyst软件包提供了闭源fglrx驱动。稍后将介绍闭源驱动。

开源驱动通常可以满足大部分需求而且较少出问题。

安装radeonATI驱动:

# pacman -S xf86-video-ati libgl ati-dri

安装radeonhdATI驱动:

# pacman -S xf86-video-radeonhd libgl ati-dri

Arch的extra官方仓库曾经提供过闭源ATI驱动Catalyst的预编译包,不过在2009年3月以后,由于对闭源驱动的质量和开发进度不满意,官方取消了对它的支持。目前catalyst驱动可以在AUR中找到。

Warning: 闭源ATI驱动仅支持R600和更新的显卡(即HD2xxx及以上系列),不支持旧系列(X1xxx系列及以下)。

3.2.4 3、安装输入设备驱动软件包

最新的X需要你为包括键盘和鼠标在内的输入设备安装驱动。查看可用输入设备驱动的完整列表:

# pacman -Ss xf86-input | less

对大部分用户,xf86-input-keyboard和xf86-input-mouse应该可以满足基本配置。使用pacman来为你的输入设备安装需要的驱动,例如:

# pacman -S xf86-input-keyboard

3.3 三、配置X:创建并修改/etc/X11/xorg.conf(如有需要)

Note: 从X11R7.2版开始Xserver引入了自动配置特性。在大多情况下,即使没有xorg.conf文件它也能很好地运作。如果自动检测功能工作正常,而且你又不需要开启如 aiglx、compositing 等功能的话,你甚至不需要创建这个配置文件。

3.3.1 配置文件xorg.conf介绍

/etc/X11/xorg.conf 是你的 X-Window-System 的主要配置文件,你的 GUI(Graphical User Interface)的基础,它是一个普通的文本文件,里面由 “section” 和 “subsection” 来安排。重要的 section 有 Files, InputDevice, Module, Monitor, Modes, Screen, DeviceServerLayout。各个section安排的前后次序没有关系,对同一种类型的设备也可以有多个section,比如你可能有多个显示器,或者你的本本既有鼠标又有触摸板。

3.3.2 1、创建 /etc/X11/xorg.conf(可选)

高级用户可以手动创建他们的xorg.conf文件。一般用户可以使用程序/usr/bin/Xorg附加参数-configure来生成一个基本的配置文件;以root身份输入下面命令:

# Xorg -configure

这里生成的文件是/root/xorg.conf.new

把这文件复制到 /etc/X11/:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

3.3.3 更多的创建/etc/X11/xorg.conf的办法

  • 说明:如果你的电脑已经有一个配置好的xorg.conf文件,不管这个文件是在什么别的发行版下生成的,只要Xorg的版本一致,就可以把该文件复制到你的Arch系统的/etc/X11/目录下。
  • 可以使用程序/usr/bin/hwd生成xorg.conf。首先要安装这程序:
# pacman -S hwd

然后输入下面命令:

# hwd -xa
Note: 目前,hwd在生成的xorg.conf有一行失效。 使用完这程序后,需要手动删除或者是注释掉 Section "Files"下的RgbPath那一行。via nano /etc/X11/xorg.conf or your equivalent, as root/sudo.
  • 使用/usr/bin/xorgcfg 脚本生成xorg.conf:
# xorgcfg 
  • 使用/usr/bin/xorgconfig生成xorg.conf,这个程序以互动方式来创建该文件,输入下面命令运行:
# xorgconfig

3.3.4 2、Input设备热插拔问题:请在测试X前阅读

xorg 1.5.x版本里已经开启热插拔Input设备。

Note: 当热插拔开启后, X将清空xorg.conf里所有使用the kbd and mouse 驱动建立的设备。这将导致X被冻结,使得鼠标和键盘失去响应。下面是解决办法。方法只能二选一

有两个办法可以修复这一问题:

1) 配置 input设备热插拔:安装驱动 xf86-input-evdev,同时配置HAL使其能使用kbd/mouse驱动。

安装xf86-input-evdev:

# pacman -S xf86-input-evdev

在X.org相关进程启动前,启动守护进程hal:

# /etc/rc.d/hal start

把hal加入/etc/rc.conf里的DAEMONS列表里,这样每次电脑启动,都会自动开启hal。

说明: 开启hal必须首先有一个dbus用户和用户组,以root身份输入下面命令创建用户和用户组

usr/sbin/groupadd -g 81 dbus
usr/sbin/useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus

2) 关闭input设备热插拔:在/etc/X11/xorg.conf的ServerFlags段,加入参数Option "AutoAddDevices" "False" 这将忽略hal的硬件检测,并使用你xorg.conf的keyboard/mouse配置。步骤如下

# nano /etc/X11/xorg.conf

加入下面三行:

Section "ServerFlags"
    Option "AutoAddDevices" "False"
EndSection

3.3.5 3、测试 X

在所生成的xorg文件路径path/to/xorg.conf前,加入参数-config ,运行 X脚本,可以测试脚本配置是否正确。 对于 Xorg 7.3 或者之前的版本, 键入:

  1. Xorg -config xorg.conf.new

X 将启动,在屏幕中央会有一个白色的 X ,鼠标或是触摸板可以移动它,按 CTRL-Alt-Backspace 可以退出 X 从 Xorg 7.4 和更高的版本开始,这个测试将显示出一个黑色的屏幕,对于判断 X11 是否能正常工作会造成一些困扰。 可以通过 retro 选项使用旧的模式:

  1. Xorg -config xorg.conf.new -retro

如果看到黑灰的格子以及 X 型鼠标指针, 就表示配置成功了。 要退出测试, 需要同时按下 Ctrl+Alt+Fn 来切换到用于启动 X 的虚拟控制台 (F1 表示第一个虚拟控制台) 之后按 Ctrl+C。

3.3.6 对xorg.conf除错

如果 X 出现错误不能运行,你需要手动检查你的配置文件:

nano /root/xorg.conf.new
  • 确定 Xorg -configure 命令正确的识别了你的显卡,比如:
Section "Device"

       ...

       Driver  "savage"

       ...

EndSection
  • 确定里面的 Section "Monitor" 设置了水平同步率和垂直刷新率,如果没有要把它加上:
Section "Monitor"
       Identifier   "Monitor0"
       VendorName   "Monitor Vendor"
       ModelName    "Monitor Model"
       HorizSync     30.0 - 130.0 # Safe for LCD's
       VertRefresh   50.0 - 100.0 # Safe for LCD's and most CRT's.
EndSection

如果你不知道这些刷新率到底是多少,你就得查一下你显示器的说明书。

  • 在section "Screen"配置默认色深(color depth):
Section "Screen"
       Identifier "Screen0"
       Device     "Card0"
       Monitor    "Monitor0"
       DefaultDepth 24

(此处色深被设定为真彩24色。)


  • 在subsection "Display" 加入你需要的Modes, at least under the Depth 24 header, e.g.:
 SubSection "Display"
               Viewport   0 0
               Depth     24
               Modes "1024x768" "800x600" "640x480"
  • Add the following section, if you wish to enable eye candy which requires the composite extension:
Section "Extensions"
 	Option "Composite" "Enable"
EndSection
  • 上述调整完成后,再测试你的配置:
X -config /root/xorg.conf.new
  • 在确认 X session开启,没有错误之后,把测试好的配置文件移到 /etc/X11下,作为系统的xorg.conf配置文件:
mv /root/xorg.conf.new /etc/X11/xorg.conf 

接下来可以简单作测试 Simple baseline X test

3.3.7 调整键盘布局

3.3.7.1 如果开启了input热插拔
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/
# nano /etc/hal/fdi/policy/10-keymap.fdi

Edit the "input.xkb.layout" key and possibly the "input.xkb.variant" key in this file. Restart hal:

# /etc/rc.d/hal restart
3.3.7.2 如果关闭了input热插拔

Add option lines in the "InputDevice" section of the /etc/X11/xorg.conf file specifying the keyboard layout and variant:

Option "XkbLayout" "be"
Option "XkbVariant" ""

3.4 简单的命令行界面X测试(如果需要)

在安装了xorg、合适的显卡驱动、创建了一个/etc/X11/xorg.conf文件之后,如果想在安装完整桌面环境之前,快速测试下你的配置,使用xterm可以实现! Xterm是个简单的终端模拟程序,作为base xorg软件包的一部分会被自动安装,运行在X Server环境里。通过配置~/.xinitrc,Xterm可以让我们快速测试显卡驱动和配置文件/etc/X11/xorg.conf是否被正确配置。(另外,如果在没有/etc/X11/xorg.conf的情况下,你想测试下X 自动检测是否满意,也可以使用这个)

3.4.1 准备工作:配置~/.xinitrc

One of the main functions of this file is to dictate what X Window client is invoked with the /usr/bin/startx and/or /usr/bin/xinit program on a per-user basis. (The startx script is merely a front end to the more versatile xinit command.) There are vast amounts of additional configurable specifications and commands that may also be added to ~/.xinitrc as you further customize your system.

Note: .xinitrc is a so-called 'dot' (.) file. 在UNIX文件系统下,文件名以 (.)开头的,是 '隐藏文件',,使用普通的命令'ls' 将不显示这些文件,使用加了参数命令ls -a可以显示。The 'rc' denotes Run Commands and simply indicates that it is a configuration file. Since it controls how a program runs, it is (although historically incorrect) also said to stand for "Run Control".

startx/xinit will start the X server and clients. To determine the client to run, startx/xinit will first look to parse a .xinitrc file in the user's home directory. In the absence of file ~/.xinitrc, it defaults to the global xinitrc in the xinit library directory; /etc/X11/xinit/xinitrc, which defaults to using the TWM window manager. (说明: 如果没有文件~/.xinitrc, /etc/X11/xinit/xinitrc 将被作为替代来使用,这是个使用TWM and Xterm的默认配置。)

切换到普通, 非root用户:

# su - yourusername
  • /etc/skel/ contains files and directories to provide sane defaults for newly created user accounts. The name skel is derived from the word skeleton, because the files it contains form the basic structure for users' home directories.
  • 如果没有~/.xinitrc这个文件,到该目录下创建一个,或者从/etc/skel/复制一个同样的文件到你的home目录::
$ cp /etc/skel/.xinitrc ~/
  • 编辑文件:
$ nano ~/.xinitrc

加入这行"exec xterm"像下面这样:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#
exec xterm
# exec wmaker
# exec startkde
# exec icewm
# exec blackbox
# exec fluxbox
Note: 请确保~/.xinitrc里,以exec开头的,只有一行的注释被去掉。

3.4.2 开始执行测试

  • 以普通用户身份输入下面命令,开启X,开始测试你的配置:
$ startx

或者是这命令

$ xinit

此时会打开一个xterm session,你可以在这里测试your keyboard and its layout

  • 按Ctrl+Alt+Backspace,或者输入"exit"可以退出X Server。
  • 如果开启X出现问题,在终端,查看日志文件/var/log/Xorg.0.log的错误信息。

4 参见

个人工具
分类
化学
[×] 國學
学佛
[×] 数学
物理
生活
[×] 英语
读书
辞典
廣告