Arch Linux 安装指南(ArchISO 2014.10)

其他Linux/Unix/BSD/OSX等发行版讨论
回复
nopriler
帖子: 352
注册时间: 2011-01-23 15:05

Arch Linux 安装指南(ArchISO 2014.10)

#1

帖子 nopriler » 2013-08-22 13:47

  1. +++
    +++ 推荐跳转
    +++ +++++++++++++++++++++++++++
  2. +++
    +++ 关于本指南
    +++ +++++++++++++++++++++++++++
    • 安装问题请在本版发帖提问。
    • 错误与不足之处望不吝跟帖指出。
  3. +++
    +++ 安装前需了解的
    +++ +++++++++++++++++++++++++++
    1. ---
      --- 关于 Arch Linux
      --- ---------------------------
    2. ---
      --- pacman
      --- ---------------------------
      pacman 是 Arch Linux 的软件包管理器

      命令

      代码: 全选

      # pacman -S <软件包> ...
      可安装软件仓库中的<软件包>。下文中的软件均可通过这种方式安装。
    3. ---
      --- 符号说明
      --- ---------------------------
      • 命令行提示符:# 表示命令需要由超级用户(root)执行;$ 表示命令可以或只能由普通用户执行
      • 注释符:本文涉及到的配置文件中,# 都表示注释,即不起作用的部分。反注释即为去掉注释符。
  4. +++
    +++ 安装前准备
    +++ +++++++++++++++++++++++++++
    1. ---
      --- 获取 ArchISO
      --- ---------------------------
      下载后务必进行文件校验

      最低系统要求:
      • CPU : i686 兼容
      • RAM : 64 MiB
      • 存储:800 MiB
      下载页面
    2. ---
      --- 准备安装介质
      --- ---------------------------
      请确定安装目标支持引导的介质。
    3. ---
      --- 引导安装介质
      --- ---------------------------
      1. 修改 PC 或 虚拟机的启动顺序:
        • PC?移步随机手册
          进入 BIOS/UEFI 设置的常见方式:POST 期间按下[Delete]、[F1]、[F2]、[F11]或[F12]键。
          调出 BIOS/UEFI 引导菜单的常见方式:POST 期间按下[Esc]、[F8]键或[F12]键。
        • 虚拟机?移步帮助手册
      2. // 出现Arch Linux 启动菜单 // 根据平台选择 Boot Arch Linux (x86_64 或 i686)
        以 UEFI 模式启动时可能会跳过引导界面
      无法引导 ArchISO ?移步 Arch Wiki > 引导问题
    4. ---
      --- (重要)是否运行于 UEFI 模式?
      --- ---------------------------

      代码: 全选

      # efivar -l
      若 efivar 正确地列出了 UEFI 变量,则 UEFI 模式已启用。

      这是一个启用了 UEFI 模式的例子(部分):

      代码: 全选

      # efivar -l
      eb704011-1402-11d3-8e77-00a0c969723b-MTC
      e660597e-b94d-4209-9c80-1805b5d19b69-Test1
      e660597e-b94d-4209-9c80-1805b5d19b69-Test0
      ...
      
      安装目标是否支持 UEFI 及 UEFI 模式启用与否会影响安装走向。
  5. +++
    +++ 配置安装环境
    +++ +++++++++++++++++++++++++++
    1. ---
      --- 键盘布局
      --- ---------------------------
      预设:US (美式键盘)

      代码: 全选

      # loadkeys <键盘布局>
      查看可用键盘布局:

      代码: 全选

      # localectl list-keymaps
    2. ---
      --- 终端字体
      --- ---------------------------

      代码: 全选

      # setfornt <终端字体>
      查看可用终端字体:

      代码: 全选

      # ls /usr/share/kbd/consolefonts/
    3. ---
      --- 显示语言y
      --- ---------------------------
      预设:en_US.UTF-8(美式英语)
      编辑 /etc/locale.gen 反注释需要的行,并执行:

      代码: 全选

      # locale-gen
      # export LANG=<语言>
      
      终端不支持中文显示,不推荐中文用户修改此项
    4. ---
      --- 网络连接
      --- ---------------------------
      因系统安装时需下载软件包,故网络连接是必需的。
      • 有线连接:已自动连接。
      • 无线连接:

        代码: 全选

        # wifi-menu
      • ADSL 宽带连接:
        1. 配置:

          代码: 全选

          # pppoe-setup
          配置实例:[topic=2652]本论坛 / ADSL设置DSL (PPPoE)[/topic]
        2. 连接:

          代码: 全选

          # systemctl start adsl
      • 其他连接方式
    5. ---
      --- 为 pacman 选择镜像
      --- ---------------------------
      Arch Linux 在世界各地都有官方软件仓库的镜像站。将软件仓库设置为地理位置较近的镜像站通常可获得更高的下载速度。镜像站点在 /etc/pacman.d/mirrorlist 中指定。
      1. 编辑 /etc/pacman.d/mirrorlist 选择镜像站。

        使用网易开源镜像站:

        代码: 全选

        # sed 's/^S/#S/g' /etc/pacman.d/mirrorlist | sed '/163/s/^#S/S/' > /etc/pacman.d/mirrorlist
        [/color]
        该文件将应用至新系统中。
      2. 更新本地数据库

        代码: 全选

        # pacman -Syy
  6. +++
    +++ 分区Arch Wiki
    +++ +++++++++++++++++
    在本节用户须在 MBRGPT 之间做出选择。

    UEFI 系统仅支持 GPT;BIOS 系统支持 MBR,部分支持 GPT。

    Linux 上所有的存储设备都会作为文件出现在 /dev/,并命名为 sd<X>,<X>由小写字母构成。其上的分区被命名为 sd<X><Y>,<Y>为数字。
    1. ---
      --- 分区方案
      --- ---------------------------
      基本分区要求:
      • 至少一个分区(类型代码:83;文件系统:见下文)
      • 其他要求:
        • BIOS + GPT 系统要求:硬盘首留空 1007 KiB
        • UEFI 系统要求:一个 UEFI 分区(类型代码:ef;文件系统:FAT;大小 >= 512 MiB)
        • 休眠要求:一个 swap 分区(类型代码:82;文件系统:swap;大小 >= 512 MiB)
      若安装目标内存 <= 2GB,建议添加一个 swap 分区(类型代码:82;建议大小 = 内存大小 或 2 * 内存大小)
      推荐为 /home 设置单独分区

      一个例子:

      代码: 全选

      $ lsblk /dev/sda -o NAME,FSTYPE,SIZE,MOUNTPOINT    # 名称,文件系统,大小,挂载点
      NAME   FSTYPE   SIZE MOUNTPOINT
      sda           120G 
      ├─sda1 vfat    512M /boot/EFI
      ├─sda2 ext4    36G /
      ├─sda3 ext4    79.5G /home
      └─sda4 swap     4G [SWAP]
      
    2. ---
      --- 分区
      --- ---------------------------
      执行分区操作前,请用 lsblk 确定目标磁盘及目标分区。
      分区用软件:
      • 通用:partedGParted(推荐)
      • MBR:cfdisk
      • GPT:cgdisk
    3. ---
      --- 创建文件系统
      --- ---------------------------
      文件系统要求:
      • 支持 Linux 文件权限
      推荐使用 ext4 文件系统
      格式化工具:

      代码: 全选

      $ ls -1 /usr/bin/ | grep -E 'mkfs|mkswap'
      ...
      mkfs.ext4*    # ext4 格式化工具
      ...
      mkfs.fat*    # fat 格式化工具
      ...
      mkswap*    # swap 格式化工具
      
      一个例子:

      代码: 全选

      # mkfs.fat -F32 /dev/sda1    # 创建 FAT32 分区
      # mkfs.ext4 /dev/sda2    # 创建 ext4 分区
      # mkfs.ext4 /dev/sda3    # 创建 ext4 分区
      # mkswap /dev/sda4    # 创建 swap 分区
      
  7. +++
    +++ 系统安装
    +++ +++++++++++++++++++++++++++
    /root/install.txt 是一份简易的安装指南,供安装时查阅。
    1. ---
      --- 挂载目标分区
      --- ---------------------------
      从 / 开始依次挂载目标分区。

      挂载命令:

      代码: 全选

      # mount <设备> <挂载点(目录)>
      一个例子:

      代码: 全选

      # mount /dev/sda2 /mnt    # 挂载 /
      # mkdir /mnt/home    # 创建 /home 挂载点
      # mount /dev/sda3 /mnt/home    # 挂载 /home
      # mkdir -p /mnt/boot/EFI    # 创建 UEFI 挂载点
      # mount /dev/sda1 /mnt/boot/EFI    # 挂载 UEFI 分区
      
    2. ---
      --- 安装基础系统
      --- ---------------------------

      代码: 全选

      # pacstrap -i < / 挂载点> base
    3. ---
      --- 生成 fstab
      --- ---------------------------
      1. 生成 fstab:

        代码: 全选

        # genfstab -U -p < / 挂载点> >> < / 挂载点>/etc/fstab
        
      2. (重要)检查 fstab 是否正确生成:

        代码: 全选

        # nano < / 挂载点>/etc/fstab
        
        勿重复执行 genfstab,编辑 fstab 修正错误。
        参考检查项:
        • / 所在分区的 <pass> 应该为 1,其他分区为 2
        • btrfs 分区(无论是否为 / 所在分区)及 swap 分区的应该为 0
  8. +++
    +++ 配置基础系统
    +++ +++++++++++++++++
    ---
    --- 进入新系统
    --- ---------------------------

    代码: 全选

    # arch-chroot < / 挂载点> /bin/bash
    • ---
      --- Locale(Arch Wiki
      --- ---------------------------
      1. 编辑 /etc/locale.gen,反注释需要的 locale:

        代码: 全选

        # nano /etc/locale.gen
        简体中文用户可反注释

        代码: 全选

        #zh_CN.UTF-8 UTF-8
      2. 更新设置:

        代码: 全选

        # locale-gen
      3. 设置默认语言

        代码: 全选

        # echo LANG=<locale>  > /etc/locale.conf
        简体中文用户可执行:

        代码: 全选

        # echo LANG=zh_CN.UTF-8  > /etc/locale.conf
      4. 键盘布局和终端字体的设置见上文
    • ---
      --- 时区
      --- ---------------------------

      代码: 全选

      # ln -s /usr/share/zoneinfo/<时区>/<子时区> /etc/localtime
      查看时区:
      • 时区:

        代码: 全选

        # ls /usr/share/zoneinfo/
      • 子时区:

        代码: 全选

        # ls /usr/share/zoneinfo/<时区>/
      中国大陆用户可执行:

      代码: 全选

      # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      若出现“File exists(文件已存在)”,请加上 -f 覆盖。
    • ---
      --- 硬件时间
      --- ---------------------------

      代码: 全选

      # hwclock --systohc --<硬件时间>
      可选硬件时间:
      • (推荐)UTC 时间:utc
      • 本地时间:localtime
      使用本地时间可能会引起某些不可修复的bug。
    • ---
      --- (可选)内核模块
      --- ---------------------------
      需配置内核模块?移步 Arch Wiki > 内核模块
    • ---
      --- 主机名
      --- ---------------------------

      代码: 全选

      # echo <主机名> > /etc/hostname
      # sed -i '/127.0.0.1/s/$/\t<主机名>/' /etc/hosts
      
      完成后看起来像这样:

      代码: 全选

      # cat /etc/hostname
      <主机名>
      # cat /etc/hosts
      #
      # /etc/hosts: static lookup table for host names
      #
      
      #<ip-address>    <hostname.domain.org>    <hostname>
      127.0.0.1    localhost.localdomain    localhost    <主机名>
      ::1        localhost.localdomain    localhost
      
      # End of file
      
    • ---
      --- 网络
      --- ---------------------------
      • 有线连接:

        代码: 全选

        # systemctl start dhcpcd.service    # 连接
        # systemctl enable dhcpcd.service    # 自动连接
        
      • 无线连接:
        1. 安装必要包:

          代码: 全选

          # pacman -S dialog
        2. 连接:

          代码: 全选

          # wifi-menu    # 连接
      • ADSL 宽带连接:
        1. 安装必要包:

          代码: 全选

          # pacman -S rp-pppoe
        2. 配置:

          代码: 全选

          # pppoe-setup
        3. 连接:

          代码: 全选

          # systemctl start adsl    # 连接
          # systemctl enable adsl    # 自动连接
          
      • 其他
    • ---
      --- 创建 ramdisk
      --- ---------------------------

      代码: 全选

      # mkinitcpio -p linux
      如需配置,请在执行 mkinitcpio 前编辑/etc/mkinitcpio.conf
    • ---
      --- (重要)为 root 用户设置密码
      --- ---------------------------

      代码: 全选

      # passwd
    • ---
      --- 安装引导器
      --- ---------------------------
      • Grub \ Arch Wiki
        1. 安装Grub:
          • BIOS + MBR:

            代码: 全选

            # pacman -S grub
            # grub-install --target=i386-pc --recheck /dev/<目标磁盘>
            
          • UEFI:

            代码: 全选

            # pacman -S grub efibootmgr
            # grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=arch_grub --recheck
            
        2. 生成配置文件:

          代码: 全选

          # grub-mkconfig -o /boot/grub/grub.cfg
        如需引导其他操作系统,请在执行 grub-mkconfig 前安装 os-prober、lsb-release。
      • 其他引导器
  9. +++
    +++ 卸载分区并重启
    +++ +++++++++++++++++++++++++++
    1. 代码: 全选

      # exit    # 退回安装环境
      # umount -R < / 挂载点>    # 卸载新分区
      # reboot    # 重启
      
    2. 移除安装介质
  10. +++
    +++ 用户管理
    +++ +++++++++++++++++++++++++++
    Linux是多用户系统,通过用户/用户组机制可以控制不同人对机器的访问权限。
    1. ---
      --- (建议)添加用户
      --- ---------------------------
      添加一个典型的桌面用户:

      代码: 全选

      # useradd -m -g users -s /bin/bash <用户名>
    2. ---
      --- 设置密码
      --- ---------------------------
      添加登录密码:

      代码: 全选

      # passwd <用户名>
    一些操作,如系统更新,需要 root 权限。sudo 允许普通用户在不知道 root 用户 密码的情况下获得 root 权限。
    配置 sudo?移步 Arch Wiki > sudo

  11. +++
    +++ 声音管理 \ Arch Wiki
    +++ +++++++++++++++++++++++++++
    许多桌面环境亦提供了声音控制功能。若跳过本节,可稍后进行设置。
    Arch Linux默认开启了声音支持,默认静音。用户可通过 alsamixer(所属包:alsa-utils) 取消静音:
    1. 方向键 选中 Master 和 PCM
    2. [M] 取消静音
  12. +++
    +++ 配置图形界面
    +++ +++++++++++++++++++++++++++
    1. ---
      --- 安装显卡驱动
      --- ---------------------------
      1. 确定显卡型号:

        代码: 全选

        $ lspci | grep VGA
      2. 安装驱动:

        代码: 全选

        # pacman -S <驱动包>
        官方仓库提供的驱动包:
        • 通用:xf86-video-vesa
        • Intel 显卡:xf86-video-intel
        • nVidia 显卡:
          • GeForce 7 以上:xf86-video-nouveau;nvidia
          • GeForce 6/7:xf86-video-nouveau;nvidia-304xx
        • AMD/ATI 显卡:xf86-video-ati
      需安装 AMD Catalyst?移步 Arch Wiki > AMD Catalyst
    2. ---
      --- 安装 X 窗口系统
      --- ---------------------------
      X 窗口系统(X11 / X)是诸多桌面环境的基础。
      1. 安装 Xorg Server

        代码: 全选

        # pacman -S xorg-server xorg-server-utils
      2. (可选)添加触摸板支持

        代码: 全选

        # pacman -S xf86-input-synaptics
    3. ---
      --- (可选、推荐)字体配置(Arch Wiki
      --- ---------------------------

      代码: 全选

      # pacman -S ttf-dejavu wqy-microhei
    4. ---
      --- 安装桌面环境
      --- ---------------------------

      代码: 全选

      # pacman -S <桌面环境组>
      官方仓库提供的桌面环境有
    5. ---
      --- 启动桌面环境
      --- ---------------------------
      启动方式主要有两种:
  13. +++
    +++ 安装输入法
    +++ +++++++++++++++++++++++++++
    • fcitx:
      1. 安装 fcitx:

        代码: 全选

        # pacman -S fcitx-im fcitx-configtool
      2. 配置:

        代码: 全选

        export GTK_IM_MODULE=fcitx
        export QT_IM_MODULE=fcitx
        export XMODIFIERS="@im=fcitx"
        
        • KDM、GDM、LightDM 等显示管理器的用户,向 ~/.xprofile添加以上命令。
        • startx 或 slim 的用户,向 ~/.xinitrc,在 exec 语句前添加以上命令。
        在 GNOME 上使用 fcitx 须禁用 iBus:

        代码: 全选

        $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
        [/color]
      3. 添加输入法:

        代码: 全选

        $ fcitx-configtool
      安装其他输入法引擎:

      代码: 全选

      # pacman -S <输入法引擎>
      官方仓库提供的 fcitx 输入法引擎有
      • 拼音输入法:fcitx-cloudpinyin fcitx-googlepinyin fcitx-libpinyin fcitx-sunpinyin
      • 五笔、郑码输入法:fcitx-table-extra
    • iBus
  14. +++
    +++ AUR - Arch 用户软件仓库(网站 | Arch Wiki
    +++ +++++++++++++++++++++++++++
    Arch Linux 官方软件仓库并没有也无法包含所有的软件。AUR 是这样一个地方:用户可以上传自己所写的 PKGBUILD 脚本,也可以下载其他用户上传的 PKGBUILD 脚本用于生成软件包。官方会定期从中挑选软件包进入 [community] 仓库。

    Yaourt 是由社区编写的脚本,方便用户从终端获取 AUR 上软件。(Arch Wiki
上次由 nopriler 在 2014-10-09 13:28,总共编辑 7 次。
头像
只是说
帖子: 1140
注册时间: 2012-03-12 22:44
系统: 贱兔
来自: 株洲

Re: Arch Linux 安装指南(ArchISO 2013.08.01 适用)

#2

帖子 只是说 » 2013-08-22 14:21

辛苦了,mark一记。
我的博客
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: Arch Linux 安装指南(ArchISO 2013.08.01 适用)

#3

帖子 YeLee » 2013-08-22 17:49

不会装系统的新手过来支持一个了。 :em11
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
jtshs256
帖子: 22323
注册时间: 2010-07-19 21:41
系统: OS X

Re: Arch Linux 安装指南(ArchISO 2013.08.01 适用)

#4

帖子 jtshs256 » 2013-08-22 18:58

强大的排版…… :em11
好吧其实是来看轮子卖萌的……
躺平
lethe
帖子: 98
注册时间: 2008-04-29 18:59

Re: Arch Linux 安装指南(ArchISO 2013.08.01 适用)

#5

帖子 lethe » 2013-08-23 8:56

一直是硬盘安装
zhong
帖子: 355
注册时间: 2008-01-13 1:17

Re: Arch Linux 安装指南(ArchISO 2013.08.01 适用)

#6

帖子 zhong » 2013-10-06 19:05

什麼時候變得這樣麻煩了!!!
jinjiachen
帖子: 2148
注册时间: 2012-12-16 15:43
系统: debian

Re: Arch Linux 安装指南(ArchISO 2014.07.03 适用)

#7

帖子 jinjiachen » 2014-08-09 7:46

mark
头像
macinsh
帖子: 114
注册时间: 2013-04-11 13:36
系统: Xubuntu 14.10

Re: Arch Linux 安装指南(ArchISO 2014.10)

#8

帖子 macinsh » 2014-12-23 23:29

写得很好,谢谢LZ分享
头像
qy117121
论坛版主
帖子: 50538
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: Arch Linux 安装指南(ArchISO 2014.10)

#9

帖子 qy117121 » 2014-12-24 7:37

比以前的麻烦好多
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
头像
fairytale
帖子: 371
注册时间: 2008-06-29 13:18

Re: Arch Linux 安装指南(ArchISO 2014.10)

#10

帖子 fairytale » 2015-01-17 12:40

Arch一步步地在向老祖宗LFS靠拢,真是瞎了

反正我每次装系统都得对着Beginner Guide看一遍
回复