zoukankan      html  css  js  c++  java
  • Arch Linux 安装记(安装到移动硬盘)

      一转眼传说中装起来难于上青天,用起来险如上刀梯(容易滚挂),绰号“洗发水”并被戏称为“邪教”的 Arch Linux 已经用了几个月。某些关于其安装难度和稳定性的传说实在太夸张了,反而觉得这才是适合懒人使用的 Linux 发行版(必要前提:仅限非生产环境且使用者不是 Linux 新手)。最深的感受是其可定制性特别高,安装软件格外省事,官方 Wiki 也特别全面。不过个人在使用上比较保守,没有开启有风险的仓库,也没有使用闭源驱动,基本一个星期滚动一次。

      现将安装过程进行回顾整理。 

    安装背景介绍

      此次安装将某品牌 USB 3.0 移动硬盘连接到一台笔记本进行。计划将 Arch linux 单独安装到移动硬盘,以便连接到任意一台 BIOS 引导的机器都可使用而不影响其他电脑上的数据。移动硬盘上的 NTFS 分区已经存在并存放了大量文件,可用的电脑也都没有使用 UEFI,故不再折腾分区表格式继续使用 MBR。

      由于手头没有空余的 U 盘,光驱更是已经报废了 N 年,所以必须读盘的安装部分先开一台 vbox 虚拟机完成,省去了安装盘的制作(需安装支持 USB 3.0 的Extension Pack,不设置虚拟磁盘)。通过虚拟机读取安装盘 ISO 文件并直接将系统写入移动硬盘,待安装完基本系统、必要的网络工具和 GRUB 后,再直接从移动硬盘引导继续进行其他安装。(当然可以从头到尾通过虚拟机安装,然而这样驱动测试和无线网络调试就不爽快了。)

    准备磁盘

    移动硬盘分区情况如下:

    分区 大小 格式 用途
    /dev/sda1 410G NTFS 跨平台存储数据
    /dev/sda2 409G NTFS 跨平台备份数据
    /dev/sda3 30G ext4 Arch Linux 的根分区
    /dev/sda5 80G ext4 Arch Linux 的 /home 分区
    /dev/sda6 2.5G swap 交换区

     

    格式化分区

    # mkfs.ext4 /dev/sda3
    # mkfs.ext4 /dev/sda5
    # mkswap /dev/sda6
    

      

    设置卷标(为了挂载到不同环境容易辨认)

    # e2label /dev/sda3 arch-root
    # e2label /dev/sda5 arch-home
    

      

    挂载分区,启用 swap

    # mount /dev/sda3 /mnt
    # mkdir /mnt/home
    # mount /dev/sda5 /mnt/home
    # swapon /dev/sda6

      

    连接网络

    检查网络是否正常连接(通过安装盘启动机器的时候有线网络和虚拟机是自动连接到网路的,无线网络和基本安装完成重启到新系统才需手动连接)

    # ping -c 3 archlinux.org
    PING archlinux.org (138.201.81.199) 56(84) bytes of data.
    64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=49 time=350 ms
    64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=49 time=360 ms
    64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=49 time=355 ms
    
    --- archlinux.org ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 1999ms
    rtt min/avg/max/mdev = 350.231/355.627/360.983/4.443 ms
    

    设置安装源

    编辑 /etc/pacman.d/mirrorlist 文件,加入阿里云镜像,保存退出

    # vi /etc/pacman.d/mirrorlist
    
    http://mirrors.aliyun.com/archlinux/$repo/os/$arch
    

      

    安装文字系统并进行必要的设置

    安装基本系统

    # pacstrap -i /mnt base base-devel
    

      

    生成 fstab 文件

    # genfstab -U /mnt >> /mnt/etc/fstab
    

      

    Chroot 到新安装的系统

    # arch-chroot /mnt /bin/bash
    

      

    安装必要工具

    # pacman -S vim dialog net-tools wpa_actiond ifplugd wpa_suppicant sudo zsh
    

      

    设置时区

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

      

    设置硬件时间为本地时间(systemd 默认系统时间为 UTC,若跳过这一步,凡是连接此移动硬盘跑过系统的机器主板时间将被刷新为 UTC 时间,造成 Windows 系统时间慢 8 个小时。)

    # timedatectl set-local-rtc true
    

    设置主机名

    # echo arch-linux > /etc/hostname
    

      

    设置语言环境
    编辑 /etc/locale.gen(取消有关语言编码项目的注释即可)

    # vim /etc/locale.gen
    
    en_US.UTF-8 UTF-8
    zh_CN.UTF-8 UTF-8
    zh_TW.UTF-8 UTF-8
    

    刷新 locale-gen

    # locale-gen
    

    创建 locale.conf

    # echo LANG=en_US.UTF-8 > /etc/locale.conf

     

    设置 root 密码

    # passwd
    

      

    新建日常登录的普通用户并设置密码加入 sudoers

    # useradd -m luna
    # passwd luna
    # visudo
    
    ## Allow root to run any commands anywhere
    root ALL=(ALL) ALL
    luna ALL=(ALL) ALL
    

    安装 grub

    # pacman -S grub
    # grub-install --recheck /dev/sda
    # grub-mkconfig -o /boot/grub/grub.cfg
    

      

    退出 Chroot 环境并卸载分区,关闭虚拟机

    # exit
    # umount /mnt/home
    # umount /mnt
    # poweroff
    

    重启,通过 BIOS 启动菜单直接进入移动硬盘里的 Arch Linux,登录 root 用户,连接无线网络

    # wifi-menu
    

    安装配置 yaourt

    添加 archlinuxcn 源至 /etc/pacman.conf

    # vim  /etc/pacman.conf
    
    [archlinuxcn]
    #The Chinese Arch Linux communities packages.
    SigLevel = Optional TrustAll
    Server = http://repo.archlinuxcn.org/$arch

    同步并安装

    # pacman -Syu yaourt
    

      

    安装驱动

    (安装时可以一条命令安装完所有需要的包,只不过中途某些包出现问题会有些麻烦。分开进行记录更方便查看。)
    安装显卡驱动(很囧啊,基本没有 A 卡机器可用)

    # pacman -S xf86-video-intel xf86-video-nouveau xf86-video-vesa
    

      

    安装读写 Windows 分区的必要工具

    # pacman -S ntfs-3g dosfstools
    

      

    安装笔记本触摸板驱动

    # pacman -S xf86-input-synaptics
    

      

    安装 alsa-utils

    # pacman -S alsa-utils
    

      

    安装图形界面

    安装 Xorg 框架(不使用 startx,把一些组件省了)

    # pacman -S xorg-server xorg-server-utils xorg-utils
    

      

    安装显示管理器(登录管理器)

    # pacman -S lxdm

    设置 LXDM 开机自动运行

    # systemctl enable lxdm.service
    

    安装 Cinnamon 桌面环境(基本都是小屏幕,平均配置也不是那么低,就不凑热闹折腾平铺窗口管理器了)

    # pacman -S cinnamon

    安装 Cinnamon 音效(纯属好玩,不是必须)

    # yaourt cinnamon-sound-effects 
    # yaourt int-sounds 

    安装虚拟终端(常用到窗口分割和广播功能)

    # pacman -S terminator
    

      

    安装字体

    安装中文字体

    # pacman -S wqy-zenhei wqy-microhei wqy-microhei-lite wqy-bitmapfont ttf-arphic-ukai ttf-arphic-uming adobe-source-han-serif-otc-fonts adobe-source-han-sans-otc-fonts

    安装常用西文和符号字体

    # pacman -S ttf-dejavu ttf-symbola
    

    更新字体

    # fc-cache -fv
    

      

    设置网络

    设置开机启动 NetworkManager 服务(实现开机自动连接网络,不论无线有线非常方便)

    # systemctl enable NetworkManager
    

      

    安装并配置输入法

    到了这一步,已经注销 root 切换为自己平时使用的普通用户
    安装 fcitx 输入法及设置工具

    $ sudo pacman -S fcitx fcitx-im vim-fcitx fcitx-configtool fcitx-rime 

    安装搜狗拼音(实际上习惯 rime 和云拼音后就几乎不用了)

    $ yaourt sogoupinyin


    设置输入法环境变量(不然输入法是没法用的)

    $ vim ~/.xprofile
    
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS=@im=fcitx
    

      

      这样一个带有图形界面、开机自动联网、登录可选择界面语言、中文输入法直接可用并且汉字显示正常、可以挂载读写 Windows 磁盘分区适合个人日常使用的Arch Linux 基本就安装好了,重启后即可通过显示管理器从图形界面登录到桌面环境。后续工作是安装自己需要的软件(不要着急,浏览器媒体播放器各种语言解释器办公套件等其他Linux发行版一般自带的东西,到了 Arch 都得自己一个个慢慢安装,用哪一种完全由自己决定,再花点时间慢慢来吧),部署各种开发环境,还可进行适当的美化,使用体验如何基本看自己的能力和投入的时间。

      就像官方定位的那样,Arch Linux 不是一个对新手友好的发行版,使用者必须同时具有使用意愿、能力和一定的时间投入才能获得好的使用体验。没有基础的新手和缺乏耐心脾气暴躁使用定位不明确者不建议轻易试水,不然定会痛苦不堪甚至骂骂咧咧。喜欢自己定制一切却设备老旧还急缺时间精力和电费编译 Gentoo 的 Linuxer 们倒是可以试试。

     

    欢迎阅读,欢迎探讨,欢迎指正错误。未特意注明的博文皆为实践后原创,个人笔记非教程,水平有限仅供参考。若转载请贴上原文链接,谢谢!
  • 相关阅读:
    搬家通知
    URL tailing slash
    HowTo: Linux Server Change OR Setup The Timezone
    [引] Security tips for web developers
    [转] Finding the Best Programmer's Font
    Recovering deleted Records
    How to stop uwsgi when no pidfile in config?
    [uwsgi] no request plugin is loaded, you will not be able to manage requests.
    Debian Environment Variables
    Memcached vs. MongoDB vs. Redis Comparison
  • 原文地址:https://www.cnblogs.com/tsdxdx/p/7215416.html
Copyright © 2011-2022 走看看