Arch Linux 零基础安装

Arch Linux 自用

前言:强烈建议观看 Arch Wiki 进行安装配置

安装

0x00安装前准备阶段

1、到各大镜像站下载Arch Linux最新镜像文件以及.sig文件并验证
$ md5sum archlinux-2021.01.01-x86_64.iso
48d67c59afcd2e39f25799efcc2b1999  archlinux-2021.01.01-x86_64.iso

$ sha1sum archlinux-2021.01.01-x86_64.iso
c3082b13d3cf0a253e1322568f2fd07479f86d52  archlinux-2021.01.01-x86_64.iso

# 在Arch Linux上验证签名
$ pacman-key -v archlinux-version-x86_64.iso.sig

# 在其他Linux上验证签名
$ gpg --keyserver pgp.mit.edu --keyserver-options auto-key-retrieve --verify archlinux-2021.01.01-x86_64.iso.sig

此处验证可以忽略,若下载采用HTTP协议则尽量验证一下

2、刻录镜像
Windows:软件刻录

rufus、UltraISO软碟通

Linux:DD
$ sudo fdisk -l	#查看各个磁盘,此处我的U盘为/dev/sdb,其被分成两个分区分别是/dev/sdb1、/dev/sdb2

U_disk

# 需要全部umount
$ sudo umount /dev/sdb1 /dev/sdb2

# 然后使用dd命令将镜像写入到U盘所在的分区,其中"/tmp/archlinux-2021.01.01-x86_64.iso"为镜像所在位置
sudo dd if=/tmp/archlinux-2021.01.01-x86_64.iso of=/dev/sdb bs=4M

# 另开一个终端查看进度
$ ps aux | grep dd | grep -v "grep"

# 刻录结束后运行sync命令检查,sync结束后就可以拔出U盘了
$ sync

0x01 开始安装(安装过程中皆为root权限)

1、联网
#检查网络接口
$ ip link	

# 对于有线以太网,使用dhcpcd获取IP
$ dhcpcd

# 对于wifi网络使用iwctl连网,不会用就百度
$ iwctl 
  • 都不行的话就用手机USB网络共享,手机连Wifi也可以
2、验证启动方式
$ ls /sys/firmware/efi/efivars
  • 如果命令没有错误地显示了目录,则系统以 UEFI 模式启动。如果目录不存在,系统可能以 BIOS 模式或 CSM 模式启动。
3、更新系统时间
$ timedatectl set-ntp true
4、建立硬盘分区
$ fdisk -l	#查看系统分区,例如:/dev/sda、/dev/nvme0n1等。
$ fdisk /dev/nvme0n1	#对分区进行操作,此时命令行变为"Command (m for help):"开头,输入m或help即可获取帮助文档

能用到的操作: n:新建 w:写入 q:退出

  • 根据需求进行分区,UEFI 与 GPT类型分区表 (BIOS 与 MBR分区表无需EFI分区) 如下:

    挂载点分区分区类型建议大小
    /mnt/boot/efi/dev/efi_system_partition(efi 系统分区)EFI系统分区512MB
    [SWAP]/dev/swap_partition(交换空间分区)SWAP交换空间[内存] * 1.1
    /mnt/dev/root_partition(根分区)Linux x86-64 根目录 (/)剩余空间
$ fdisk -l	# 分区后再使用此命令查看分区如下所示

Device          Boot    Start    End    Sectors    Size    Id    Type
/dev/nvme0n1p1  ----    ----     ---    -------    512M    --    ----
/dev/nvme0n1p2  ----    ----     ---    -------    8.8G    --    ----
/dev/nvme0n1p3  ----    ----     ---    -------    460G    --    ----
5、格式化分区
$ mkfs.ext4 /dev/nvme0n1p3		#根分区
$ mkfs.fat -F32 /dev/nvme0n1p1	#EFI分区
$ mkswap /dev/nvme0n1p2			#交换分区

如果在格式化EFI分区时提示:“WARNING: Not enough clusters for a 32 bit FAT!”,请运行

$ mkfs.fat -s2 -F32	/dev/nvme0n1p1	#或 -s1 以减小簇大小,否则 UEFI 无法读取分区。

运行 mkfs.fat -s2 -F32 … 或 -s1 以减小簇大小,否则 UEFI 无法读取分区。

6、挂载分区
$ mount /dev/nvme0n1p3 /mnt				#先挂载根分区
$ mkdir -p /mnt/boot/efi				#创建EFI分区所在文件夹
$ mount /dev/nvme0n1p1 /mnt/boot/efi	#挂载EFI分区
$ swapon /dev/nvme0n1p2					#开启SWAP分区
7、安装基本系统
  • 更换镜像站为国内镜像站
  $ vim /etc/pacman.d/mirrorlist	#找到国内镜像站

mirrors

挑选自己喜欢的镜像站复制到文件首部 (也可以全部移到首部)。

  • 安装基本软件
$ pacstrap /mnt base linux linux-firmware
8、配置系统
$ genfstab -U /mnt >> /mnt/etc/fstab	#生成fstab文件
$ cat /mnt/etc/fstab	#检查文件

$ arch-chroot /mnt		#Change root到新安装的系统中
  • 以上为U盘中的live系统,以下为安装到电脑中的系统
时区
$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	#设置时区
本地化

编辑 /etc/locale.gen文件移除需要地区前的注释符号,例:en_US.UTF-8、zh_CN.UTF-8、zh_TW.UTF-8 UTF-8

$ locale-gen	#生成locale信息

#将默认语言编码写入locale.conf文件,也可以使用en_GB.UTF-8 或 en_SG.UTF-8
$ echo LANG=en_US.UTF-8 > /etc/locale.conf
网络配置
$ echo gaishishenlun > /etc/hostname	# 创建 /etc/hostname 写入主机名 gaishishenlun

# 添加到hosts
$ vim /etc/hosts	# 注意gaishishenlun改成自己的主机名,若有系统有永久IP,则将127.0.1.1换之。
------------------------------------------------------
127.0.0.1	localhost
::1		localhost
127.0.1.1	gaishishenlun.localdomain	gaishishenlun
基本设置
$ pacman -S fish	# 安装一个喜欢的shell,zsh 或 fish都可以

$ passwd	# 修改root密码

$ useradd -m -G wheel -s /usr/bin/fish gaishsihenlun	# 创建一个用户
# -m 创建用户主目录、-G添加附加用户组,wheel为管理员组、-s选择默认shell、gaishishenlun为用户名
$ passwd gaishishenlun	# 修改gaishishenlun用户的密码

$ pacman -S iw wpa_supplicant dialog netctl dhcpcd	# 网络所需软件

$ pacman -S sudo	# 安装权限管理软件sudo,安装后修改/etc/sudoers,去掉82行以及88行的注释

sudo

安装引导程序(GRUB)

根据引导类型选择一个进行安装

  • UEFI引导:
$ pacman -S grub efibootmgr	# 安装所需软件

$ grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB	# 安装引导

$ grub-mkconfig -o /boot/grub/grub.cfg	# 生成cfg文件
  • MBR引导
$ pacman -S grub	# 安装所需软件

$ grub-install --target=i386-pc /dev/nvme0n1	#nvme0n1为磁盘,而不是某个分区

$ grub-mkconfig -o /boot/grub/grub.cfg	# 生成cfg文件
  • 上述安装过程中无错误出现即为安装成功,否则必须重新安装。

0x02 重启、结束安装

$ exit	# 退出chroot环境

$ umount /mnt	# 卸载所有挂载的分区

$ reboot	#重启计算机,关机后移除安装介质(U盘)

至此,Arch Linux 安装成功

系统配置

0x00 基本软件

$ sudo pacman -S neovim pkg-config xterm fakeroot binutils curl wget git yay make cmake clang nodejs npm goland ruby maven gcc jdk8-openjdk neofetch unrar unzip p7zip zsh tmux openssh gimp firefox chromium

0x00 X 窗口管理系统

$ sudo pacman -S xorg xorg-xinit	# xorg为X服务基本服务以及一些软件、xorg-xinit为手动启动桌面软件

0x01 桌面环境

-1- kde
  • plasma-desktop
  • plasma
  • konsole # 终端
  • latte-dock # 下方的dock
$ sudo pacman -S plasma plasma-desktop konsole latte-dock
-2- dwm窗口管理器
1、克隆源代码
# 建议事先创建好文件夹、方便管理文件
$ git clone https://git.suckless.org/dwm	# 极简主义窗口管理器
$ git clone https://git.suckless.org/dmenu	# 一个软件启动菜单
$ git clone https://git.suckless.org/st		# 一个简单的终端
2、构建
$ cd dmenu/					# 进入dmenu目录
$ sudo make	clean install	# 这里先构建dmenu(无需配置),等下dwm要用得到,不然会很尴尬
$ cd st/					# 进入st目录
$ sudo make	clean install	# dwm默认终端为st,先构建暂不配置,使用官方配置
$ cd dwm/					# 进入dwm目录
$ sudo make	clean install	# 构建dwm(官方配置)

修改/etc/X11/Xinit/xinitrc在最后一行加入exec dwm,注意前一行尾部要有&.

然后在tty界面输入startx启动.

3、dwm的一些默认设置

dwm默认的 MODKEYAlt 键。

Alt + Shitf + Return(回车) 打开终端 (默认为st)

Alt + P 打开启动菜单

Alt + Shitf + q 关闭dwm (也可以在命令行输入killall dwm)

4、个性化配置dwm

0x02 美化

$ sudo pacman -S feh picom xfce4-power-manager alsa-utils
# feh为壁纸软件、picom可以透明窗口拥有毛玻璃特效、alsa-utils为声音组件
2、polybar
$ yay -S polybar	# 代替dwm的状态显示器,依赖尽量都安装了
$ sudo pacman -S libmpdclient mpd	# 要使用mpd模块,需要安装这两个

字体

$ sudo pacman-S adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts nerd-fonts-code-new-roman ttf-wps-fonts
  • 输入法
$ sudo pacman -S fcitx5

常用

  • netease-cloud-music # 网易云
  • mplayer # 轻量视频播放器
  • vlc # 视频播放器
  • telegram # 社交
  • yakuake # 下拉式终端
  • obs # 录屏直播
  • wps # 办公
  • pencil # 画画
  • ranger # 终端文件管理器
  • feh # 图片查看器
  • Dolphin # kde文件管理器
  • kdenlive # 视频剪辑
sudo pacman -S netease-cloud-music mplayer vlc telegram-desktop yakuake obs-studio wps pencil ranger feh dolphin kdenlive

开发环境

编辑器

  • neovim/vim/vi # 经典
  • vscode # 微软开源代码编辑器
$ sudo pacman -S visual-studio-code-bin neovim

IDE

  • IDEA # JAVA
  • Pycharm # Python
$ sudo pacman -S intellij-idea-community-edition pycharm-community-edition

CTF Tools

web

  • nmap # 网络扫描
  • sqlmap # sql注入
  • zaproxy # yyds
$ sudo pacman -S nmap sqlmap zaproxy

pwn

  • IDA Pro # 静态分析

需要Wine环境

  • Pwntools # pwn选手专用库
    • checksec
    • ROPgadget
  • pwndbg # 动态调试

添加 source /usr/share/pwndbg/gdbinit.py~/.gdbinit

  • one_gadget # 一键从libc中找到可以getshell的地址,ruby环境
  • main_arena_offset # 取自github
$ yay -S pwndbg
$ pip install pwntools
$ gem install one_gadget

Sec Tools

  • lynis # 系统扫描工具
  • ettercap # arp攻击
  • wireshark # 流量分析
  • aircrack-ng # wifi攻击套件
  • metasploit # msf框架
  • maltego # 社工框架
  • chntpw # 密码破解工具
$ sudo pacman -S lynis ettercap wireshark aircrack-ng metasploit chntpw
$ yay -S maltego
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值