- 操作系统是32位,虚拟机的系统镜像是64位的
- 虚拟机配置问题
- 电脑没有开启虚拟化
—开启虚拟化链接—
—安装的原文链接—
安装Arch Linux准备
连接到因特网
守护进程 dhcpcd 已被默认启用来探测有线设备, 并会尝试连接。如需验证网络是否正常, 可以使用 ping:
# ping -c 3 archlinux.org
更新系统时间
用 systemd-timesyncd 确保系统时间是正确的:
# timedatectl set-ntp true
- # timedatectl 设置系统时间 set-ntp是否使用网络同步时间
建立分区
磁盘需要首先分区,然后再在格式化成指定文件系统。
使用GPT来分区。
# gdisk /dev/sda
- 输入n来新建分区,全部按照默认设置,w来保存设置
gdisk是编辑分区表的工具
fdisk –l来查看分区信息
fdisk:操作分区表 –l列出分区表
建立文件系统
创建文件系统之前,目标分区必须处于未挂载状态。
lsblk可以查看Block状态
umount可以卸载文件系统
# mkfs -t ext4 /dev/sda1
创建文件系统
挂载文件系统
# mount /dev/sda1 /mnt
配置镜像
这里及以后一些步骤必须联网,尤其是运行pacman命令时。关于联网问题请参照archwiki,里面有十分详细的解说。编辑:vim /etc/pacman.d/mirrorlist
把其中
#China
Server =xxx
安装
安装基本系统
然后敲入: # pacman -Syy
刷新列表
执行 pacstrap 脚本,默认会安装 base 组:
# pacstrap /mnt
配置系统
Fstab
用以下命令生成 fstab 文件 (用 -U
或 -L
选项设置UUID 或卷标):
# genfstab -U /mnt >> /mnt/etc/fstab
文件/etc/fstab包含了静态文件系统信息,定义了存储设备和分区整合到整个系统的方式。mount
命令会读取这个文件,确定设备和分区的挂载选项。
在执行完以上命令后,后检查一下生成的 /mnt/etc/fstab
文件是否正确。
Chroot
Change root 到新安装的系统:
# arch-chroot /mnt /bin/bash
Chroot 是将当前磁盘根路径(和当前进程和它们的子进程)更改到另一个根目录。
时区
设置 时区:
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
建议设置时间标准 为 UTC,并调整 时间漂移:
# hwclock –systohc --utc
hwclock:设置硬件时间
Locale
本地化的程序与库若要本地化文本,都依赖 Locale, 后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.gen
与 locale.conf
.
/etc/locale.gen
是一个仅包含注释文档的文本文件。
# nano /etc/locale.gen
删除以下行的注释
en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8zh_TW.UTF-8 UTF-8
接着执行locale-gen
以生成locale讯息:
# locale-gen
/etc/locale.gen
生成指定的本地化文件,每次 glibc 更新之后也会运行 locale-gen
。
创建 locale.conf
并提交本地化选项:
# echo LANG=en_US.UTF-8 > /etc/locale.conf
主机名
要设置 hostname,将其添加 到 /etc/hostname
# echo varch> /etc/hostname
- 添加对应的信息到/etc/hosts
127.0.1.1 varch.localdomain varch
网络配置
对新安装的系统,需要再次设置网络。开启dhcpcd:
# systemctl enable dhcpcd.service
Initramfs
如果修改了 mkinitcpio.conf,用以下命令创建一个初始 RAM disk:
# mkinitcpio -p linux
创建初始化的ramdisk环境
Root 密码
设置 root 密码:
# passwd
安装引导工具grub
安装grub
pacman -S grub
pcman是archlinux的软件包管理器 –S:同步软件包
- 安装到磁盘上
# grub-install –force –target=i386-pc /dev/sda
重启
输入 exit
或按 Ctrl+D
退出 chroot。
卸载挂载的分区
# umount -R /mnt
现在重启系统,移除安装介质并执行reboot
,新系统启动后用 root 登录。
# reboot
系统安装完成。
安装后的工作
安装zsh
pacman –S zsh
Zsh 是一款功能强大终端(shell)软件,既可以作为一个交互式终端,也可以作为一个脚本解释器。它在兼容 Bash 的同时 (默认不兼容,除非设置成 emulate sh
) 还有提供了很多改进
创建用户
# useradd -m -g users -G wheel -s /bin/zsh archie
其中archie就是用户名,可以自己定义
权限提升
安装sudo
pacman –S
- visudo指令打开配置文件,加入:
archie ALL=(ALL) ALL
注意,visudo不能使用backspace键,需要使用vi命令模式下的dw指令
sudo命令报错:command not found 解决方法
如果上面的命令没有输出任何结果,请重新安装sudo
如果visudo存在。那么可以肯定是系统变量$PATH的问题了。
配置PATH
—参考链接— 首先:
# whereis visudo visudo: /usr/sbin/visudo /usr/share/man/man8/visudo.8.gz
vim /etc/profile
/usr/bin/visodu PATH=$PATH:/usr/bin/visodu export PATH
安装桌面环境
1.x服务
安装桌面环境之前,x服务是必须的
安装包xorg-server,xorg-server-utils,xorg-apps
pacman -S xorg-server xorg-server-utils xorg-apps
2.显卡驱动
我安装了xf86-video-vesa驱动,是一个支持大部分显卡的通用驱动,不提供任何 2D 和 3D 加速功能
pacman –S xf86-video-vesa
3.xfce桌面环境
pacman –S xfce4 xfce4-goodies
4.启动Xfce
startxfce4
ENJOY~
备注
error: failed to init transaction (unable to lock database)” 错误
pacman 在更新软件包数据库前,比如安装软件包时会创建一个文件锁 /var/lib/pacman/db.lck
。该文件会阻止其他 pacman 实例在同一时间修改软件包数据库。如果 pacman 在更新数据库时收到干扰,旧锁会一直存在。如果确认 pacman没有在运行,那么删掉文件锁:
# rm /var/lib/pacman/db.lck
我的原因:更新断网,重启
![linux](/linuxfile/logo.gif)