Archlinux安装笔记

初始准备

  1. 写入镜像到U盘中,可以使用Rufus

安装初始系统

参考Arch Wiki

  1. 分区,使用fdisk或者gdisk,一般就只分一个大区,不再考虑boot,swap之类(似乎如果采用GPT分区表则必须分配一个boot分区,并且将引导信息写入该分区,参考Arch Wiki),因此得到/dev/sda1。之后格式化分区,使用4K块大小
    mkfs.ext4 -b 4096 /dev/sda1
    
    如果需要swap分区,可以在装好系统之后添加一个swap文件,之后细说。
  2. 挂载分区
    mount -t ext4 -o discard,noatime /dev/sda1 /mnt
    
  3. 编辑镜像源
    vim /etc/pacman.d/mirrorlist
    
  4. 安装基本系统
    pacstrap /mnt base base-devel vim
    
    base是基础软件包组,base-devel是基础开发包组
  5. 生成 fstab
    genfstab -U -p /mnt >> /mnt/etc/fstab
    
  6. Change root 到新安装的系统
    arch-chroot /mnt /bin/bash
    
  7. 编辑locale信息,首先修改/etc/locale.gen,把需要的locale配置反注释,然后执行
    locale-gen
    
    生成locale,之后设置系统当前使用的locale
    echo export LANG=en_US.UTF-8 > /etc/locale.conf
    
    这里使用en_US是为了避免在tty下中文显示的乱码问题,之后使用图形界面时,可以在~/.xprofile中添加
    export LANG=zh_CN.UTF-8
    
    使得图形界面下正确显示中文
  8. 设置主机名
    echo myhostname > /etc/hostname
    
  9. 创建一个初始 RAM disk
    mkinitcpio -p linux
    
  10. 先安装 os-prober,以便grub能够检测到已经装过的系统(如Windows),然后安装grub
    pacman -S os-prober grub
    
  11. 配置引导
    grub-mkconfig -o /boot/grub/grub.cfg
    grub-install --target=i386-pc /dev/sda
    
  12. 需要的话可以配置一下网络,安装network-manager,并设置自启动
    pacman -S network-manager-applet
    systemctl enable NetworkManager.service
    
  13. 安装zsh
    pacman -S zsh
    
  14. 添加一个用户,指定使用zsh
    useradd -m -g users -G wheel -s /bin/zsh archie
    
    为了使wheel用户组能够使用sudo命令,使用visudo命令,或者
    vim /etc/sudoers
    
    找到
    #%wheel ALL=(ALL) ALL
    
    反注释之
  15. 退出chroot环境,卸载挂载的分区
    umount -R /mnt
    
    之后重启,如果能够看到grub的引导界面并且能够进入arch,就大功告成了。以后就不再使用root登录,而使用之前添加的用户。

安装图形界面

  1. 先装X Server
    sudo pacman -S xorg
    
  2. 装yaourt,先在/etc/pacman.conf里加入
    [archlinuxcn]
    SigLevel = Optional TrustedOnly
    Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
    
    可以顺手把里面的Color那行反注释,开启pacman的彩色模式
  3. 不折腾了,直接用gnome
    sudo pacman -S gnome
    
    安装完毕后配置gdm自启动,并且立即启用gdm
    sudo systemctl enable gdm
    sudo systemctl start gdm
    
  4. 安装numix主题
    sudo pacman -S numix-themes numix-circle-icon-theme-git
    
  5. 安装一些中文字体
    pacman -S wqy-microhei ttf-dejavu ttf-droid cantarell-fonts \
              adobe-source-han-sans-cn-fonts
    
  6. 安装界面管理工具gnome-tweak-tool
    sudo pacman -S gnome-tweak-tool
    
    然后使用这个工具来配置图形界面的主题和字体
  7. 安装中文输入法
    sudo pacman -S fcitx-im fcitx-sunpinyin fcitx-cloudpinyin fcitx-configtool
    
    在~/.xprofile中加入如下语句确保输入法被正确开启
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    

安装常用软件

接下来就是个性化配置了,包括配置zsh,安装各种软件。

  1. 安装wget和git
    sudo pacman -S wget git
    
  2. 使用oh-my-zsh来配置zsh
    wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh \
         -O - | sh
    
  3. 在zsh中使用powerlevel9k主题,首先要安装一些字体
    git clone https://github.com/powerline/fonts.git
    cd fonts
    ./install.sh
    
    之后安装powerlevel9k主题
    git clone https://github.com/bhilburn/powerlevel9k.git \
              ~/.oh-my-zsh/custom/themes/powerlevel9k
    
    然后编辑~/.zshrc,启用该主题
    ZSH_THEME="powerlevel9k/powerlevel9k"
    
    还可以在.zshrc中继续配置powerlevel9k主题
    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(time context dir)
    POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(vcs status rbenv)
    POWERLEVEL9K_STATUS_VERBOSE=false
    POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
    POWERLEVEL9K_SHORTEN_DIR_LENGTH=3
    POWERLEVEL9K_PROMPT_ON_NEWLINE=true
    
  4. 为了能够访问google,配置shadowsocks,参考Arch Wiki
    sudo pacman -S shadowsocks
    
    之后编辑/etc/shadowsocks/config.json,加入自己的配置信息
    {
        "server":"remote-shadowsocks-server-ip-addr",
        "server_port":443,
        "local_address":"127.0.0.1",
        "local_port":1080,
        "password":"your-passwd",
        "timeout":300,
        "method":"aes-256-cfb",
        "fast_open":false,
        "workers":1
    }
    
    接下来让shadowsocks开机自启动,并且立即在后台运行shadowsocks
    sudo systemctl enable shadowsocks@config
    sudo systemctl start shadowsocks@config
    
  5. 安装Chrome
    yaourt -S google-chrome
    
    配置Proxy SwitchyOmega插件,所需的自动切换规则列表可以使用GFWList
  6. 使用Chrome比较占内存,因此可能需要添加swap空间,参考这里
    sudo dd if=/dev/zero of=/swapfile bs=1M count=512
    sudo chown root:root /swapfile
    sudo chmod 0600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    
    为了让开机的时候自动挂载swap空间,更新/etc/fstab
    echo /swapfile none swap defaults 0 0 | sudo tee -a /etc/fstab
    
    另外,如果使用文泉驿等中文字体,会造成Chrome的卡顿,建议使用系统自带的中文字体,或者使用note-fonts-cjk,参见Arch Wiki
  7. 需要自动更新壁纸,可以使用variery
    sudo pacman -S variety
    
  8. 需要自动修改屏幕色温,可以使用redshift
    sudo pacman -S redshift
    
    编辑~/.config/autostart/redshift.desktop,让它开机自启动
    [Desktop Entry]
    Name=Redshift
    Exec=redshift -l 40.32:116.62
    Terminal=false
    Type=Application
    X-GNOME-Autostart-Delay=20
    
  9. 需要监控系统运行状态,安装conky
    sudo pacman -S conky
    
    编辑~/.conkyrc可以改变conky的外观,配置信息可以参考这里, 编辑~/.config/autostart/conky.desktop,让它开机自启动
    [Desktop Entry]
    Name=Conky
    Exec=conky
    Terminal=false
    Type=Application
    X-GNOME-Autostart-Delay=20
    
  10. 安装anaconda
    sudo pacman -S anaconda
    
    记得配置PATH,编辑/etc/profile,在PATH中加入/opt/anaconda/bin
  11. 安装Emacs
    sudo pacman -S emacs
    
    可以从我的仓库中拷贝一些配置
    git clone https://github.com/Yugnaynehc/Emacs.git ~
    
    之后使用package-install安装相应的扩展包
    • elpy
    • paredit
    • clojure-mode
    • auto-complete
    • color-theme
    • auctex
    • session
    • web-mode
  12. 安装解压软件file-roller
    sudo pacman -S file-roller
    
  13. 需要的话可以安装微软雅黑字体,参考这里,可能还要使用字体渲染包infinality,参考这里
    sudo pacman-key -r 962DDE58   # 信任infinality的密钥
    sudo pacman-key --lsign-key 962DDE58
    
    在etc/pacman.conf中添加infinality的软件源
    [infinality-bundle]
    Server = http://bohoomil.com/repo/$arch
    [infinality-bundle-multilib]
    Server = http://bohoomil.com/repo/multilib/$arch
    [infinality-bundle-fonts]
    Server = http://bohoomil.com/repo/fonts
    
    添加完成之后需要重新刷新缓存,然后就可以安装infinality的软件包了。安装时会提示与freetype2冲突,询问是否替换,选择是即可
    sudo pacman -Syy
    sudo pacman -S freetype2-infinality-ultimate fontconfig-infinality-ultimate \
                   cairo-infinality-ultimate jdk8-openjdk-infinality
    # sudo pacman -S infinality-bundle     # 也可以选择直接安装infinality-bundle软件包组
    
    安装完成之后,重启图形界面使得更改生效,不过貌似改进不大
  14. 安装screenfetch来在终端中显示系统信息
    sudo pacman -S screenfetch
    
  15. 安装LaTeX相关的软件
    sudo pacman -S texlive-most texlive-lang
    
    也可以用text-langcjk简化替代texlive-lang。之后还需要安装poppler-data使得evince能够正确显示中文文档
    yaourt -S poppler-data   # 用来正确显示中文文档
    

这样就差不多了,附上成品图一张。 配置好的桌面效果图

本文总阅读量:

转载请保留以上信息。