Difference between revisions of "Beginners' guide (简体中文)"

From ArchWiki
Jump to: navigation, search
(Update translation.)
(Update translation.)
Line 14: Line 14:
 
[[ru:Beginners' Guide/Installation]]
 
[[ru:Beginners' Guide/Installation]]
 
[[sr:Beginners' Guide/Installation]]
 
[[sr:Beginners' Guide/Installation]]
{{TranslationStatus (简体中文)|Beginners'_Guide/Installation|2012-10-04|226755}}
+
{{TranslationStatus (简体中文)|Beginners'_Guide/Installation|2012-10-05|226903}}
 
{{小贴士|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}
 
{{小贴士|本文是多页文档 '''新手指南 ''' 的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}
 
</noinclude>
 
</noinclude>
Line 159: Line 159:
 
{{bc|# pppoe-start}}
 
{{bc|# pppoe-start}}
  
许多运营商已经使用[[Wikipedia:IPv6|IPv6]], 需要调整{{ic|resolv.conf}}:
+
可能需要在{{ic|resolv.conf}}设置域名解析服务器:
 
  # echo nameserver 8.8.8.8 > /etc/resolv.conf
 
  # echo nameserver 8.8.8.8 > /etc/resolv.conf
  
Line 706: Line 706:
 
5. Install rEFInd to the UEFISYS partition (summarized from [[UEFI_Bootloaders#Using_rEFInd]]):
 
5. Install rEFInd to the UEFISYS partition (summarized from [[UEFI_Bootloaders#Using_rEFInd]]):
  
  # mkdir -p /boot/efi/EFI/refind
+
  # mkdir -p /boot/efi/EFI/arch/refind
  # cp /usr/lib/refind/refindx64.efi /boot/efi/EFI/refind/refindx64.efi
+
  # cp /usr/lib/refind/refindx64.efi /boot/efi/EFI/arch/refind/refindx64.efi
  # cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/refind.conf
+
  # cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/arch/refind/refind.conf
  # cp -r /usr/share/refind/icons /boot/efi/EFI/refind/icons
+
  # cp -r /usr/share/refind/icons /boot/efi/EFI/arch/refind/icons
  
 
6. Create a {{ic|refind_linux.conf}} file with the kernel parameters to be used by rEFInd:
 
6. Create a {{ic|refind_linux.conf}} file with the kernel parameters to be used by rEFInd:
Line 721: Line 721:
 
{{Warning|Using {{ic|efibootmgr}} on Apple Macs may brick the firmware and may need reflash of the motherboard ROM. For Macs, use {{AUR|mactel-boot}}, or "bless" from within Mac OS X.}}
 
{{Warning|Using {{ic|efibootmgr}} on Apple Macs may brick the firmware and may need reflash of the motherboard ROM. For Macs, use {{AUR|mactel-boot}}, or "bless" from within Mac OS X.}}
  
  # efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (rEFInd)" -l '\EFI\refind\refindx64.efi'
+
  # efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (rEFInd)" -l '\\EFI\\arch\\refind\\refindx64.efi'
  
 
{{Note|In the above command, X and Y denote the drive and partition of the UEFISYS partition. For example, in {{ic|/dev/sdc5}}, X is "c" and Y is "5".}}
 
{{Note|In the above command, X and Y denote the drive and partition of the UEFISYS partition. For example, in {{ic|/dev/sdc5}}, X is "c" and Y is "5".}}
Line 770: Line 770:
 
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 {{ic|pacman -Syu}} 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。
 
请记住 Arch 是 '''滚动发布''' 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 {{ic|pacman -Syu}} 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 '''重新启动'''。
  
pacman 输出会保存到 {{ic|/var/log/pacman.log}}。更新、管理软件包时遇到的常见问题请参阅[[FAQ#Package Management|这里]]。
+
pacman 输出会保存到 {{ic|/var/log/pacman.log}}。更新、管理软件包时遇到的常见问题请参阅[[Pacman (简体中文)]]和[[FAQ#Package Management|这里]]。
 
+
==== 忽略软件包====
+
执行 {{ic|pacman -Syu}} 会升级整个系统。可以单独阻止某个软件包升级,比如某个升级会导致系统问题的时候。这时,有两个选择:使用 pacman 命令行选项 --ignore 忽略它,(详情参见 {{ic|pacman -S --help}}) 或将软件包加入 /etc/pacman.conf 文件的 IgnorePkg 列表。更多信息请访问[[Pacman (简体中文)|pacman]]。
+
 
+
请注意有能力的用户应该用 pacman -Syu 保持系统最新而不是选择性的升级软件包。选择性的安装更有可能产生问题。大部分的抱怨都是因为选择性升级、非正常编译或在软件安装。 所以不建议使用 /etc/pacman.conf 中的'''IgnorePkg''',仅在极其个别的情况下使用。
+
  
 
===卸载分区并重启系统===
 
===卸载分区并重启系统===

Revision as of 12:01, 5 October 2012

翻译状态: 本文是英文页面 Beginners'_Guide/Installation翻译,最后翻译时间:2012-10-05,点击这里可以查看翻译后英文页面的改动。
小贴士: 本文是多页文档 新手指南 的一部分,如果想阅读单页文档,请点击这里

安装

您将看到一个命令行提示,自动以 root 登陆。

更改键盘映射表

系统默认使用美式键盘映射,个别用户会使用非美式键盘布局,通过以下的命令选择相应的键盘映射表:

# loadkeys layout

layout 替换成你的键盘布局,如frukbe-latin1这里有一个比较完整的键盘映射列表。

Template:Keypress启用新映射,有时终端字体缺乏对应的字形,会显示成白方块,安装完图形界面后就可以完整显示了。

建立网络连接

安装程序需要联网下载软件包,所以请选择一种联网方式并配置好网络,参看configuring network

自动设置

安装程序会自动运行 dhcp 配置有线连接。可以通过 ping 一个网站检查是否成功:

# ping -c 3 www.google.com
PING www.l.google.com (74.125.132.105) 56(84) bytes of data.
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms

--- www.l.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms

如果出现:ping: unknown host 错误,表示网络还不通,需要用下面方法手动配置。

有线连接

如果连接到有线网络,请使用如下方式配置。一般接口名是eth0。如果使用了多个网卡,请修改为相应的eth1, ethX,...

选用动态IP (DHCP)

如果连接的是有线以太网,并且有一台DHCP服务器(如,使用路由器),只需运行:

# dhcpcd

即可自动获得网络连接。如果有多个接口,可以指定具体接口:

# dhcpcd eth0

重新验证连接是否可用,如果成功,跳到#准备硬盘

选用静态 IP

如果不能访问DHCP服务器,或不使用DHCP,你需要分配一个静态IP地址.

你应该了解以下信息:

  • 静态IP地址,
  • 子网掩码,
  • 网关IP地址,
  • 域名服务器(DNS)IP地址,
  • 域名 (unless a local LAN, in which case you can make it up).

激活接口,例如eth0:

# ip link set eth0 up

添加地址:

# ip addr add <ip address>/<subnetmask> dev <interface>

例如:

# ip addr add 192.168.1.2/24 dev eth0

更多信息参看: man ip

用类似下面的命令添加网关,ip 地址替换为实际的网关地址:

# ip route add default via <ip address>

例如:

# ip route add default via 192.168.1.1

编辑 /etc/resolv.conf 如下, 替换你的DNS服务器IP地址和本地域名:

nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
注意: 目前,你最多只能包含3行 nameserver 字段.

这时应该已经有一个可用的有线网络了,如果没有,请查阅详细的配置网络页面。

无线网络

现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的在安装时执行的快速设置过程中会初始化live环境中的无线网络硬件。安装好系统以后,无线网络设置(或其他无线管理操作)需要再次执行一遍

并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。

注意: 下面的示例中使用 wlan0 作为接口,linksys 作为 ESSID。请根据实际情况修改。

基本过程为:

  • (可选)确定网络接口:
# lspci | grep -i net

如果使用 USB 适配器:

# lsusb 
  • /usr/sbin/iwconfig 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:
# iwconfig
 lo no wireless extensions.
 eth0 no wireless extensions.
 wlan0    unassociated  ESSID:""
          Mode:Managed  Channel=0  Access Point: Not-Associated
          Bit Rate:0 kb/s   Tx-Power=20 dBm   Sensitivity=8/0
          Retry limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

本例中 wlan0 为可用接口。

注意: 输出和上面不相似表示驱动没有载入,需要自己加入,详情请查看 无线设置
  • /sbin/ifconfig <interface> up 启用接口:
# ip link set wlan0 up

除了驱动,一小部分无线网卡还需要固件。启用网络时,缺少固件的接口会显示:

# ip link set wlan0 up
SIOCSIFFLAGS: No such file or directory

若不确定,可以用 dmesg 查询内核日志,看看有没有来自无线网卡的固件请求 Intel 芯片组在启动时请求固件的例子:

$ dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode

如果没有输出,表示系统的无线芯片不需要固件。

注意: 网卡需要的无线接口固件包在 live 环境中预先安装到了 /lib/firmware但是必须特别安装到实际的系统才能在重启后提供无线功能! 向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件!如有任何疑问,请查看 无线设置,这是常见错误。

然后使用netcfg提供的 wifi-menu 连接到网络:

# wifi-menu wlan0

到此,无线网络应该已经可用,如遇问题,请查看无线设置

xDSL (PPPoE), 模拟猫或者 ISDN

如果你用调制解调器或者以桥接模式连接到ISP,调用:

# pppoe-setup

如果配置正确,用以下命令就可以连接到 ISP:

# pppoe-start

可能需要在resolv.conf设置域名解析服务器:

# echo nameserver 8.8.8.8 > /etc/resolv.conf

模拟猫的配置,请阅读Direct Modem Connection

位于代理服务器后面

如果使用代理服务器,请在 /etc/wgetrc 中设置 http_proxy 和 ftp_proxy。

准备存储设备

警告: 磁盘分区有时会毁掉原分区内的数据。强烈建议先备份重要的数据。

硬盘在使用前需要先分区,然后将分区格式化为需要的文件系统.

磁盘分区也可以在执行 Arch 安装程序之前通过 GParted 或者其他工具进行。当前安装盘包含如下工具:

注意: 如果要安装 Arch Linux 到U盘(USB闪存盘),参见Installing Arch Linux on a USB key

分区示例

此例使用cfdisk,将 cfdisk 替换为gdisk可以使用新的GPT分区。

注意: 如果要设置 GRUB 为 BIOS-GPT 模式,需要创建一个 2 MiB 的 "BIOS 启动分区". 参阅GRUB#GPT_specific_instructions.
# cfdisk /dev/sda

示例硬盘将划分为15GB的根分区/、1GB的交换分区、剩下的作为/home

需要再次强调的是,真正的分区取决于个人的选择,此处的示例仅供参考。详细分区介绍请参阅Partitioning.

注意: 如果使用(U)EFI,则需要一个独立的分区保存 UEFI 系统分区,参阅[Unified_Extensible_Firmware_Interface#Create_an_UEFI_System_Partition_in_Linux
注意: 如果与与 windows 双系统启动,建议使用GPT而不是MBR. GPT 分区只能通过gdiskparted完成. GPT中介绍了它的优点。

If you have a BIOS motherboard (or plan on booting in BIOS compatibility mode) and you want to setup GRUB on a GPT-partitioned drive, you will need to create a 2 MiB "BIOS Boot Partition". Syslinux doesn't need one.

Root:

Swap:

’‘’Home‘’‘:

完成之后,分区界面应该类似下面这样:

Name    Flags     Part Type    FS Type           [Label]         Size (MB)
-------------------------------------------------------------------------
sda1    Boot       Primary     Linux                             15360       #root
sda2               Primary     Linux swap / Solaris              1024        #swap
sda3               Primary     Linux                             133000      #/home

注意,分区操作会破坏磁盘上的所有数据!请仔细检查分区是否正确。

如果要重新开始,可以选择 Quit 退出分区程序。确认无误后,选择 Write 并输入yes将修改写入磁盘。

分区之后,还需要用 mkfs 将分区格式化为选定的文件系统。本例中 root 和 home 分区都使用 ext4:

# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda3

创建交换分区并激活:

# mkswap /dev/sdaX && swapon /dev/sdaX

挂载分区

要检查当前磁盘的标识符和布局:

 # lsblk /dev/sda

记下将要安装上 Arch 的磁盘/分区。每个分区都能通过一个数字后缀来辨认。如:sda1即指某一磁盘的第一分区,而sda则表示整个磁盘。

注意要按照顺序挂载,先挂载根分区到/mnt.

 # mount /dev/sda1 /mnt

然后挂载/home分区和其余单独分区(/boot, /var 等)。

然后在 /mnt 中创建 home 目录并挂载分区:

# mkdir /mnt/home
# mount /dev/sda3 /mnt/home

如果单独建立了 boot 或其他分区,同样进行挂载。

 # mkdir /mnt/boot
 # mount /dev/sdaX /mnt/boot

如果是 UEFI 主板,挂载 UEFI 分区:

# mkdir /mnt/boot/efi
# mount /dev/sdaX /mnt/boot/efi

选择安装镜像

安装前需要编辑 /etc/pacman.d/mirrorlist,将最想使用的镜像放到前面。mirrorlist 文件也会被pacstrap复制到新系统,所以最好现在就设置好。

注意: ftp.archlinux.org 限速 50KB/s.

ArchLinux 镜像状态 报告了镜像的各种状态,包括网络问题,数据收集问题、上次同步时间等等。如果需要最新的软件包,最好手动检查一下 /etc/pacman.d/mirrorlist,确保文件包含了最新的镜像。

此外 镜像生成器 可以自动根据更新状况生成离你比较近的镜像列表。

用编辑器打开 /etc/pacman.d/mirrorlist 并取消离你近的镜像前的注释(删除前面的 '#' ),然后刷新软件包列表:

# pacman -Syy

传入两个 --refresh-y 会强制 pacman 刷新所有软件包列表,即使刚刚更新过。一般情况下,只要源有了更改,就应该使用 pacman -Syy 命令。

详情请参阅 Mirrors.

注意: Some issues have been reported in the Arch Linux forums regarding network problems that prevent pacman from updating/synchronizing repositories (see [1] and [2]). When installing Arch Linux natively, these issues have been resolved by replacing the default pacman file downloader with an alternative (see Improve Pacman Performance for more details). When installing Arch Linux as a guest OS in VirtualBox, this issue has also been addressed by using "Host interface" instead of "NAT" in the machine properties.

安装基本系统

注意: 安装前请设置系统时间,否则密钥验证会认为密钥过期,验证失败。设置方法位于 Time

使用 pacstrap 脚本安装基本系统:

# pacstrap /mnt base base-devel
base 
来自 [core] 软件源的最小基本系统。
base-devel 
来自 [core] 的附加工具例如makeautomake。大部分新手都应该安装它,后续扩展系统会用到它,安装AUR中软件包时,base-devel也是必须的。

如果不知道还需要什么软件,可以先跳过,后面可以用 pacman 安装。

注意: 如果需要连接无线网络,请选中wireless_tools软件包。一些无线接口还需要 ndiswrapper 和特定 firmware。如果使用 WPA 加密,需要 wpa_supplicant无线设置 页面将帮助您为无线设备选择正确的软件包。同时强烈推荐安装 netcfg,将帮助你在重启后设置网络连接。

生成 fstab

用下面命令生成 fstab。如果想使用 UUIDs,使用 -U 选项;如果想使用标签,用 -L 选项,完成后最好检查一下生成的/etc/fstab

Note: 后面如果出现问题,请不要再次运行genfstab,如果需要,手动编辑/etc/fstab。
# genfstab -p /mnt >> /mnt/etc/fstab

fstab(file systems table的缩写) 是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。/etc/fstab 文件一般被mount命令读取,mount 以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到 3/4 左右的时候,/etc/fstab 会调用 mount -a,mount 读取/etc/fstab 以确定挂载时使用的选项。如果 noauto 位于 /etc/fstab 中的文件系统之后,mount -a 不会在启动时挂载它。 仅根分区需要在最后使用 "1",其它可以使用 "2" 或 "0" (参阅字段定义).

Chroot 到新系统

下面要 chroot 到新安装的系统:

# arch-chroot /mnt

到这一步之后,开始系统的主要配置,如果下面文件不存在,需要手动创建。

理解并完全安装步骤设置是保证系统配置成功的关键。

配置系统

Locale

glibc 和其他一些支持本地化的程序或者库使用 Locales 自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。

需要编辑两个文件:locale.genlocale.conf.

  • 默认情况下 /etc/locale.gen 是一个仅包含注释文档的空文件。选定你需要的本地化类型(移除前面的#即可), 比如中文系统可以使用:
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

然后运行:

# locale-gen

每次glibc更新之后就会运行 locale-gen 一次, 重新生成 /etc/locale.gen 指定的本地化文件。

  • locale.conf 文件默认不存在,一般设置LANG就行了,它是其它设置的默认值。
/etc/locale.conf
LANG=zh_CN.UTF-8
LC_TIME=en_GB.UTF-8

要使用其它 LC_* 变量,先运行 locale 查看可用选项。高级示例可以参阅here.

警告: 强烈不建议使用LC_ALL变量,因为它会覆盖全部设置。

终端字体和键盘映射

编辑/etc/vconsole.conf.

KEYMAP
可用的键盘映射位于/usr/share/kbd/keymaps. 注意此设置仅对 TTY 起作用,不改变图形窗口或X的设置。
FONT 
可用字体位于 /usr/share/kbd/consolefonts/,一般可用留空。
FONT_MAP 
定义要加载的映射,请参考 man setfont

Example:

KEYMAP=us
FONT=
FONT_MAP=
Note: 详情参阅 Console fontsman vconsole.conf.

时区

编辑文件 /etc/timezone.示例:

Asia/Shanghai

更多选项请阅读man 5 timezone

同时,将/etc/localtime 软链接到 /usr/share/zoneinfo/Zone/SubZone.其中 ZoneSubzone 替换为所在时区,例如

# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

硬件时间

/etc/adjtime 中设置,默认、推荐的设置为UTC。详细信息请阅读Time (简体中文)

请在同一个机器使用同一个硬件时钟模式,否则它们会覆盖时间导致时间错乱。

可以用下面命令自动生成 /etc/adjtime

UTC(推荐使用):

注意: 硬件时钟使用 UTC 不代表显示时间时使用 UTC.
# hwclock --systohc --utc

localtime,不推荐,但 Windows 默认使用此方式:

警告: 使用 localtime 可能导致一些无法修复的 bug。但目前还没有取消此设置选项的计划。
# hwclock --systohc --localtime

如果要和 Windows 进行双系统启动:

  • Recommended: Set both Arch Linux and Windows to use UTC. A quick registry fix is needed. Also, be sure to prevent Windows from synchronizing the time on-line, because the hardware clock will default back to localtime. If you want such functionality (NTP sync), you should use ntpd on your Arch Linux installation instead.
  • Not recommended: Set Arch Linux to localtime and remove any time-related daemons from /etc/rc.conf. This will let Windows take care of hardware clock corrections and you will need to remember to boot into Windows at least two times a year (in Spring and Autumn) when DST kicks in. So please don't ask on the forums why the clock is one hour behind or ahead if you usually go for days or weeks without booting into Windows.

内核模块

Tip: 一般情况下 udev 会自动加载需要的模块,大部分用户都不需要手动修改。这里只需要加入真正需要的模块。

/etc/modules-load.d/中保存内核启动时加入模块的配置文件。每个配置文件已/etc/modules-load.d/<program>.conf的格式命名。配置文件中包含需要装入的内核列表,每个一行。空行和以 #; 开头的行直接被忽略。示例:

/etc/modules-load.d/virtio-net.conf
# Load virtio-net.ko at boot
virtio-net

Daemons

虽然此时不需修改,不过还是有必要解释一下什么是待命进程,因为在指南后面会需要它。

Daemons 表示那些运行于后台的程序,一般用于提供各种服务。一个明显的例子是网页服务器等待请求,服务器端的daemon程序将被请求的页面发送出去(例如:httpd) 或 SSH 服务器等待用户登录(例如:sshd)。有些daemon进程工作起来并不很显眼。例如写系统日志的待命进程(如syslog、metalog)和图形用户界面的程序(例如: gdm, kdm)。所有这些程序都可以被加入到daemons行中,随着系统启动而启动。

/etc/rc.conf 的 DAEMONS 行加入的程序将在开机时自动启动。DAEMONS 序列中加入的是位于 /etc/rc.d/ 目录的脚本名。

DAEMONS=(network @syslog-ng netfs @crond)
  • 如果脚本名字前有惊叹号(!),表示它不被执行。
  • 如果脚本名字前有"at"符号(@),则表示它会在后台被执行,启动序列不等待脚本运行成功就会继续执行下一脚本。例如"mpd" 依赖 "network",所以 network 后台启动将影响 mpd 的正常启动。
Tip: 使用 rc.d list 命令可以显示所有可用服务。

Hostname

hostname 写入 /etc/hostname.

myhostname

按喜好设置,这将会成为你计算机的名字。

hostname 写入 /etc/hosts,作为别名:

127.0.0.1   localhost.localdomain   localhost myhostname
::1         localhost.localdomain   localhost myhostname
注意: 127.0.0.1::1 是本地loopback网络接口的 IPv4 和 IPv6 地址。
警告: 为了程序的兼容性,必须严格遵照这个格式,错误的句法可能会导致网络性能低下或某些程序运行缓慢甚至无法运行。对新手来说这是十分普遍的错误。
注意: Arch Linux 安装程序的最近版本会在你修改 /etc/rc.conf 后自动将主机名加入。如果不是,请使用前面的指令更新文件信息。

如果你使用静态 IP,新加另外一行: <static-IP> <hostname.domainname.org> <hostname> 即:

192.168.1.100 myhostname.domain.org  myhostname
小贴士: 为了方便可以用 /etc/hosts 给本地网络或互联网上的主机起别名,例如::
64.233.169.103   www.google.com   g
192.168.1.90   media
192.168.1.88   data
这样在浏览器中输入 'g' 就可以访问 google,不用打 IP 地址也能访问多媒体和数据服务器。

Configure the network

You need to configure the network again, but this time for your newly installed environment. The procedure and prerequisites are very similar to the one described above, except we are going to make it persistent and automatically run at boot.

Note: For more in-depth information on network configration, visit Configuring Network and Wireless Setup.

Wired

If you only use a single fixed wired network connection, you can use the network daemon, a simple solution for both dynamic and static IP addressing.

First, ensure that the daemon is listed in the DAEMONS array:

# nano /etc/rc.conf
DAEMONS=(... network ...)

Then configure the NETWORKING section of /etc/rc.conf as follows, depending on your IP addressing type:

Dynamic IP

Assuming the network interface to activate at start is eth0, use this configuration:

interface=eth0
address=
netmask=
gateway=

Your DNS server addresses will be automatically filled in by the dhcpcd daemon.

Static IP

If you have a static IP address, use this configuration:

interface=eth0
address=192.168.0.2
netmask=255.255.255.0
broadcast=192.168.0.255
gateway=192.168.0.1

You will also need to add your name servers' (DNS) IP addresses and your local domain name to your /etc/resolv.conf like this:

nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
Tip: The network daemon is suitable for systems connecting wired to a single network. For multiple network configurations (e.g. using a laptop), it is recommended to use a network manager program, such as netcfg, which has been designed to manage both wired and wireless connections.

Wireless

The network daemon is not sufficient to handle wireless networking. You will need to install other programs to configure and manage wireless network profiles, such as netcfg.

NetworkManager and Wicd are other popular alternatives.

  • Install the required packages:
# pacman -S wireless_tools netcfg dialog

If you use WPA/WPA2 encryption, install:

# pacman -S wpa_supplicant wpa_actiond

If your wireless adapter requires a firmware (as described in the above Establish an internet connection section and also here), install the package containing your firmware. For example:

# pacman -S zd1211-firmware
  • Connect to the network with wifi-menu (optionally checking the interface name with ip link, but usually it's wlan0), which will generate a profile file in /etc/network.d named after the SSID. There are also templates available in /etc/network.d/examples/ for manual configuration.
# wifi-menu
  • Add net-auto-wireless to the DAEMONS array in /etc/rc.conf, daemon which will connect to known networks and gracefully handle roaming and disconnects:
Note: Netcfg also provides net-auto-wired, which can be used in conjunction with net-auto-wireless.
# nano /etc/rc.conf
DAEMONS=(... net-auto-wireless ...)
  • Make sure that the correct wireless interface (usually wlan0) is set in /etc/conf.d/netcfg:
# nano /etc/conf.d/netcfg
WIRELESS_INTERFACE="wlan0"

It is also possible to define a list of network profiles that should be automatically connected, using the AUTO_PROFILES variable in /etc/conf.d/netcfg. If AUTO_PROFILES is not set, all known wireless networks will be tried.

xDSL (PPPoE), analog modem or ISDN

For xDSL, analog modem (dial-up) and ISDN, see Direct Modem Connection.

配置 pacman

下面将使用 pacman 升级系统。 Pacman 是 Arch Linux 的软件包管理器(package manager),负责管理 Arch linux 的整个软件包系统,处理安装、删除、软件包降级(通过 cache)、自定义编译软件包、自动解决依赖关系删除和本地查找等等。现在将用 Pacman 从远程源下载软件包并安装到系统。

可以通过阅读man pacman(8),Pacman Wiki 页面与其它软件包管理器的对比熟悉了解其使用方法。

要修改 pacman 源或者选项,请编辑 /etc/pacman.conf.

软件包源 是一个可以下载安装程序软件包的存储位置。Arch Linux 软件包维护者 (开发者和 Trusted Users) 维护了一系列官方软件源,包含了关键和流行的软件,可以通过 pacman 直接获取。本文档将列出官方支持的软件源,更多信息及每个源的目的请参阅 官方源

大部分人会使用 [core], [extra] 和 [community]。如果想在 Arch x86_64 上运行 32 位应用程序,请在 /etc/pacman.conf 中加入如下内容以启用 [multilib] 源:

[multilib]
Include = /etc/pacman.d/mirrorlist

官方软件仓库包含了更详细的信息和各个软件源的目的。

Arch 用户仓库 包含 [community] 和 [unsupported] 分支。与其它分支不同,[unsupported] 不包含二进制文件,设计为无法通过 pacman 直接安装。此分支收集 Arch 用户通过 Arch 编译系统 编译软件的 PKGBUILD bash 脚本。[unsupported] 中的软件通常别的分支都没有,但 [unsupported] 软件包获得足够的投票后,一个 授信用户 会认领它,将其加入 [community] 二进制源。

注意: 一些 pacman 帮助程序 可以无缝访问 AUR.

创建初始 ramdisk 环境

注意: 大部分用户都不需要在安装时修改此文件。

如有需要,配置 /etc/mkinitcpio.conf(参阅 mkinitcpio) ,然后执行以下命令创建RAM盘:

# mkinitcpio -p linux

此文件负责微调初始内存文件系统 initramfs。(曾被称为初始化内存磁盘或 "initrd")。initramfs 是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入 IDE、SCSI、SATA 或 USB/FW 等设备所需模块。initramfs 手动或通过 udev 装入所需的模块后,会将控制权交给内核,继续启动过程。因此 initramfs 仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由 udev 装入。

如果根文件系统使用 RAID 或 LVM,必须配置正确的 HOOKS。详情请查看 RAID /etc/mkinitcpio。如果使用非 US 键盘,请添加 "keymap " 钩子以载入本地键盘映射。如果使用 USB 键盘,请添加 "usbinput" 。否则,如果出了什么问题无法启动,系统会要求输入密码以进行维护,但确无法使用键盘。将 Arch 安装到外部硬盘、CF 卡或 SD 卡时,记得添加 "usb"。最好加入 fsck 以在系统启动时进行磁盘检查。示例:

HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput fsck"

如果需要通过如下设备启动,请按需要配置 HOOKS: USB 设备、FireWire、PCMCIA、NFS、软 RAID、LVM2 卷、加密卷 和 DSDT 等。

Here you need to set the right hooks if the root is on a USB drive, if you use RAID, LVM, or if /usr is on a separate partition.

Edit /etc/mkinitcpio.conf as needed and re-generate the initramfs image with:

# mkinitcpio -p linux

设置 Root 密码并创建一般用户

passwd 设置一个root密码:

# passwd
警告: Linux 是个多用户环境。请不要使用 root 登录进行日常工作。这不仅仅是坏习惯,还非常危险。Root 账户仅是用来做管理任务的。

因此,使用 adduser 命令来添加一个普通的、非 root 帐号。程序将交换方式运行,要求用户输入所需信息。下例中将创建用户archie

交互方式

# adduser

正如例子中所示,建议仅在Login nameAdditional groups 输入内容,其它都留空。

Additional groups 中的列表是桌面系统的典型选择,特别推荐给新手:

  • audio - 让任务可以调用声卡以及相关软件
  • lp - 管理打印任务
  • optical - 管理光驱相关任务
  • storage - 管理存储设备
  • video - 视频任务以及硬件加速
  • wheel - 使用 sudo
  • games - 得到那些属于游戏组的权限,比如手柄
  • power - 笔记本用户需要这个
  • scanner - 使用扫描仪

更多用户组相关信息请阅读 Groups#User groups

接着会给出用户信息预览,可以取消或者继续。

New account will be created as follows:
---------------------------------------
Login name.......:  archie
UID..............:  [ Next available ]
Initial group....:  users
Additional groups:  audio,lp,optical,storage,video,games,power,scanner
Home directory...:  /home/archie
Shell............:  /bin/bash
Expiry date......:  [ Never ]

This is it... if you want to bail out, hit Control-C. Otherwise press
ENTER to go ahead and make the account.

按下 Template:Keypress 后将创建账户,并提升输入新用户的附加可选信息:

Creating new account...

Changing the user information for archie
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:

最后,提示输入新帐号的密码:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Account setup complete.

新非 root 用户创建完成,同时还建立了用户主目录和登录密码。

非交互方式

# useradd -m -g users -G audio,video,storage,power,optical,lp,scanner,games -s /bin/bash archie
# passwd archie

要输入附加信息,请使用chfn命令。

删除账户

如果你弄错了账户设置,或者你想删除一个账户,或者你想要换个账户名,或者任何其他什么原因,使用 /usr/sbin/userdel

# userdel -r [帐户名]
  • -r 此选项将在删除账户的同时删除其主目录及其中的文件,用户的 mail spool 中的文件也会被删除。

更多信息

更多信息位于用户和组,如果你想更换你的或者其他用户名,请参阅更改用户名。也可以查看 usermod(8)gpasswd(8) 的 man page。

安装配置启动加载器

For BIOS motherboards

BIOS 系统由三个供选择 - Syslinux, GRUB, 和 LILO. 按个人喜好选择一个启动加载器,下面仅介绍 Syslinux 和 GRUB。

  • Syslinux is (currently) limited to loading only files from the partition where it was installed. Its configuration file is considered to be easier to understand. An example configuration can be found here.
  • GRUB is more feature-rich and supports more complex scenarios. Its configuration file(s) is similar more to a scripting language, which may be difficult for beginners to manually write. It is recommended that they automatically generate one.
Syslinux

Install the syslinux package and then use the syslinux-install_update script to automatically install the files (-i), mark the partition active by setting the boot flag (-a), and install the MBR boot code (-m):

Note: If you have partitioned the drive as GPT, install gptfdisk package, as well (pacman -S gptfdisk), because it contains sgdisk, which will be used to set the GPT-specific boot flag.
# pacman -S syslinux
# syslinux-install_update -iam

编辑 /boot/syslinux/syslinux.cfg,将 / 指向正确的根分区,这是必须的,否则 Arch 启动不起来。将"sda3"修改为实际的根分区。同样,修改LABEL archfallback.

# nano /boot/syslinux/syslinux.cfg
...
LABEL arch
 ...
 APPEND root=/dev/sda3 ro

Syslinux 的详细使用和配置请阅读Syslinux

Grub 2
Note: For GPT-partitioned drives on BIOS motherboards, GRUB needs a 2 MiB "BIOS Boot Partition".
Note: Please do not use something like /dev/sda1 in the below command.

安装到 BIOS 主板系统:

# pacman -S grub-bios
# grub-install --target=i386-pc --recheck /dev/sda
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

虽然手动配置grub.cfg完全可以工作,建议用户自动生成这个文件。

要搜索硬盘上安装的其它操作系统,请先用 # pacman -S os-prober 安装 os-prober

# grub-mkconfig -o /boot/grub/grub.cfg

详细配置信息请阅读GRUB

For UEFI motherboards

For UEFI boot, the drive needs to be GPT-partitioned, and a UEFI System Partition (512 MiB or higher, FAT32, type EF00) must be present and mounted on /boot/efi. If you have followed this guide from the beginning, you've already done all of these.

While there are other UEFI bootloaders available, using EFISTUB is recommended. Below are instructions for setting up EFISTUB and GRUB.

Note: Syslinux does not yet support UEFI.
EFISTUB

The Linux kernel can act as its own bootloader using EFISTUB. This is the UEFI boot method recommended by developers and simpler compared to grub-efi-x86_64. The below steps set up rEFInd (a fork of rEFIt) to provide a menu for EFISTUB kernels, as well as for booting other UEFI bootloaders. You can also use gummiboot (not tested) instead of rEFInd. Both rEFInd and gummiboot can detect Windows UEFI bootloader in case of dual-boot.

1. Boot in UEFI mode and load efivars kernel module before chrooting:

# modprobe efivars      # before chrooting

2. Mount the UEFISYS partition at /mnt/boot/efi, chroot and copy the kernel and initramfs files to /boot/efi.

3. Every time the kernel and initramfs files are updated in /boot, they need to be updated in /boot/efi/EFI/arch. This can be automated either using systemd or using incron (for non-systemd setups).

4. Install the following packages:

# pacman -S refind-efi-x86_64 efibootmgr

5. Install rEFInd to the UEFISYS partition (summarized from UEFI_Bootloaders#Using_rEFInd):

# mkdir -p /boot/efi/EFI/arch/refind
# cp /usr/lib/refind/refindx64.efi /boot/efi/EFI/arch/refind/refindx64.efi
# cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/arch/refind/refind.conf
# cp -r /usr/share/refind/icons /boot/efi/EFI/arch/refind/icons

6. Create a refind_linux.conf file with the kernel parameters to be used by rEFInd:

# nano /boot/efi/EFI/arch/refind_linux.conf
"Boot to X"          "root=/dev/sdaX ro rootfstype=ext4 systemd.unit=graphical.target"
"Boot to console"    "root=/dev/sdaX ro rootfstype=ext4 systemd.unit=multi-user.target"

7. Add rEFInd to UEFI boot menu using efibootmgr.

Warning: Using efibootmgr on Apple Macs may brick the firmware and may need reflash of the motherboard ROM. For Macs, use mactel-bootAUR, or "bless" from within Mac OS X.
# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (rEFInd)" -l '\\EFI\\arch\\refind\\refindx64.efi'
Note: In the above command, X and Y denote the drive and partition of the UEFISYS partition. For example, in /dev/sdc5, X is "c" and Y is "5".

8. (Optional) As a fallback, in case efibootmgr created boot entry does not work, copy refindx64.efi to /boot/efi/EFI/boot/bootx64.efi as follows:

# cp -r /boot/efi/EFI/arch/refind/* /boot/efi/EFI/boot/
# mv /boot/efi/EFI/boot/refindx64.efi to /boot/efi/EFI/boot/bootx64.efi
GRUB
Note: In case you have a system with 32-bit EFI, like pre-2008 Macs, install grub-efi-i386 instead, and use --target=i386-efi.
# pacman -S grub-efi-x86_64 efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Run the next command to create a menu entry for GRUB in the UEFI boot menu. See efibootmgr for more info.

# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (GRUB)" -l '\\EFI\\arch_grub\\grubx64.efi'

While using a manually created grub.cfg is absolutely fine, it's recommended that beginners automatically generate one:

Tip: To automatically search for other operating systems on your computer, install os-prober before generating it:
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg

For more information on configuring and using GRUB, see GRUB.

更新系统

警告: 进行系统升级时请小心,执行前请仔细阅读并理解 这个帖子

更新前,请阅读 新闻 (或者 通告邮件列表)。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。

同步、刷新、升级整个系统:

# pacman -Syu

或者:

# pacman --sync --refresh --sysupgrade

pacman 会从服务器下载 /etc/pacman.conf 中定义的主软件包列表,进行所有可用的升级操作。此时可能会提示说 pacman 自己需要先进性升级,如果这样,请选择是并在完成后重新执行 pacman -Syu

如果升级了内核,请重启系统。

注意: 时不时的,升级之后需要用户执行配置修改,详情参见Pacnew and Pacsave Files

请记住 Arch 是 滚动发布 的发行版。这意味着升级到新版本不需要重装或者重新建构。只需要定期执行 pacman -Syu 就可以将系统保持在最新前沿状态。升级后,系统完全是最新的。如果内核升级了,请记得 重新启动

pacman 输出会保存到 /var/log/pacman.log。更新、管理软件包时遇到的常见问题请参阅Pacman (简体中文)这里

卸载分区并重启系统

如果还在 chroot 环境,先用 exit 命令退出系统:

# exit

卸载/mnt中挂载的系统:

# umount /mnt/{boot,home,}

重启:

# reboot
小贴士: 确保移除安装媒介并修改 BIOS 中的启动选项;否则可能会启动后会回到安装界面!

Template:Beginners' Guide navigation (简体中文)