您尚未登录。

#1 2014-02-14 04:00:58

lilingshu
会员
注册时间: 2012-02-06
帖子: 28

Arch Linux 从安装到配置,个人笔记。(基本完成,debug中)

  1. 本文由来。
    在多次安装Arch之后,发现每次安装的内容基本差不多,但总是记不住命令。相同的内容查阅了n次。所以为了以后省事起见,我决定把全套的安装配置过程统统写进一个地方,方便以后查阅。
    本文主要以论坛置顶帖子Arch Linux 安装指南为大纲,并加入自己的一些配置。也就是说,本文并不会面面俱到,而只是针对我个人遇到的问题而写,所以如果你是纯新手,请去看论坛置顶贴。

  2. 安装前准备

    1. 获取安装包
      Arch Linux Downloads
      PS:推荐使用bt方式下载,这样可以保证下载下来的文件不会坏掉。(bt下载自带校验功能)

    2. 制作安装介质

      • 安装U盘:

        # dd bs=4M if=</archlinux.iso/的/路径> of=/dev/sdX && sync
      • 其他方式请看论坛置顶帖Arch Linux 安装指南

  3. 配置安装环境

    1. 连接网络

    2. 选择软件源

      • 编辑mirrorlist

        # nano /etc/pacman.d/mirrorlist

        采用以下这些命令将你喜欢的软件源放到文件的前几行:
        [Alt + 6]复制一整行
        [Ctrl + U]粘贴
        [Ctrl + X]退出

      • 中国的软件源

        #
      • 更新本地数据库

        # pacman -Syy

        也可以不更新,因为下面的pacstrap会更新的。

    3. 硬盘分区
      分区前可以考虑用 lsblk 检查所有磁盘

      • MBR 分区:

        # cfdisk /dev/sda
      • GPT 分区:

        # cgdisk /dev/sda
    4. 建立文件系统(格式化分区)

      mkfs.<文件系统类型> /dev/sd<第几硬盘><第几分区>

      例如:

      # mkfs.ext4 /dev/sda1

      swap分区的创建和激活

      # mkswap /dev/sda3
      # swapon /dev/sda3
  4. 安装基础系统

    1. 挂载分区

      • 挂载根分区

        # mount /dev/sda1 /mnt
      • 其他分区先建立对应目录再挂载
        例如:

        # mkdir /mnt/home
        # mount /dev/sda2 /mnt/home
    2. 安装基础系统

      # pacstrap -i /mnt base
    3. 生成fstab

      • 生成

        # genfstab -U -p /mnt >> /mnt/etc/fstab
      • 检查

        # nano /mnt/etc/fstab

        若发现错误,直接对fstab进行修正,勿再次执行 genfstab。

  5. 系统初步配置

    1. 进入新系统

      # arch-chroot /mnt /bin/bash
    2. 设置时间

      • 查看时区

        # ls /usr/share/zoneinfo/<时区>/
      • 设置时区

        # ln -s /usr/share/zoneinfo/<时区>/<子时区> /etc/localtime
      • 中国大陆用户可执行:

        # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      • 或者如果你在中西部地区:

        # ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
      • 使用UTC时间:

        # hwclock --systohc --utc
      • 自动校对时间
        安装Network Time Protocol daemon

        # pacman -S ntp
        # systemctl enable ntpd
    3. 设置主机名

      # echo <主机名> > /etc/hostname
    4. 创建 ramdisk 环境

      # mkinitcpio -p linux
    5. 设置root密码

      # passwd
    6. 建立普通用户

      1. 添加一个典型的桌面用户:

        useradd -m -g users -G wheel -s /bin/bash <用户名>
      2. 设置密码

        # passwd <用户名>
    7. 安装sudo

      1. 安装

        # pacman -S sudo bash-completion
      2. 配置权限

        # EDITOR=nano visudo

        反注释该行(删去 # ):

        # %wheel ALL=(ALL) ALL

        或者不喜欢输入密码想直接sudo的,反注释这行:

        # %wheel ALL=(ALL)   NOPASSWD:  ALL
      3. 将允许获取 root 权限的用户加入 wheel 用户组

        # gpasswd -a <用户名> wheel
      4. 使用 sudo 时,在输入 <命令> 部分 Tab 补全会失效。如需启用 sudo 的 Tab 补全,请先以普通用户登陆,然后执行:

        $ echo complete -cf sudo >> ~/.bashrc
  6. 安装图形界面

    1. 安装显卡驱动

      1. 确定显卡型号

        # lspci | grep VGA

        对应驱动包:

        • Intel 显卡:xf86-video-intel

        • nVidia 显卡

          • GeForce 7 以上:xf86-video-nouveau;nvidia

          • GeForce 6/7:xf86-video-nouveau;nvidia-304xx

        • AMD/ATI 显卡

      2. 安装驱动

        # pacman -S <驱动包>
    2. 安装X窗口系统

      1. 安装 Xorg Server

        # pacman -S xorg-server xorg-server-utils xorg-xinit
      2. 添加3D支持

        # pacman -S mesa
      3. 添加触摸板支持(对笔记本而言)

        # pacman -S xf86-input-synaptics
      4. 安装字体
        (推荐)Dejavu和文泉驿-微米黑:

        # pacman -S ttf-dejavu wqy-microhei

      更多:
      字体配置(Arch Wiki)

    3. 安装桌面环境

    4. 安装显示管理器
      我用过两种:

      • LightDM

        # pacman -S lightdm lightdm-gtk2-greeter
        # systemctl enable lightdm

        你也可以选择其他的lightdm用户界面,请参考Wiki。

      • SLiM

        # pacman -S slim
        # systemctl enable slim

        要将SLiM配置为加载某个特定的环境,需在~/.xinitrc中加入:

        exec [session-command]

        如果你没有~/.xinitrc文件,可以从系统中复制一个:

        $ cp /etc/skel/.xinitrc ~

        将[session-command]替换为适当的会话命令,我使用xfce,故为:

        exec startxfce4
      • 更多显示管理器及其配置(Arch Wiki)

    5. 自动登陆到图形界面

      • LightDM

        # /usr/lib/lightdm/lightdm/lightdm-set-defaults --autologin=USERNAME
        # groupadd autologin
        # gpasswd -a USERNAME autologin
      • SLiM
        想要使SLiM自动以特定用户身份登录(无须输入密码),需要修改 /etc/slim.conf

        1. 取消该行的注释,然后将“simone”改为需要自动登录的用户名

          # default_user        simone
        2. 取消该行的注释,然后将‘no’改为‘yes’。自动登录功能就被启用了

          # auto_login          no
  7. 完成系统配置

    1. 配置网络

      • 安装Networkmanager

        # pacman -S networkmanager
      • 想要用无线网或宽带还要安装这些:

        # pacman -S polkit-gnome gnome-keyring libgnome-keyring pyxdg
      • 想用vpn还要装这些:

            networkmanager-openvpn
            networkmanager-pptp
            networkmanager-vpnc
      • 开机启动Networkmanager

        # systemctl enable NetworkManager
      • 图形化前端
        xfce下可以用这个:

        # pacman -S network-manager-applet xfce4-notifyd
    2. 安装系统引导
      常年装双系统,所以不需要grub。采用grub4dos引导。
      xp下修改boot.ini即可。win7win8则要用到easybcd。
      理论上讲,如果你安好了grub,那么用easybcd的时候会调用grub来引导linux。不过有时候会出问题,这时候可以考虑下载个grub4dos来替代linux自带的grub。
      menu.lst写法如下

      timeout=0
      title  Arch Linux
      root   (hd0,<X-1>)
      kernel /boot/vmlinuz-linux root=/dev/sda<linux所在分区为X> rw quiet splash
      initrd /boot/initramfs-linux.img
      boot

      例如:

      timeout=0
      title  Arch Linux
      root   (hd0,6)
      kernel /boot/vmlinuz-linux root=/dev/sda7 rw quiet splash
      initrd /boot/initramfs-linux.img
      boot

      至于为什么一个是6,一个是7,是由于grub1和gurb4dos对分区的计数从0开始。
      此外如果boot有独立分区那么menu.lst应该这样写:

      timeout=0
      title  Arch Linux
      root   (hd0,8)
      kernel /vmlinuz-linux root=/dev/sda9 rw quiet splash
      initrd /initramfs-linux.img
      boot
    3. 安装完成,重启电脑

      # exit
      # umount -R /mnt
      # reboot
  8. 可选安装软件
    可以任意选择安装与否和安装的时间,但建议此时安装,方便后面其他的配置。

    1. 声音管理器
      某些桌面环境亦提供了声音控制功能。不过xfce没有,所以需要安装。

      # pacman -S alsa-utils
    2. 文本编辑器
      我用的是gedit

      # pacman -S gedit
    3. 解压软件
      我用的是file-roller

      # pacman -Sy file-roller unrar unzip p7zip
  9. 网络浏览器配置

    1. 安装及汉化

      • Firefox

        # pacman -S firefox

        汉化界面还需安装

        # pacman -S firefox-i18n-zh-cn
      • Chromium

        # pacman -S chromium

        Chromium界面语言由系统语言决定,无需额外的包。

    2. FlashPlayer

      # pacman -S flashplugin

      手动安装的话,先去这里下文件
      http://get.adobe.com/cn/flashplayer/
      解压后:

      $ sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
      $ sudo cp -r ./usr/* /usr/
    3. 去广告及繁简转换
      去普通广告用AdBlockPlus插件即可。
      去除视频网站的广告用这个:
      http://bbs.kafan.cn/thread-1509944-1-1.html
      繁体字自动转简体用这个:
      https://userscripts.org/scripts/show/150110

  10. Arch 用户软件仓库(AUR)

    1. 添加第三方软件源
      将下列内容添加至 /etc/pacman.conf

      [archlinuxcn]
      SigLevel = Optional TrustedOnly
      Server = http://repo.archlinuxcn.org/$arch
      
      [archlinuxfr]
      SigLevel = Optional TrustedOnly
      Server = http://repo.archlinux.fr/$arch

      PS:在国外的话,可以考虑调换两个源的顺序。

    2. 安装

      # pacman -Sy base-devel yaourt
  11. 语言及输入法配置

    1. 安装输入法

      1. 安装fcitx

        # pacman -S fcitx-im fcitx-configtool
      2. 安装云拼音

        # pacman -S fcitx-cloudpinyin
      3. 安装搜狗拼音

        # yaourt -S fcitx-sogoupinyin
    2. 配置语言

      1. 编辑/etc/locale.gen,移除需要的行前的 #

        # gedit /etc/locale.gen

        简体中文用户,可移除下列行前的 #

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

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

        # echo LANG=<语言>  > /etc/locale.conf

        简体中文用户可执行:

        # echo LANG=en_US.UTF-8  > /etc/locale.conf
      4. 以上设置针对的是终端,所以选了英文。但图形界面需要汉化,所以编辑/etc/xprofile加入一下内容:

        export LANG=zh_CN.UTF-8
        export GTK_IM_MODULE=fcitx
        export QT_IM_MODULE=fcitx
        export XMODIFIERS="@im=fcitx" 

        这样保证只要登陆图形界面就是汉化,且可以正常使用输入法。
        解决方案来自archlinux xfce4 完美显示中文字体
        PS:该方法lightdm有效但gdm无效,其他暂未试验过。

      重启即可进入汉化界面

  12. 附加问题

    1. 触摸板
      “在触摸板的由边缘滑动时,启用垂直滚动”可能会关闭,记得去打开。

    2. xfce无法挂载其他分区以及U盘
      Gnome下貌似没有这个问题。解决方案来自thunar 无权限挂载本地磁盘
      需要安装udisks2,gvfs

      # pacman -S udisks2 gvfs

      编辑文件

      /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy

      找到

      <action id="org.freedesktop.udisks2.filesystem-mount-system">
      # echo LANG=en_US.UTF-8  > /etc/locale.conf

      修改其中的

      <allow_active>auth_admin</allow_active>

      改为

      <allow_active>yes</allow_active>

最近编辑记录 lilingshu (2014-02-15 02:20:28)

离线

#2 2014-02-14 11:48:54

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,489
个人网站

Re: Arch Linux 从安装到配置,个人笔记。(基本完成,debug中)

HTTP 下载的也可以通过 sha1 值和签名来验证。
dd 时的块大小建议 20M。
连接网络也可以用 systemctl start dhcpcd,会连接所有可以连上的网络接口(虚拟机多网卡时超好用)
软件源我喜欢只留一个最快的 :-)
grub 1 和 grub4dos 的分区是以 0 开始计的,所以少一。
好像现在需要用 rw 了。ro 的话 systemd-fsck 会有警告。
umount -R 这个好!
建议将 archlinuxcn 的源放到 archlinuxfr 前边,因为在中国,archlinuxcn 的源更快 =w=。SigLevel 建议用 Optional TrustedOnly 以尽可能验证软件包的有效性。当然,这样你得导入并信任我的 PGP 密钥。Felix 的在官方 keyring 里有,不需要额外的操作。

离线

#3 2014-02-14 21:16:06

lilingshu
会员
注册时间: 2012-02-06
帖子: 28

Re: Arch Linux 从安装到配置,个人笔记。(基本完成,debug中)

百合仙子 说:

HTTP 下载的也可以通过 sha1 值和签名来验证。
dd 时的块大小建议 20M。
连接网络也可以用 systemctl start dhcpcd,会连接所有可以连上的网络接口(虚拟机多网卡时超好用)
软件源我喜欢只留一个最快的 :-)
grub 1 和 grub4dos 的分区是以 0 开始计的,所以少一。
好像现在需要用 rw 了。ro 的话 systemd-fsck 会有警告。
umount -R 这个好!
建议将 archlinuxcn 的源放到 archlinuxfr 前边,因为在中国,archlinuxcn 的源更快 =w=。SigLevel 建议用 Optional TrustedOnly 以尽可能验证软件包的有效性。当然,这样你得导入并信任我的 PGP 密钥。Felix 的在官方 keyring 里有,不需要额外的操作。

Http需要下载完成后再验证,如果有问题还得重头下,比较蛋痛```
bt的种子文件自带校验,一边下一边校验,绝对不会出问题```
为什么用20M的大小了?
连接网络当然可以用dhcpcd,但是如果没有有线网,只有无线网,dhcpcd就靠不住了```
软件源保留最快一个固然是很好的选择,但有时候可能这个源里会缺失一些,这时候有几个备用的就比较重要了。
ro还是rw我不太清楚,我回头去试一试```
umount后加小写r是重新挂载,大写R是做什么了?
软件源的顺序和选项我去改改。

最近编辑记录 lilingshu (2014-02-14 21:22:47)

离线

#4 2014-02-14 21:42:06

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,489
个人网站

Re: Arch Linux 从安装到配置,个人笔记。(基本完成,debug中)

bt 下载 ISO 我遇到过一次问题(transmission),明明还有部分没有下载,它说下载好了。手动让它校验之后才真正下好。所以还是验证签名最保险。当然,bt 分块下载的特性非常棒,而且满速很容易 =w=
因为我(对我的机械硬盘)测试发现这样比较快……
我是说有个 systemd 服务可以用。当然要授权的无线网不能直接用。
官方列表中的软件源一般不会缺东西的。多缺几次它就会被从列表里删除了。
umount 的 -r 是失败时重新挂载为只读。-R 是递归地卸载。

离线

#5 2014-02-14 22:36:30

lilingshu
会员
注册时间: 2012-02-06
帖子: 28

Re: Arch Linux 从安装到配置,个人笔记。(基本完成,debug中)

百合仙子 说:

bt 下载 ISO 我遇到过一次问题(transmission),明明还有部分没有下载,它说下载好了。手动让它校验之后才真正下好。所以还是验证签名最保险。当然,bt 分块下载的特性非常棒,而且满速很容易 =w=
因为我(对我的机械硬盘)测试发现这样比较快……
我是说有个 systemd 服务可以用。当然要授权的无线网不能直接用。
官方列表中的软件源一般不会缺东西的。多缺几次它就会被从列表里删除了。
umount 的 -r 是失败时重新挂载为只读。-R 是递归地卸载。

谢了,我继续去修改。

离线

页脚