Pages

Sunday, 20 June 2021

根据官方文档安装archlinux 基础篇

 简单介绍一下,这里使用的是arch的官方文档的安装顺序进行的安装,这里介绍的是安装出来不带图形界面的版本的archlinux,下面会尽量的详细去记录整个的安装过程。

0x01 准备过程

  • archlinux的livecd光盘,这个去archlinux官网去下载https://www.archlinux.org/download/
  • 把iso刻录进光盘;用dd命令或其他方式烧录iso到u盘中
    • 刻录使用刻录大师,选iso镜像,千万不要选择成数据盘这样没用
    • linux 下建议用dd命令来操作dd if=./archlinux.iso of=/dev/sdx #x代表u盘。windows下建议使用rufus来烧录,操作非常的方便成功率也高。
  • 设置主机bios 从u盘或是光盘启动
  • 设置bios里面的uefi选项为启用
  • 有线网络,尽量用有线。无线我的笔记本就不好用,以后会更新解决办法
  • 一部手机或IPAD用来查看文档用,我是整机安装的没有使用虚拟机

0x02 安装准备过程

  • 查看键盘布局loadkeys layout 默认为美式键盘映射 一般不用改
    • 将 layout 转换为您的键盘布局,如frukdvorakbe-latin1这里有国家的二位字母编码表。使用命令 ls /usr/share/kbd/keymaps/**/*.map.gz 列出所有可用的键盘布局。Console fonts 位于 /usr/share/kbd/consolefonts/, 设置方式请参考 setfont(8).
  • 验证uefi ls /sys/firmware/efi/efivars 不存在的话启动的是bios方式,需要对启用主板的uefi功能。如果没有就算了。
  • 检查网是不是连上了 ping -c 3 archlinux.org
    • 连上的话是有返回的
    • 若发现网络不通,利用 systemctl stop dhcpcd@,TAB 停用 dhcpcd 进程。这里如果就有问题,请前往arch官网查看网络相关的配置。出师不利(我用的wifi,非常的不好用就是连不上,最后重新用的有线,折腾到最后也基本上玩明白无线了,以后会讲,篇幅略大)
      • 无线的方式连接
  • 更新系统时间 timedatectl set-ntp true
  • 下面要对硬盘重新的分区 因为用的gpt所以我用的gdisk工具,如果是用mbr直接用disk就好了。说几个gdisk常用的选项 o 新建分区表gpt格式的;n新建分区;p 列出现有分区;d删除分区;w保存。我用的硬盘分区如下 128g固态,500m esp分区,4g swap,其余给/;500g 机械,给/home 具体过程如下。首先用lsblk来查看具体的分区大小来判断哪个是机械硬盘,哪个是固态硬盘。我的机械是/dev/sda,固态/dev/sdb. 现在开始分区,gdisk /dev/sdb
    • 首先 p一下看看有哪些已经做好的分区,然后一个一个的d删除,o一下新建一个gpt分区表,之后n,创建新的分区,编号默认,起始默认,+500M这是esp分区,8300 linux默认即可,这就是sdb1 500m的esp分区。这里说一下有的教程会让更改83xx的号,没用,后面都得重新格式化,所以没有意义。继续,n,number不管,起始默认,+4G,8300。再继续,n,number不管,起始默认,结束默认,8300默认,这里要保存一下,w。完成。然后将机械硬盘整体格式化为sda1 500g
    • 此时分区为 esp /dev/sdb1 500mswap /dev/sdb2 4g根分区 / /dev/sdb3/home /dev/sda1 500g。分别格式化操作。mkfs.fat -F32 /dev/sdb1,mkswap /dev/sdb2,mkfs.ext4 /dev/sdb3,mkfs.ext4 /dev/sda1
  • 挂载 mount /dev/sdb3 /mnt 创建三个文件夹boot,boot/efi,home。cd /mnt mkdir -p boot/efi mkdir home.继续挂载 mount /dev/sdb1 /mnt/boot/efi mount /dev/sda1 /mnt/home.启用swap swapon /dev/sdb2。后面会用到genfstab,它会自动检测挂载的文件系统和 swap 分区。

0x03 安装

  • 选择镜像源,编辑 /etc/pacman.d/mirrorlist因为我们在中国把china的放几个就好啦,注释要不要无所谓,最终这个文件里面只要有几个中国的地址就好来,比如163 ustc 和清华的
    ## China
    Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
    Server = http://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
    Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
    Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
    

    这个mirrorlist非常的重要一定要做对了,后面也将通过 pacstrap 被复制并保存在到系统中。

  • 安装基本系统。因为要使用AUR所以还要装一个base-devel。如果不用可以不装这个。输入命令pacstrap -i /mnt base base-devel 。使用 -i 选项时会在实际安装前进行确认。

0x04 配置系统

  • fstab 这个用命令去生成不用手动的敲,genfstab -U /mnt >> /mnt/etc/fstab,在这样做完以后最好去看一下/mnt/etc/fstsb有没有内容,内容正确不正确。

  • chroot Chroot 就是变更当前进程及其子进程的可见根路径。变更后,程序无法访问可见根目录外文件和命令。这个目录叫作 chroot jail。输入命令 arch-chroot /mnt这样根目录就变成了/mnt了。以下是需要的操作

    • 设置时区上海的时区 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime - 设置时间标准为 UTC,并调整时间漂移hwclock --systohc --utc
    • Locale 本地化的程序与库若要本地化文本,都依赖 Locale, 后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等.在下面两个文件设置:locale.gen 与 locale.conf./etc/locale.gen是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号()即可,建议选择帶UTF-8的項
      # nano /etc/locale.gen
      en_US.UTF-8 UTF-8
      zh_CN.UTF-8 UTF-8
      zh_TW.UTF-8 UTF-8
      
    • 执行locale-gen以生成locale信息。/etc/locale.gen 生成指定的本地化文件,每次 glibc 更新之后也会运行 locale-gen
    • 创建 locale.conf 将系统 locale 设置为en_US.UTF-8,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。输入命令 ` echo LANG=en_US.UTF-8 > /etc/locale.conf`不推荐将这里设置中文,tty容易乱码。
    • 主机名 要设置hostname,将其添加到 /etc/hostnamemyhostname 是需要的主机名:echo myhostname > /etc/hostname。最好也添加到hosts的127.0.1.1一份。
      /etc/hosts
      127.0.0.1	localhost.localdomain	localhost
      ::1		localhost.localdomain	localhost
      127.0.1.1	myhostname.localdomain	myhostname
      
    • 网络配置 如果使用有线网的话,令dhcp服务开机启动:systemctl enable dhcpcd.service.如果使用无线网络的话,要安装这几个包,否则重启之后无法连接无线网络pacman -S iw wpa_supplicant dialog networkmanager.

      如果退出chroot之后,进入arch,使用Wifi,那么就可以禁用dhcp,让networkmanager自启。如果是有线就暂时不进行下面的操作。使用networkmanager的原因是和Gnome3结合的很好,并且可以管理有线和wifi。 对新安装的系统,需要再次设置网络。具体请参考 Network configuration (简体中文) 。对于 无线网络配置安装 软件包 iwwpa_supplicantdialog 以及需要的 固件软件包.

    • initramfs 创建一个初始 RAM disk:mkinitcpio -p linux
    • root密码 用passwd来更改
    • grub引导.先安装所需要的程序pacman -S grub efibootmgr intel-ucode 然后配置grub-install --recheck /dev/sdb 如果提示error:cannot find EFI directory,说明找不到EFI文件夹的位置,还需要加上–efi-directory参数指明安装位置grub-install --recheck /dev/sdb --efi-directory=/boot

      没有错误则说明安装成功。安装完毕之后还需要生成一个grub配置文件。这一步会探测系统上已经安装的系统并写入到配置文件中。但是由于在安装介质环境中,此时Windows系统可能会探测不到。等到一会重启真正进入Arch环境之后,还需要重新执行一下这个命令,这样就会正常地探测到所有系统了。 运行grub-mkconfig -o /boot/grub/grub.cfg即将完成了。

处理器厂商会发布 microcode 以增强系统稳定性和解决安全问题。Microcode 可以通过 BIOS 更新,Linux 内核也支持启动时应用新的 Microcode。没有这些更新,可能会遇到一些很难查的的死机或崩溃问题。建议所有 Intel 用户使用新的微代码。Intel Haswell 和 Broadwell 处理器家族的用户请务必使用最新的微代码。


重启

输入 exit 或按 Ctrl+D 退出 chroot 环境。 可选用 umount -R /mnt 手动卸载被挂载的分区:这有助于发现任何“繁忙”的分区,并通过 fuser(1) 查找原因。 最后,通过执行 reboot 重启系统:systemd 将自动卸载仍然挂载的任何分区。不要忘记移除安装介质,然后使用root帐户登录到新系统。

至于图形界面及美化,将在下一篇中介绍.

---------------

好了,接上一篇。上一篇安装完我们就有了一个基本的archlinux,没有桌面环境,工作起来不是很方便。这里介绍安装配置常用的软件及优化桌面。

基本配置

  • 安装zsh pacman -S zsh git wget sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" 这时候因为zsh不匹配* 所以还要做一条设置添加到~/.zshrc添加在最后setopt no_nomatch 然后进行source .zshrc命令
  • 创建新用户ivo useradd -m -G wheel ivo -m:在创建时同时在/home目录下创建一个与用户名同名的文件夹,这个目录就是你的家目录-G wheel-G代表把用户加入一个组。

    只要家目录不变,你重装系统后只需要重新安装一下软件包(它们一般不存放在家目录),然后所有的配置都会从家目录中读取,完全不用重新设置软件着。你可以在家目录不变的情况下更换你的发行版而不用重新配置你的环境。切换用户后所有的设置会从新的用户的家目录中读取,将不同用户的资料与软件设置等完全隔离。有些著名的配置文件比如vim的配置文件~/.vimrc,只要根据自己的使用习惯配置一次, 在另一个Linux系统下(例如你的服务器)把这个文件复制到家目录下,就可以完全恢复你的配置。引用自https://www.viseator.com/2017/05/19/arch_setup/

  • sudo 安装pacman -S sudo,配置visudo,取消注释%wheel ALL=(ALL)ALL
  • 配置普通用户的用户密码 passwd ivo,重启reboot以后连同sudo都生效,下次进入就不用root了,用ivo。

图形化

  • 先装显卡驱动,我用的intel的集成显卡,所以安装sudo pacman -S xf86-video-intel就好了.独立显卡现在再没装,不玩steam用处不大,虽然我有gtx950m.这里有详细的解释我就不多说了可以选择中文,在左侧.https://wiki.archlinux.org/index.php/Xorg#Driver_installation
  • xrog基础的图形服务.安装pacman -S xorg-server xorg-xinit即可.
  • 安装xfce4 桌面 pacman -S xfce4 xfce4-goodies networkmanager network-manager-applet networkmanager、network-manager-applet 是网络管理器后者是桌面的一个显示,开机自启 networkmanager systemctl enable NetworkManager
  • 安装桌面管理器 sddm sudo pacman -S sddm.它用来后面可以选择桌面环境用比如现在装了xfce4,想体验kde,启动的时候就要用它来选择桌面环境. 设置sddm开机启动sudo systemctl enable sddm

    sudo systemctl start 服务名 (启动一项服务) sudo systemctl stop 服务名 (停止一项服务) sudo systemctl enable 服务名 (开机启动一项服务) sudo systemctl disable 服务名 (取消开机启动一项服务)

  • 这里还要禁用ntctl sudo systemctl disable netctl 它和NetworkManager有冲突.
  • reboot 就可以使用图形界面了.下面是解决问题的时间 ### 问题解决
  • 打开终端以后大写字母是重叠的.这个是因为字体的原因造成的,需要安装对应的字体然后再终端里面重新选择.sudo pacman -S adobe-source-han-sans-cn-fonts ttf-dejavu之后再终端设置dejavu的mono字体即可.还有一点可以设置的是application-setting-settings manager-Appearance-fonts-default font 选择成source han sans cn
  • ssh-keygen 无法使用,因为没有安装openssh pacman -S openssh
  • github上面自己的项目 git cone 下来init输入了用户名密码后面push时候还要密码,这个git clone 的方式不对 不能用https开头的.用git@github.com开头的这个,然后用ssh-keygen生成的公钥,添加到github自己的账户里面.
  • 触摸板点击没有效果,只能实体按键.设置 setting-settings manager-mouse and touchpad-touchpad-general-勾选tap touchpad to click.这里如果不好使,装去触摸板的程序pacman -S xf86-input-synaptics
  • 没有locate,装sudo pacman -S mlocate sudo updatedb
  • yaourt.安装这个后面有着非常大的便利 cd tmp git clone https://aur.archlinux.org/package-query.git,这是依赖,进入目录cd package-query,makepkg -si,一路回车,速度较慢各种编译.然后git clone https://aur.archlinux.org/yaourt.git,cd yaourt,’makepkg -si’即可安装完成.
git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..
Yaourt是archlinux方便使用的关键部件之一,但没有被整合到系统安装中的工具。建议在装完系统重启之后,更新完pacman和基本系统之后,就安装这个工具。
最简单安装Yaourt的方式是添加Yaourt源至您的 /etc/pacman.conf,在文件最后加入:

[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
然后

pacman -Syu yaourt

  • 安装chrome 官方源没有 要用 yaourt来安装 yaourt -S google-chrome这时必须不能用root账户来操作.
  • 输入法 pacman -S fcitx-im fcitx-configtool.在/~下创建一个.xprofile的文件,内容如下,cat是查看的命令只保留 export部分即可
 cat .xprofile 
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

  • 自动挂载移动硬盘和手机,读写 NTFS 盘pacman -S gvfs gvfs-mtp ntfs-3g
---------------------------

archlinux安装完成的后续工作

archlinux 安装完成以后,就需要对这个系统进行更多的基本的软件安装,下面列举了一些常用的软件.

  • xarchiver 是Xfce4 默认的压缩文档管理器。sudo pacman -S xarchiver p7zip
  • 为了能够支持samba,访问共享时,在 thunar 路径栏中输入 smb://ip 即可.sudo pacman -S gvfs-smb
  • 百度网盘导出的crx插件 地址.https://github.com/acgotaku/BaiduExporter
  • aria2建议的配置文件https://raw.githubusercontent.com/acgotaku/BaiduExporter/master/aria2c/aria2.conf
  • 查看基本的显示信息sudo pacman -s screenfetch
  • 字体sudo pacman -S adobe-source-han-sans-cn-fonts ttf-dejavu yaourt dejavu powerline
  • 自动挂载 sudo pacman -S gvfs gvfs-mtp ntfs-3g
  • 媒体 yaourt kodi
  • 主题icon yaourt numix
  • 主题 sudo pacman -S arc-gtk-theme
  • 文本 yaourt wps-office
  • 解压 sudo pacman -S unarchiver
  • virtualbox虚拟机 sudo pacman -S virtualbox-host-modules-arch virtualbox ,之后再装扩展插件.这里因为没有使用自己编译的内核所以要用virtualbox-host-modules-arch这个包,其他的扩展同理.
  • pdf viewer sudo pacman -S evince
  • curl,jq 用来更新壁纸用 sudo pacman -S curl jq

 

No comments:

Post a Comment