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. 程序员必会算法-KMP算法

    KMP算法是一种优秀的字符串匹配算法,字符串匹配的常规算法是一步一步进行移位和比较操作,直至找到完全相匹配的字符串. 下面通过一个例子,为大家仔细说明KMP算法的使用和思路: 问题: 在字符串“DEA ...

  2. 历史命令与实时记录(redhat6.8)

    历史命令与实时记录(redhat6.8) linuxshell 2018年02月13日 10时58分53秒 参数 HISTTIMEFORMAT HISTSIZE HISTFILESIZE HISTFI ...

  3. 考研计算机复试(广东工业大学C语言复试2014~2017笔试题)(精华题选)

    1.C语言中,全局变量的存储类别是() A.extern B.void C.int   D.static 2.静态变量: (1)static 外部变量===>在函数外定义,只能在本文件中使用 ( ...

  4. 链接中 href='#' 和 href='###' 的区别

    <a> 标签 + onclick='{jscode}' 是很常用的一种 js 运用方式,而不使用 href='javascript:{jscode}' 是为了兼容多种浏览器对 <a& ...

  5. spark中map与flatMap的区别

    作为spark初学者对,一直对map与flatMap两个函数比较难以理解,这几天看了和写了不少例子,终于把它们搞清楚了 两者的区别主要在于action后得到的值 例子: import org.apac ...

  6. web语言发展史

    引用自CSDN,地址:https://blog.csdn.net/moshenglv/article/details/51590830 提到Web,不得不提一个词就是“互联网”.Web是World W ...

  7. Asp.Net Core通过HttpStatusCode状态处理响应结果

    在我的一个Asp.Net Core 2.1 的项目中,我们需要通过获得服务器返回的状态,去实现不用的操作,经过多方资料查询和实践,个人总结一种方法 一.修改控制器 在要返回值的控制器Action中,R ...

  8. 配置Nim的默认编译参数 release build并运行

    配置Nim的默认编译参数 release build并运行 默认情况下nim编译是debug build,如果需要release build, 需要加上-d:release , release编译的命 ...

  9. 设置Delphi默认按utf8格式保存单元文件

    Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0\Editor] " ...

  10. 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下

    首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...