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交换区,等)

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:桌面的选择
17. 附2:软件列表
18. 附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 文件,将主要步骤及命令写好,一遍安装过程中查看。
注意,备注说明等要使用英文的,安装过程中命令行下无法显示中文。

==== 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环境) ],进行磁盘管理
# 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

通过 pacstrap 安装基本系统
# pacstrap /mnt base
pacstrap -i /mnt base base-devel
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 -p /mnt >> /mnt/etc/fstab

==== 07. 转换到已安装系统的root权限下[本机硬盘的root下]
# arch-chroot /mnt
已进入新装的系统命令行下,是默认的 /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-bios
# pacman -S os-prober
# grub-install --recheck /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 -s /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文件的内容

本土化
修改 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
# umont -R /mnt/home
# umont -R /mnt
# reboot


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

==== 12. 安装驱动,桌面环境及其他组建
这次重新登录,就可以使用普通用户登录了,比如前面新建的用户tom
驱动
1.安装ALSA(声卡)
$ sudo pacman -S alsa-utils
2.安装显卡驱动
当前本机是Intel核显,若使用的是其他显卡,请参考官方wiki,点击进入。
$ sudo pacman -S mesa xf86-video-intel
3.安装触摸板驱动
$ sudo pacman -S xf86-input-synaptics

桌面这里安装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 pacman -S xfce4-goodies

==== 14. 安装输入法,字体
$ sudo pacman -S ibus
$ sudo pacman -S ibus-qt
$ 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
$ sudo pacman -S shadowsocks
$ sudo pacman -S chromium
$ sudo pacman -S firefox
$ sudo pacman -S vlc
$ sudo pacman -S qbittorrent
$ sudo pacman -S amule

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

$ sudo pacman -S xorg xorg-server xorg-xinit
$ startx 启动测试

+++ 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
=====================

Arch Linux 硬盘引导-联网安装的更多相关文章

  1. [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区

    目录 前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 fdisk 命 ...

  2. Arch Linux开启SSH远程安装(1.5)

    现在你的眼前应该可以看到[root@archiso~]#的提示. 首先,建立目标机器的网络设置: 安装和升级软件包前,先让本地的包数据库和远程的软件仓库同步是个好习惯. [root@archiso~] ...

  3. Linux硬盘命名和安装分区

    硬盘命名: 硬盘命名基于文件,一般有如下文件方式: /dev/hda1 /dev/sdb3 具体含义如下: /dev:是所有设备文件存放的目录. hd和sd:他们是区别的前两个字母,代表该分区所在的设 ...

  4. Arch Linux中通过AUR安装Redis Desktop Manager失败

    笔者在安装Redis Desktop Manager时出现了Failed to connect to chromium.googlesource.com port 443: Connection ti ...

  5. Arch Linux 安装、配置、美化和优化

    国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...

  6. 怎样安装Arch Linux以及Deepin桌面环境

    一.概述 Arch Linux 是一个轻量级的Linux发行版本,实际上,Arch Linux提供给用户很多选择,用户可以自定义自己的安装过程,不x像其他很多的Linux发行版本,安装过程甚至是一个只 ...

  7. linux 启动引导器 grub,单用户模式:

    Linux启动引导器 安装linux操作系统的时候就已经将启动引导器安装到硬盘上去了,才能通过硬盘的读取方式启动操作系统. 引导器分为2种: Lilo:功能比较简单,使用比较麻烦,后续发行版中使用gr ...

  8. windows10+arch linux双系统 uefi启动

    安装前的准备Archlinux 安装ISO镜像,下载:http://mirrors.163.com/archlinux/iso/2013.05.01/U盘一个,最好1G以上,格式化成FAT32.把下载 ...

  9. Arch Linux Installation Guide

    Arch Linux Installation Guide   timedatectl set-ntp true   sed -i '/Score/{/China/!{n;s/^/#/}}' /etc ...

随机推荐

  1. 简易祖玛--canvas

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. .net正则匹配

    char[] weixin = txtweixinhao.Text.Trim().ToCharArray(); for (int i = 0; i < weixin.Length; i++) i ...

  3. ConcurrentHashMap实现原理

    ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),Con ...

  4. 第九次作业——K-means算法应用:图片压缩

    一.读取一张示例图片或自己准备的图片,观察图片存放数据特点. 根据图片的分辨率,可适当降低分辨率. 再用k均值聚类算法,将图片中所有的颜色值做聚类. 然后用聚类中心的颜色代替原来的颜色值. 形成新的图 ...

  5. L1-037 A除以B (10 分)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805094485180416   真的是简单题哈 —— 给定两个 ...

  6. Shell 函数相关

    一.函数的两种定义方式 第一种:函数名(){ ...... } 第二种:function 函数名{ ...... } 调用时直接使用 函数名 调用,将函数当作一个“命令”即可.函数内部直接使用 $1. ...

  7. 如何开发微信小程序学习

    文件中 project.config.json是开发者工具为我们自动生成的一个开发者工具的配置文件,主要是保存了一些我们对开发者工具的个性化配置. 一个微信小程序应用至少要有两个文件 一个是app.j ...

  8. Archlinux配置~小米笔记本Air 13.3英寸版本

    1 .zsh echo $ SHELL \\查看当前正在使用shell: pacman -S zsh zsh-syntax-highlighting git wget wget https://raw ...

  9. python 对 sqlite3的简单使用

    SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成.Python就内 ...

  10. PHP 位运算

    $a & $b    a,b二进制后,取得每对应为都有1的部分,然后再转换为十进制 $a | $b      a,b二进制后,取得每对应为只要有1的部分,然后再转换为十进制 $a >&g ...