Arch安装参考

来源:互联网 发布:淘宝网购物女装牛仔裤 编辑:程序博客网 时间:2024/05/16 09:34

前言:

用linux也很有一段时间了,一直以来都是使用Ubuntu,Fedora,CentOS之类的自带GUI的发行版,这类发行版容易上手,却少了几分折腾的乐趣,同时不够精简,每次装完总要删掉不少无用的包。于是开始尝试ArchLinux、Gentoo之类的以“简洁”为特色的发行版,只是此类发行版难以上手,如果没有使用linux的基础,很难完成安装。至于Gentoo,我的渣渣本编译了几个小时才只装好了基础包,实在是没有热情去折腾了。

       传统的发行版安装都很简单,用软碟通或是dd命令刻到U盘里按照安装引导菜单一步步来就可以了,但是到了ArchLinux就比较麻烦了,纯CLI界面,建议没接触过的人可以看看官方的wiki(https://wiki.archlinux.org/index.php/Beginners'_guide)。下面记录一下安装的基本流程和一些需要注意的地方。


1.安装

ArchLinux是基于网络安装的,在开始安装之前,先要配置网络。

一般可以选择连接无线网络来安装,比去捣腾有线连接方便。


无线网络配置

  • ArchLinux的安装是基于网络的,将ArchLinux安装在硬盘而不是虚拟机中,则首先需要配置无线网络,配置完成无线网络之后才能正常执行安装流程(系统安装完成后可使用wifi-menu)。

    使用iwconfig命令查看无线网卡是否被正常驱动,并记录下无线网卡的名称。

    查看无线网卡是否被rf锁定:

    # rfkill listiwiwl    

  • 如果有rf锁,解除:

    # rfkill unblock all
  • 启动无线网卡:

    # ip link set wlp21s0 up    //其中wlp21s0是我的无线网卡的名字,可以通过ip link 查看
         # ip link set eno16777736 name eth0        ----可以修改网卡的名字
  • 扫描无线网络:

    # iwlist wlp21s0 scanning
  • 创建wpa配置文件:

    # nano /etc/wpa_supplicant/wifi.conf
  • wifi.conf中写入要连接的无线配置信息:

    network={
    ssid="要连接的无线的名字"
    psk="无线的密码"
    }
  • 启用配置文件:

    # wpa_supplicant -BDwext -i wlp21s0 -c /etc/wpa_supplicant/wifi.conf
  • 激活网络服务:

    # dhclient wlp21s0
  • 测试网络是否联通:

    # ping www.baidu.com
  • 如果ping没反应的话尝试以下步骤>>
    正常情况下网络应该已经通了,如果网络异常,尝试查看路由信息:

    # route -n

    尝试添加地址:

    # route add default gw yourIP

    当wpa出现异常,可以尝试关闭后重新打开,关闭wpa:

    # wpa_cli terminate


  • 以上配置无线网络的方法适用于在尚未安装桌面环境时的配置,当桌面环境完成安装后,可用NetworkManager搭配各大桌面的图形化前端来实现便捷的无线网络管理。
    安装NetworkManager

    # pacman -S networkmanager

    在各大桌面环境下拥有不同的图形化前端搭配NetworkManager来使用。
    gnome桌面环境下,安装:

    # pacman -S network-manager-applet

    KDE桌面环境下,安装:

    # pacman -S kdeplasma-applets-plasma-nm    //旧版本的KDE网络组件在AUR仓库中,包名为:kdeplasma-applets-networkmanagement

    在网络组件完成配置之后,可以激活NetworkManager服务来接管网络连接:

    # systemctl enable NetworkManager    //输入命令时注意服务名称的大小写

    不使用NetworkManager服务时,可以禁用该服务:

    # systemctl disable NetworkManager

完成了无线网络的配置之后,就可以正式开始安装了。



基本安装教程


  • 首先进行磁盘分区:

    # fdisk -l    //查看分区情况


  • 在/dev/sda1建立ext4文件系统的主分区,在/dev/sda2建立swap交换区(根据自己的情况分区吧):

    # mkfs.ext4 /dev/sda1
    # mkswap /dev/sda2
  • 挂载刚才建立的两个分区:

    # mount -t ext4 /dev/sda1 /mnt    //将sda1挂载到/mnt目录下(以/mnt为安装的根目录)
    # swapon /dev/sda2    //将sda2的swap分区开启
  • 修改软件源(可以直接到arch的mirrorlist去生成:https://www.archlinux.org/mirrorlist/):

    # vi /etc/pacman.d/mirrorlist

    附带我自己使用的源:

    Server =http://mirrors.163.com/archlinux/$repo/os/$arch

             Server = http://mirrors.sohu.com/archlinux/$repo/os/$arch


    • 安装基础包组件:

      # pacstrap -i /mnt base base-devel(很多工具需要,也可以在开始时不选择devel)
    • 安装网络工具,否则安装完成之后无法配置无线网络:

      # pacstrap -i /mnt wireless_tools wpa_supplicant dhclient
    • 生成fstab文件:

      # genfstab -U -p /mnt > /mnt/etc/fstab
    • chroot切换根目录:

      # arch-chroot /mnt
    • 设置国家及语言编码:

      nano /etc/locale.gen    
      locale-gen
      echo "export LANG=en_US.UTF-8" > /etc/locale.conf
    • 设置时区:

      ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    //使用软链接来链接时区文件,时区配置可以放在完成系统安装后执行
    • 设置主机名:

      echo "Insipron-M4010" > /etc/hostname    //主机名可以随便写,我用的是自己电脑的型号
    • 设置root密码:

      passwd root
    • 安装grub引导器:

      # pacman -S grub
      # grub-install --recheck /dev/sda    //将grub安装到整个硬盘作为引导器
      # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo    //wiki上说需要复制这个文件,实测没有复制此文件也能正常安装
    • 默认情况下ArchLinux的grub只能识别出ArchLinux自身,如果硬盘上有其它OS,需要安装os-prober才能正常识别出其它OS(在下一步之前执行):

      # pacman -S os-prober
    • 生成grub的配置文件:

      # grub-mkconfig -o /boot/grub/grub.cfg
    卸载分区,基本安装完成并重启
    # exit  
    # umount -R /mnt    
     umount -R < / 挂载点> 
    # reboot


    以上,基本安装结束。



    安装完成之后的基本配置

    • 安装完成后开始添加用户:

      # useradd -m -g xiaobai -s /bin/bash    //使用-m参数在创建用户的同时创建该用户的home目录
    • 设置用户的密码:

      # passwd xiaobai
    • 安装sudo让普通用户执行root命令:

      # pacman -S sudo
      # nano /etc/sudoers    //编辑sudoers文件让普通用户能够以root权限执行命令
    • 安装中文字体:

      # pacman -S wqy-zenhei wqy-microhei    //记住不要手贱去装wqy-microhei-lite这个字体包,会造成Netbeans中使用文泉驿等宽微米黑字体时空格变成口口(囧)
    • 安装等宽字体:

      # pacman -S ttf-dejavu    //没有此字体,会使某些符号不够漂亮,建议在安装桌面环境时选择此字体作为桌面环境的默认依赖字体
      # pacman -S adobe-source-code-pro-fonts    //adobe出品的一款很适合编程的等宽字体
    • 安装基本的图形环境以及驱动程序:

      # pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils    //不必完整安装xorg包组,只需安装核心组件即可!
      # pacman -S xf86-video-ati    //安装开源显卡驱动,或者安装闭源驱动catalyst,也可以安装nvidia显卡驱动,具体可查看官方的wiki
      # pacman -S xf86-input-synaptics    //安装触摸板驱动


    • 安装KDE桌面环境:

      # pacman -S kdebase kdeadmin kdenetwork kdegraphics kdemultimedia kdepim kdesdk kdewebdev kdeutils    //不推荐完整安装kde,会附带许多根本用不到的kdegames以及kdeedu、kdeartwork(桌面主题)、kdeplasma-addons(附加组件)、 kdeaccessibility(残障人士辅助工具),但是也不能像wiki说的那样只安装一个kdebase,那样根本无法启动kde桌面环境,KDE桌面环境推荐使用vlc作为后端解码器


    • 建议安装KDE桌面环境时安装虚包(meta/包指针),这样能够及时更新包组中的成员:

      # pacman -S kde-meta
      1) kde-meta-kdeaccessibility 2)kde-meta-kdeadmin 3)kde-meta-kdeartwork 4)kde-meta-kdebase 5)kde-meta-kdeedu 6)kde-meta-kdegames7)kde-meta-kdegraphics 8)kde-meta-kdemultimedia 9)kde-meta-kdenetwork10)kde-meta-kdepim 11)kde-meta-kdeplasma-addons 12)kde-meta-kdesdk13)kde-meta-kdetoys 14)kde-meta-kdeutils 15)kde-meta-kdewebdev16)kde-wallpapers

      其中有需要装的为 2 4 7 8 10 12 14 15。1为KDE残障人士辅助工具,3和16为为KDE额外主题及壁纸,6和13为游戏,9为一些用不到的网络工具,11为桌面附加组件,没有必要完全安装。


    • KDE的kdeplasma-addons和kdenetwork包组中有几个实用组件可以单独安装(不必安装整个包组):

      # pacman -S kdeplasma-addons-applets-icontasks    //图标人物管理器
      # pacman -S kdeplasma-addons-applets-lancelot    //lancelot启动器
      # pacman -S kdenetwork-kget    //kget下载管理器


    • 如果不习惯使用KDE桌面环境,则可以使用gnome桌面环境:

      # pacman -S gnome gnome-extra    //gnome,gnome-extra包组可以不安装完全,只需安装其中必要的工具即可,gnome桌面环境推荐使用gstreamer作为解码器后端


    • 安装gnome-extra包组后默认会安装许多用不到的游戏,可以卸载的游戏程序列表:

      游戏包名称中文名称gnome-mahjongg麻将gnome-sudoku数独lightsoff关灯tali掷骰子swell-foop消色块gnome-nibbles贪吃蛇four-in-a-row四子连线gnome-tetravex四领five-or-more五子连珠gnome-klotski华容道iagno黑白棋gnome-chess国际象棋quadrapassel俄罗斯方块gnome-mines扫雷gnome-robots机器人aisleriot纸牌王

      批量卸载无用游戏:

      # pacman -Rscn gnome-mahjongg gnome-sudoku lightsoff tali swell-foop gnome-nibbles four-in-a-row gnome-tetravex five-or-more gnome-klotski iagno gnome-chess quadrapassel gnome-mines gnome-robots aisleriot


    • gnome包组中,有几个用不到的包:

      软件包名称软件包简介epiphanygnome桌面环境默认的浏览器,不过无论功能性能都是极差的存在totemgnome自带的视屏播放器,对冷门格式的支持欠佳,使用gnome-mplayer替代empathygnome自带的聊天工具,界面很fashion可惜对lwqq的支持不够好,出个验证码都会无限弹窗导致系统卡死,使用pidgin替代gnome-dictionarygnome自带的字典工具,只是没有好的词库支持,使用youdao(AUR)替代


    • gnome-extra包组中,同样有许多用不到的包:

      软件包名称软件包简介accerciser阅读辅助工具,残障人士专用bijiben笔记本软件braseroCD烧录软件gnome-logsgnome日志软件orca残障人士的屏幕阅读器gnome-documents一个基本无用的文档管理器


    • gnome-extra包组中,准确的说,只需要安装几个用的到的就够了:

      软件包名称中文名称anjutagnome开发用的IDEcheese茄子大头贴,聊天工具必备摄像头组件devhelpgnome开发者文档浏览器gnome-devel-docsgnome开发者文档evolutiongnome邮件软件geditgnome文本编辑器gnome-color-managergnome色彩管理器gnome-nettoolgnome网络工具file-rollergnome归档管理器seahorse保存程序的PGP密钥vinagregnome桌面的远程控制服务


    • 默认情况下,挂载Windows分区读写硬盘,需要安装:

      # pacman -S ntfs-3g    //让nautilus和dolphin能够正常读写挂载的Windows分区


    • 安装图形界面之后,可能无法直接启动,需要配置以下文件:

      /etc/X11/xinit/xinitrc
      ~/.xinitrc

      在文件内容中添加启动桌面指定环境的语句:exec startkde (以kde桌面环境为例)
      如果是gnome桌面环境,则添加语句:exec gnome-session


      使ArchLinux可以开机后自动执行图形界面:

      # systemctl enable kdm.service    //使用KDM作为登陆器
      # systemctl enable gdm.service


      安装完KDE桌面环境后需要安装中文语言包(可能会出现中文汉化不完全的问题),修改编码:

      # vim /etc/locale.gen    //去掉/etc/locale.gen文件内中文编码zh_CN.UTF-8前的#号注释,为系统添加中文编码支持
      # echo "export LANG=zh_CN.UTF-8" > /etc/locale.conf
      # locale-gen    //使中文编码生效


    • 使用KDE桌面环境时,默认是不会在家目录下生成用户文件夹的,故需要安装xdg工具:

      # pacman -S xdg-user-dirs

      使用以下命令首次生成用户文件夹:

      $ xdg-user-dirs-update

      如果不慎删除了某个默认用户文件夹,使用如下命令强制重新生成家目录文件夹:

      $ xdg-user-dirs-update --force


    • 在KDE桌面环境下的默认gtk程序惨不忍睹,安装KDE下的gtk配置以及gtk主题:

      # pacman -S kde-gtk-config oxygen-gtk2 oxygen-gtk3


    • 在KDE桌面环境中,推荐从AUR中安装全局菜单组件和bespin界面风格(安装term:yakuake):

      $ yaourt -S kdeplasma-applets-menubar bespin-svn


    • 安装KDE桌面环境的配套音乐播放器Amarok:

      # pacman -S amarok
      # pacman -S gstreamer0.10-base-plugins gstreamer0.10-bad-plugins gstreamer0.10-good-plugins gstreamer0.10-ugly-plugins gstreamer0.10-ffmpeg  
        //如果后端采用gstreamer解码器,必须安装gs解码器才能播放ape等格式,推荐使用vlc解码器作为后端,可省去安装此解码器的过程(gstreamer0.10-ffmpeg必须要装,否则播放ape格式没有声音!)


    • 设置完时区之后,默认是无法使用网络同步时间的,需要安装ntp服务:

      # pacman -S ntp


    • 安装yaourt,在/etc/pacman.conf中添加软件仓库(建议直接复制下面的内容):

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

      然后命令行中安装:

      # pacman -Sy yaourt

      使用yaourt来更新所有系统中的包:

      $ yaourt -Syua


    • ArchLinux中pacman的图形化前端:

      1. KDE桌面环境中推荐使用apper

        # pacman -S apper
      2. gnome桌面环境中推荐使用packagekit

        # pacman -S gnome-packagekit
    • 安装firefox火狐浏览器:

      # pacman -S firefox firefox-i18n-zh-cn    //安装浏览器的同时安装中文汉化包


    • 安装fcitx输入法作为中文输入法:

      # pacman -S fcitx-im

      为保证fcitx能够正常在各个环境中使用,安装:

      # pacman -S fcitx-qt5

      推荐使用AUR里的搜狗拼音输入法:

      # yaourt -S fcitx-sogoupinyin

      如果是KDE环境下,需要安装图形配置工具:

      # pacman -S kcm-fcitx

      gnome桌面环境下,安装图形配置工具:

      # pacman -S fcitx-configtool

      如果使用登陆器(KDM,GDM等)则需家目录下创建.xprofile文件写入以下配置:

      export GTK_IM_MODULE=fcitx
      export QT_IM_MODULE=fcitx
      export XMODIFIERS="@im=fcitx"    //让fcitx成为默认输入法

      如果使用startx启动图形环境,则将该配置写入.xinitrc文件中。


    • 在gnome桌面环境下,对ibus输入法的支持更好:

      # pacman -S ibus
      # pacman -S ibus-anthy ibus-libpinyin    //安装中文输入法,实测中文输入法中googlepinyin以及sunpinyin等老牌输入法对新界面的ibus支持欠佳

      ibus在ArchLinux中有bug,无法保存配置,执行以下命令后可以恢复正常:

      # dconf update    //更新dconf配置
      $ ibus-daemon -rdx    //重启ibus


    • 如果使用gnome桌面环境,建议安装telepathy包组,否则无法使用在线账户功能:

      # pacman -S telepathy


    • 安装办公套件:


      1. 在KDE桌面环境中,通常使用calligra办公套件:

        # pacman -S calligra
      2. 在gnome桌面环境中,通常使用libreoffice办公套件:

        # pacman -S libreoffice    //不推荐在gnome桌面环境下安装libreoffcie-kde4这个包,会带来无关的kde依赖!
    • 安装下载工具:
      常用的BT下载工具为transmission

      # pacman -S transmission-gtk    //gnome及xfce等使用gtk图形库的桌面环境安装gtk版本
      # pacman -S transmission-qt    //KDE桌面环境安装qt版本
      # pacman -S transmission-cli    //未安装桌面环境时使用命令行版本
      # pacman -S ktorrent    //ktorrent BT下载工具

      aria2是命令行下的常用的下载工具,能够支持HTTP,FTP,BitTorrent,Metalink等多种协议:

      # pacman -S aria2    //常用命令格式为aria2c [OPTIONS] [URL | MAGNET | TORRENT_FILE | METALINK_FILE]


    • 安装AUR源里的wps:
      安装wps相对于别的平台要麻烦一些,由于wps是32位的程序,在64的ArchLinux中安装wps需要开启multilib源,去掉/etc/pacman.conf文件中关于multilib源里的注释。然后用yaourt搜索wps并完成安装。


    • 安装虚拟机VirtualBox:

      # pacman -S virtualbox virtualbox-host-dkms virtualbox-host-modules

      虚拟机启动后如果提示错误,需要命令行中执行:

      # modprobe vboxdrv

      在gnome桌面环境中,默认没有安装qt,而virtualbox是qt程序,需要安装qt4:

      # pacman -S qt4


    • ArchLinux源中的Netbeans非常给力,默认中文,可以放弃从官方下载安装的方式:

      # pacman -S netbeans
      # pacman -S php groovy    //将netbeans的依赖开发环境一起安装
      # pacman -S junit    //安装java单元测试工具JUnit

      注意在pacman源中安装的Netbeans无法在普通用户下调用源中安装的tomcat(权限不足,不建议使用root账户进行开发工作!),所以如果进行JavaWeb开发仍需要从Netbeans官网下载安装。


    • 配置OpenGL开发环境时需要安装mesa相关包(通常在安装桌面环境时已经随依赖安装),以及freeglut包(可选)。

      # pacman -S freeglut
    • 最后安装主流的开发工具和开发环境(可选):

      # pacman -S base-devel vim-plugins apache nginx mariadb clang go gcc gdb gdc nasm yasm perl php python python2 js nodejs mono tomcat6 tomcat7 tomcat8 groovy
    • 安装开发环境的对应的文档(可选):

      # pacman -S linux-docs openjdk7-doc qt5-doc gcc-docs groovy-docs php-docs python-docs


    FQA:

    参见官方wiki是王道

    多系统时间不一致问题:ntp

    hwclock --systohc --localltime        ----设定系统将用的时间方案。这个时间方案我是试过很多次,如果是双系统,电脑里还有win系统的话,建议设为:--localtime,否则可设为--utc。
          不过,我现在虽然也用双系统,但还是设的utc,因为设为--localtime虽然在win下时间不会出错,但回到linux下,经常系统会有些古怪的问题,比如,升级系统之时,报密钥错误。使用--utc,虽然在linux下时间会慢8个多小时,但毕竟对整个系统没有影响。


    UEFI启动方式分区:UEFI

    分区参考(启动区分出区,/home方便备份):

    cfdisk分区:

    # mkfs.fat -F32 /dev/sda1    # 创建 FAT32 分区# mkfs.ext4 /dev/sda2    # 创建 ext4 分区# mkfs.ext4 /dev/sda3    # 创建 ext4 分区# mkswap /dev/sda4    # 创建 swap 分区
    $ lsblk /dev/sda -o NAME,FSTYPE,SIZE,MOUNTPOINT    # 名称,文件系统,大小,挂载点NAME   FSTYPE   SIZE MOUNTPOINTsda           120G ├─sda1 vfat    512M /boot/EFI├─sda2 ext4    36G /├─sda3 ext4    79.5G /home└─sda4 swap     4G [SWAP]# 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 分区

    声音支持: alsamixer(所属包:alsa-utils),默认是静音。

    检查/etc/fstab文件是否正确>>

    参考检查项:

    / 所在分区的 <pass> 应该为 1,其他分区为 2

    btrfs 分区(无论是否为 / 所在分区)及 swap 分区的应该为 0


    0 0