Arch Linux 硬盘引导-联网安装

============
https://www.archlinux.org/
https://wiki.archlinux.org/
https://wiki.archlinux.org/index.php/Installation_guide  <<官方安装指南(强烈推荐)
https://wiki.archlinux.org/index.php/Main_page
============
主要步骤

完全的离线安装可参考如下:
https://wiki.archlinux.org/index.php/Offline_installation

完全的联网安装:
https://www.archlinux.org/releng/netboot/

说明:本文仅通过硬盘引导启动,还需要联网安装,与以上官方教程主要区别是跳过U盘制作的过程。
当前电脑仅支持BIOS的MBR分区,所以这里不考虑UEFI的GPT分区。
提前规划好分区,(/根分区,/home分区,/swap交换区,等)
=>最近更新:20190512 

01. 文件准备,下载并验证
02. 添加启动项目(或者制作启动U盘)
03. [重启]进入[rootfs] 挂载iso
04. 退出[rootfs]进入iso的[root(zsh)] 磁盘管理
05. 网络设置
06. 安装 base,生成分区表
07. 转换到已安装系统的root权限下[本机硬盘的root下]
08. 安装网络必要组建
09. 安装grub
10. 基本设置
11. 退出并[重启]

==== 基本系统安装后 ====
12. 安装驱动,桌面环境及其他组建
13. [重启]登录桌面
14. 安装输入法,字体
15. 桌面下安装其他
16. 附1:桌面选择
16. 附2:软件列表
17. 附3:防火墙

=======

==== 01. 文件准备,下载并验证
https://www.archlinux.org/download/
当前版本: 2019.03.01
包含的内核: 4.20.13
ISO尺寸: 602.0 MB
PGP签名: https://www.archlinux.org/iso/2019.03.01/archlinux-2019.03.01-x86_64.iso.sig
MD5: 8164667750c46cf297720b21145e1e27
SHA1: e32acb5a7b7cfb2bdba10697cce48ab69e13c186

$ ls
archlinux-2019.03.01-x86_64.iso
archlinux-2019.03.01-x86_64.iso.sig
$
$ md5sum archlinux-2019.03.01-x86_64.iso
8164667750c46cf297720b21145e1e27 archlinux-2019.03.01-x86_64.iso
$ sha1sum archlinux-2019.03.01-x86_64.iso
e32acb5a7b7cfb2bdba10697cce48ab69e13c186 archlinux-2019.03.01-x86_64.iso
$

现有Arch Linux系统下验证
$ pacman-key -v archlinux-2019.03.01-x86_64.iso.sig
==> Checking archlinux-2019.03.01-x86_64.iso.sig...
gpg: assuming signed data in 'archlinux-2019.03.01-x86_64.iso'
gpg: Signature made Fri 01 Mar 2019 11:57:55 PM CST
gpg: using RSA key 4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC
gpg: Note: trustdb not writable
gpg: Good signature from "Pierre Schmitz <pierre@archlinux.de>" [full]
$

其他Linux系统下验证
$ gpg --keyserver pgp.mit.edu --keyserver-options auto-key-retrieve --verify archlinux-2019.03.01-x86_64.iso.sig
gpg: assuming signed data in 'archlinux-2019.03.01-x86_64.iso'
gpg: Signature made Fri 01 Mar 2019 11:57:55 PM CST
gpg: using RSA key 4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC
gpg: requesting key 7F2D434B9741E8AC from hkp server pgp.mit.edu
gpg: key 7F2D434B9741E8AC: 32 signatures not checked due to missing keys
gpg: key 7F2D434B9741E8AC: public key "Pierre Schmitz <pierre@archlinux.de>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
gpg: Good signature from "Pierre Schmitz <pierre@archlinux.de>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 4AA4 767B BC9C 4B1D 18AE 28B7 7F2D 434B 9741 E8AC
$

(可选步骤1)镜像文件准备,这个步骤可以适当加快后续安装过程中,联网下载的速度。
https://www.archlinux.org/mirrorlist/ 这里可以生成并下载最新的 pacman 镜像列表
https://www.archlinux.org/mirrors/status/ 这里可以查看镜像状态 部分站点未同步
https://wiki.archlinux.org/index.php/Mirrors 更多镜像内容
参考以上编辑自己的镜像文件,锅内将china放在最前面. 注意:生成的文件里,去掉站点前面的#号。
mirrorlist 文件,后续复制到 /etc/pacman.d/ 目录下

(可选步骤2)安装菜单 archinstall.txt 文件,将主要步骤及命令写好,一遍安装过程中查看。
注意,备注说明等要使用英文的,安装过程中命令行下无法显示中文。

(可选步骤3)不习惯命令行分区的,且还要双系统环境,保留数据分区等,建议提前完成分区的步骤。

  • 使用其他有桌面的发行版iso启动后进行分区操作,比如Mint linux等.
  • 或者在windows下使用 DiskGenius 工具进行分区操作,http://www.diskgenius.cn/

==== 02. 添加启动项目(或者制作启动U盘) 

title Install Arch3
root (hd0,2)
kernel /arch20190301/vmlinuz archisolabel=ARCH_201903
initrd /arch20190301/archiso.img

可参考:硬盘安装Linux 系统
https://www.cnblogs.com/sztom/p/10292522.html

==== 03. [重启]进入[rootfs] 挂载iso
启动过程提示找不到,得到一个 Shell [rootfs]状态,手动挂载iso
通过df, lsblk, blkid, fdisk -l, mount等命令再次确认磁盘状态,
我这里的状态是:要挂载的archlinux-2019.03.01-x86_64.iso文件在 sdb3分区的arch文件夹里
添加2个目录,先挂载sdb3分区到目录/sb3下,再挂在iso镜像文件到/iso目录下.
# mkdir /sb3
# mkdir /iso
# mount /dev/sdb3 /sb3
# mount /sb3/arch/archlinux-2019.03.01-x86_64.iso
# exit

==== 04. 退出[rootfs], 进入[iso的root(彩色的zsh环境) ],进行磁盘管理

root@archiso~#

# blkid
/dev/sda6: TYPE="ext4" //用于根目录
/dev/sda7: TYPE="ext4" //用于home目录
/dev/sda9: TYPE="swap" //用于交换区

# mkfs.ext4 /dev/sda6
# mount /dev/sda6 /mnt
# mkdir /mnt/home
# mount /dev/sda7 /mnt/home
# mkswap /dev/sda9
# swapon /dev/sda9

==== 05. 网络设置
若是有线DHCP网络直接自动获取ip,ping测试一下链接即可。
dhcpcd 

若是无线wifi网络
# wifi-menu //选择wifi联网
# ip link //查看本机的无线网卡名称
# iw dev 无线网卡名称 link //查看链接状态
# ping archlinux.org //测试网络

更新系统时钟
# timedatectl set-ntp true
# timedatectl status //To check the service status

==== 06. 安装 base,生成分区表
(可选步骤)检查镜像列表文件,适当调整,比如把china的站点放在最前面。
步骤1若有准备,这里可以直接使用,复制过来即可。/etc/pacman.d/mirrorlist

没有准备也可以直接vim编辑当前的文件(不熟悉vi命令,可以先cp备份一个副本再修改):

  1. vim /etc/pacman.d/mirrorlist
  2. /China  找到国内源(注意大小写)
  3. 2dd    剪切2行(yy是复制;dd是剪切)
  4. :1    返回第一行,方向键向下,将焦点移动到空行,(按i进入插入模式,可以多按几次回车,提前准备好空行。然后按esc返回普通模式)
  5. p    粘帖
  6. 重复2~5步骤,直到将所有能找到的China都移动到最前面。
  7. :wq    保存并退出(如果该乱了,可以:q! 不保存退出;然后重新修改)

当然,不修改也可以,只要网络好就没问题。

通过 pacstrap 安装基本系统
# pacstrap /mnt base
pacstrap -i /mnt base base-devel  //(-i 交互模式)
https://git.archlinux.org/arch-install-scripts.git/tree/pacstrap.in
Options:
-C config Use an alternate config file for pacman
-c Use the package cache on the host, rather than the target
-G Avoid copying the host's pacman keyring to the target
-i Prompt for package confirmation when needed (run interactively)
-M Avoid copying the host's mirrorlist to the target
-h Print this help message

生成 fstab 配置
# genfstab -U /mnt >> /mnt/etc/fstab

==== 07. 转换到已安装系统的root权限下[本机硬盘的root下]
# arch-chroot /mnt

[root@archiso /]# 

已进入新装的系统命令行下,是默认的 /bin/bash
# alias ls='ls --color' //增加列表颜色显示

(可选步骤2)若准备了安装菜单,这时就可以使用 Alt + 方向键,切换到第二个tty,登录打开
随时使用 Alt + 方向键查看说明,指导安装过程。

==== 08. 无线wifi安装网络必要组建
# pacman -S dialog
# pacman -S wpa_supplicant
# pacman -S iw

==== 09. 安装grub
# pacman -S grub
# pacman -S os-prober
# grub-install --target=i386-pc /dev/sda 
# grub-mkconfig -o /boot/grub/grub.cfg

==== 10. 基本设置
设置root 密码:
#passwd
创建用户,并设置密码
# useradd -m -g users -s /bin/bash tom
# passwd tom
安装并配置顺手的 Sudo
# pacman -S sudo
/etc/sudoers
root ALL=(ALL)ALL
tom ALL=(ALL)ALL

终端字体(可选)
编辑 /etc/vconsole.conf:
KEYMAP=us
FONT=Lat2-Terminus16
or
FONT=

配置时区及硬件时间
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置系统时间:

$ date -s "03 23, 2019 12:23:04"
或利用 ntp 自动校时:
$ pacman -S ntp
$ ntpdate time.nist.gov
将系统时间写入硬件时钟:
$ hwclock --systohc --utc
注意:
Linux 的硬件时钟使用 UTC,而 Windows 则使用本地时间。
如果要和 Windows 进行双系统启动,可以将 Windows 设置为使用 UTC 硬件时钟,参见这里。
同时关闭 Windows 上的自动校时功能,只用 Linux 上的 ntp。
https://wiki.archlinux.org/index.php/System_time
https://linux.cn/lfs/LFS-BOOK-7.7-systemd/chapter07/clock.html

设置 hostname
# echo tompc > /etc/hostname
你还得修改/etc/hosts文件的内容

# vim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

本土化
修改 Locale,取消en_US.UTF-8 UTF-8和其他必要的语言前面的注释符号
# vi /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312
# locale-gen
# cat /etc/locale.conf
LANG="en_US.UTF-8"
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
注意:不要在这里把系统全局设置成中文,因为终端无法显示中文,请单独将桌面环境设置为中文。

引导加载程序 有关支持Linux的引导加载程序列表,请参阅Arch引导进程#Boot loader。
Intel或AMD CPU,请启用微码更新。
# pacman -S intel-ucode
# pacman -S amd-ucode

==== 11. 退出并[重启]
# exit
# umount -R /mnt/home
# umount -R /mnt
# reboot


==== 基本系统安装后 ==== 
请参阅系统管理指导和安装后教程的一般建议(如设置图形用户界面,声音或触摸板)。
https://wiki.archlinux.org/index.php/General_recommendations
有关可能感兴趣的应用程序列表,请参阅应用程序列表。
https://wiki.archlinux.org/index.php/List_of_applications

==== 12. 安装驱动,桌面环境及其他组建
这次重新登录,就可以使用普通用户登录了,比如前面新建的用户tom

初次登录系统,无网络,
$ sudo systemctl status netctl  //查看网络服务状态
$ sudo systemctl start netctl  //启动网络服务
$ sudo systemctl enable netctl  //开机启用网络服务

有线网络自动获取ip地址:
dhcpcd

若是无线wifi网络
# wifi-menu //选择wifi联网
# ip link //查看本机的无线网卡名称
# iw dev 无线网卡名称 link //查看链接状态
# ping archlinux.org //测试网络

驱动
1.安装ALSA(声卡)
$ sudo pacman -S alsa-utils
2.安装显卡驱动
当前本机是Intel核显,若使用的是其他显卡,请参考官方wiki,点击进入。
$ sudo pacman -S mesa xf86-video-intel
3.安装触摸板驱动
$ sudo pacman -S xf86-input-synaptics

不建议安装xorg包,大部分用不到的;只需要单独安装xorg-xinit, xorg-server即可。
$ sudo pacman -S xorg-xinit xorg-server
$ startx 启动测试

桌面这里安装xfce
$ sudo pacman -S xfce4
$ startxfce4   启动桌面
到此已经有桌面了,且所有操作可以在桌面上打开终端操作。

测试声卡,没法调整音量,继续安装如下2个,在面板里手动添加pulseaudio即可。
$ sudo pacman -S pulseaudio
$ sudo pacman -S pavucontrol

==== 13. [重启]登录桌面
已经安装了桌面,但重启后还是进入ctl命令行,要打开xfce桌面,要用命令startxfce4,
继续安装桌面管理lightdm即可启动直接进入xfce桌面了。
$ sudo pacman -S lightdm
$ sudo pacman -S lightdm-gtk-greeter

安装增加开机启动:
$ sudo systemctl enable lightdm.service  

更多的桌面常用组建(懒人包)
$ sudo pacman -S xfce4-goodies

==== 14. 安装输入法,字体
$ sudo pacman -S ibus
$ sudo pacman -Ss '^ibus*'
$ sudo pacman -S ibus-googlepinyin
$ ibus-setup

$HOME/.bashrc
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -x -d
$ source ~/.bashrc

字体
$ sudo pacman -S noto-fonts-cjk
$ sudo pacman -S adobe-source-han-sans-cn-fonts

==== 15. 桌面下安装其他
办公软件
$ sudo pacman -S libreoffice
$ sudo pacman -S libreoffice-fresh-zh-cn
3D制作软件
$ sudo pacman -S blender

更多软件
$ sudo pacman -S ntfs-3g exfat-utils
$ sudo pacman -S shadowsocks
$ sudo pacman -S chromium
$ sudo pacman -S firefox
$ sudo pacman -S vlc
$ sudo pacman -S qbittorrent
$ sudo pacman -S amule
xarchiver p7zip unrar unzip zip
flameshot
mate-system-monitor 
htop atop archey3 gkrellm glances hardinfo hwinfo iftop iotop jnettop lshw nethogs nmon screenfetch sysstat smem 

==== 16. 附1:桌面的选择 

+++ GNOME桌面 

gnome 包含了基本的 GNOME桌面,gnome-extra 则包含 GNOME 应用、归档管理器、磁盘管理器、文本编辑器和其它的应用。
$ sudo pacman -S gnome gnome-extra
# pacman -S gnome-tweak-tool 安装gnome桌面优化工具
# pacman -S alacarte 安装gnome桌面菜单编辑器
常用包:pacman -S file-roller evolution gedit gnome-photos cheese
$ pacman -S gnome-packagekit gnome-settings-daemon-updates
pacman -S unrar unzip p7zip
最后一步是在 Arch 上开启 GDM 显示管理器。
$ sudo systemctl start gdm.service
$ sudo systemctl enable gdm.service

+++ KDE桌面  
安装kde-plasma桌面环境
# pacman -S plasma 基础包
# pacman -S konsole 安装kde下的控制台终端
# pacman -S dolphin 安装kde下的文件管理器
# pacman -S kate 安装kde下的文字编辑器
or
# pacman -S plasma-desktop 最简安装(仅有桌面软件)
or
# pacman -S kde-applications 安装kde套件,包含了常用的系统工具
# pacman -S sddm 登录管理器SDDM
# systemctl enable sddm 启用 sddm显示管理器
# pacman -S plasma-nm 安装 网络管理的前端工具(图形界面)

+++ XFCE4桌面,通过LXDM启动
LXDM是个桌面管理器,用来登录系统及启动XFCE桌面。
# pacman -S lxdm
# systemctl enable lxdm.service
安装XFCE4
# pacman -S xfce4
经过以上步骤,可以通过下面的命令来启动XFCE4了:
startxfce4

+++ LXDE桌面 
安装LXDM管理器和LXDE桌面:
# pacman -S lxdm lxde
设置lxdm开机启动:
# systemctl enable lxdm

==== 17. 附2:软件列表 

https://wiki.archlinux.org/index.php/List_of_applications

https://wiki.archlinux.org/index.php/General_recommendations
==== 18. 附3:防火墙 

https://wiki.archlinux.org/index.php/Category:Firewalls

https://wiki.archlinux.org/index.php/Nftables

https://firewalld.org/

https://gufw.org/

======================================================
======================================================

其他...
安装os-prober这个包,它可以配合Grub检测已经存在的系统,自动设置启动选项。
pacman -S os-prober
上述步骤没有安装,这个基本就用1次,所以手动添加windows启动项也一样。

网络管理主要有这几种
netctl.service
systemd-networkd.service
NetworkManager.service
启用/停用 systemctl enable/disable xxx

配置网络命令
# pacman -S wireless_tools wpa_actiond
# wifi-menu wlan0
# systemctl enable net-auto-wireless.service

最新的flash插件需要到AUR上去下,这里提供下载地址,点击下载。
下载完成后,解压,进入相关目录。
makepkg
pacman -U 生成的文件名,以.xz结尾

以下参考,有包含UEFI模式的部分。
https://linux.cn/article-9170-1.html
https://www.viseator.com/2017/05/17/arch_install/
https://www.jianshu.com/p/7c78dc4c53e5
https://bbs.archlinuxcn.org/viewtopic.php?id=1037
https://blog.csdn.net/r8l8q8/article/details/76516523
https://blog.yoitsu.moe/arch-linux/installing_arch_linux_for_complete_newbies.html
https://www.cnblogs.com/bluestorm/p/5929172.html
http://blog.lucode.net/linux/archlinux-install-tutorial.html
https://wiki.archlinux.org/index.php/Systemd-boot#Configuration
https://blog.fooleap.org/hard-disk-installation-for-archlinux.html
https://vsxen.github.io/2016/11/08/install-arch-with-win7/
https://hyjk2000.github.io/2014/01/23/arch-linux-install-guide/
==================
https://wiki.archlinux.org/index.php/List_of_applications/Security#Encryption,_signing,_steganography
网络安全
另见维基百科:数据包分析器的比较。
https://en.wikipedia.org/wiki/Comparison_of_packet_analyzers
=====================

 

[root@archiso /]#