Arch Linux 硬盘引导-联网安装
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
======================================================
======================================================
其他...
安装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 硬盘引导-联网安装的更多相关文章
- [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区
目录 前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 fdisk 命 ...
- Arch Linux开启SSH远程安装(1.5)
现在你的眼前应该可以看到[root@archiso~]#的提示. 首先,建立目标机器的网络设置: 安装和升级软件包前,先让本地的包数据库和远程的软件仓库同步是个好习惯. [root@archiso~] ...
- Linux硬盘命名和安装分区
硬盘命名: 硬盘命名基于文件,一般有如下文件方式: /dev/hda1 /dev/sdb3 具体含义如下: /dev:是所有设备文件存放的目录. hd和sd:他们是区别的前两个字母,代表该分区所在的设 ...
- Arch Linux中通过AUR安装Redis Desktop Manager失败
笔者在安装Redis Desktop Manager时出现了Failed to connect to chromium.googlesource.com port 443: Connection ti ...
- Arch Linux 安装、配置、美化和优化
国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...
- 怎样安装Arch Linux以及Deepin桌面环境
一.概述 Arch Linux 是一个轻量级的Linux发行版本,实际上,Arch Linux提供给用户很多选择,用户可以自定义自己的安装过程,不x像其他很多的Linux发行版本,安装过程甚至是一个只 ...
- linux 启动引导器 grub,单用户模式:
Linux启动引导器 安装linux操作系统的时候就已经将启动引导器安装到硬盘上去了,才能通过硬盘的读取方式启动操作系统. 引导器分为2种: Lilo:功能比较简单,使用比较麻烦,后续发行版中使用gr ...
- windows10+arch linux双系统 uefi启动
安装前的准备Archlinux 安装ISO镜像,下载:http://mirrors.163.com/archlinux/iso/2013.05.01/U盘一个,最好1G以上,格式化成FAT32.把下载 ...
- Arch Linux Installation Guide
Arch Linux Installation Guide timedatectl set-ntp true sed -i '/Score/{/China/!{n;s/^/#/}}' /etc ...
随机推荐
- selenium操作日历控件
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉 ...
- mvc控制器
控制器 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.We ...
- jqgrid自定义列表开发=》实现高级查询
标题已指出本文要说的三件事,首先是主角jqgrid,将应用在自定义列表中,重点介绍如何实现高级查询. 使用jqgrid实现自定义列表分为两大步骤,首先是要根据业务完成jqgrid的对象定义,即列表的描 ...
- RN开发第二天
今天上午配置了windows的Android的环境,下载node,Python,安装Android SDK和Android studio,JSK,然后配置用户变量和系统变量,然后npm install ...
- sticky
最近有点忘了position几个取值的内容,在这里简单总结一下. position的含义是指定位类型,取值类型可以有:static.relative.absolute.fixed.inherit和st ...
- python 保留字符
False 假的 None 无 True 真的 and 和 as作为 assert 断言 break 打破 class 种类 continue 继续 def del 删除 elif 否则如果 else ...
- js获取元素属性值为空的原因和解决办法
问题描述:js获取某元素的属性值为空 代码: <!-- css定义在head中 --> <style> #box{ width: 100px; height: 100px; b ...
- 初读"Thinking in Java"读书笔记之第八章 --- 多态
再论向上转型 在某些方法中,仅接收基类作为参数,而不是特殊的导出类,会使得程序更容易扩展. 转机 方法调用绑定 前期绑定(编译期绑定):在编译期将一个方法调用和方法主体关联起来. 后期绑定(动态绑定或 ...
- 存储过程 传 datatable
首先 定义 datatable 然后把要传的数据放到table里面 调用 存储过程 传递参数
- 实践作业4 Web测试(小组作业分配)
经过小组内的讨论之后,我们小组的工作分配如下: 张赛军.闫昊:阶段一,软件评测: 林俊旭:阶段二,用户调研: 张嘉焰:阶段三,得出结论: 许林龙:阶段四,分析: 王奎:阶段五,每日记录,并汇总整理小组 ...