DEV Community

ChengLiang
ChengLiang

Posted on

计算机专业环境搭建

本文呈现了个人真实使用的计算机环境,从操作系统的安装到IDE相关的环境搭建。研究总结官方文档中本人需要的部分,借鉴网络上个人或组织的博客,结合多年使用各种操作系统的经验,归纳本人最喜欢计算机环境。

ArchLinux 真实场景安装

提前准备:

  • 镜像文件 archlinux-2023.08.01-x86_64.iso
  • U盘 >16G
  • 互联网访问

ArchLinux 系统更新频繁,镜像文件不必也是2023.08.01版本

原理概述

archlinux-2023.08.01-x86_64.iso通过工具注入到U盘中,U盘就有了系统,插入U盘到主板,计算机找到
U盘系统启动,过程也就是加载U盘的Linux操作系统到内存中,此时的计算机就可以作为一个简易且性能低下的电脑,
性能瓶颈点在U盘。我们再将完整的Linux内核、Linux硬件驱动、应用程序安装到目标硬盘中做永存,待下次主板上电时,
BIOS能检测到系统盘,通过设置其优先启动,之后的每一次启动电脑就会默认加载其系统。

镜像文件下载

文件长这样:archlinux-2023.08.01-x86_64.iso, 版本灵活应变.
点我进入下载页面,往下翻找到您的国家,比如China,
选一个https协议的下载链接进行下载.后缀名一个.iso,一个.iso.sig 两个都要下载

确认资源安全性, <version> 替换成你实际文件版本

gpg --keyserver-options \
auto-key-retrieve --verify \
archlinux-<version>-x86_64.iso.sig
Enter fullscreen mode Exit fullscreen mode

或在已有的 ArchLinux 系统中执行

pacman-key -v archlinux-<version>-x86_64.iso.sig
Enter fullscreen mode Exit fullscreen mode

系统U盘制作与使用

根据情况选择使用 Ether/rufus/dd 工具,谨慎设置盘符和镜像文件。

dd if=archlinux-2023.08.01-x86_64.iso of=/dev/sda bs=4096   #使用dd工具
Enter fullscreen mode Exit fullscreen mode

进入U盘

重启计算机,在开机过程中抓紧按 F2/F12/DEL(根据主板型号) 键进入BIOS,可以设置启动顺序,
U盘最先,也可以使用覆盖启动U盘。BIOS设置后,进入U盘的GRUB,选择 ArchLinux Install 并回车,
系统加载,直接到zsh命令行。

关闭系统自动选择镜像源

systemctl stop reflector.service
Enter fullscreen mode Exit fullscreen mode

UEFI or Legacy

判断是否为 UEFI 启动, 在目录 /sys/firmware/efi/efivars 下有文件则是 UEFI,
没文件则是 Legacy BIOS.目前大多数 PC 都是 UEFI 模式,所有步骤主要针对 UEFI 平台安装

ls /sys/firmware/efi/efivars
Enter fullscreen mode Exit fullscreen mode

磁盘分区格式化

此步骤较灵活,最小需要的分区仅仅只有启动盘EFI分区和系统盘根分区,有这两个分区就能实现系统安装。
比较专业的场景不止会有swap分区home分区,还会有usr分区,var分区等,根据场景而变化。

磁盘情况

Linux 中一切皆文件,/dev目录用于存放系统所能识别的所有设备,设备以文件名标识,每个文件代表不同的设备。
比如:/dev/sda1 是Linux扫描到的第一块硬盘里的第一个分区。清晰自己的磁盘哪个分区放着哪些东西,
命令行参数根据自己的情况进行修改

lsblk # 列出所有磁盘
Enter fullscreen mode Exit fullscreen mode

利用 cfdisk 工具,打开既有手册,谨慎分区硬盘,建议分区布局:

类型 假想设备路径 挂载点 推荐空间
启动盘 /dev/sda1 /boot/efi 1G
内存交换盘 /dev/sda2 [SWAP] 2G
系统盘 /dev/sda3 / 100G
用户盘 /dev/sda4 /home 200G

注意

  • cfdisk 工具操作磁盘, 磁盘文件"/dev/sda"根据自己的情况进行修改. 实际上挂载点是灵活的,只要保证其他分区挂载点嵌套在根目录内都可
  • 启动盘最好是1G左右,增加系统启动时的稳定性和容错率。启动盘是根基,若容量过小, 随着系统数量增加和数据增加,可能会导致启动异常,极难恢复。
  • 内存交换盘的设置对于个人电脑没有要求,是个可选项。在服务器里是必备的。
  • 系统盘类似于 Windows 的C盘,数据量随着系统使用时长增加而增加
  • 用户盘通常存放系统普通使用者的数据,可选项,为分担系统盘存储压力以及方便移植从而独立出来。
cfdisk /dev/sda
Enter fullscreen mode Exit fullscreen mode

挂接硬盘

mkfs.vfat /dev/sda1 #选择你的启动盘(efi分区)
mkfs.swap /dev/sda2 #选择你的内存交换盘(swap分区)
swapon /dev/sda2 #选择你的内存交换盘(swap分区)
mkfs.btrfs /dev/sda3  #选择你的系统盘(根分区)
mkfs.btrfs /dev/sda4  #选择你的用户盘(home分区)
mount /dev/sda3 /mnt  #挂载根分区,系统安装到此
mount --mkdir /dev/sda1 /mnt/boot/efi #挂载EFI分区,grub安装到此
mount --mkdir /dev/sda4 /mnt/home #挂载HOME分区,独立出普通用户家目录
Enter fullscreen mode Exit fullscreen mode

网络配置

此时硬盘已经配置完毕,接下来把系统安装到硬盘中。ArchLinux 镜像文件中不包含任何软件包,
所以需借助网络下载软件包。

wifi连接

拥有网线以太网无需此步骤,直接检测是否联网

iwctl #进入联网工具 iwctl
device list #查看网卡
station wlan0 scan #扫描 wifi
station device get-networks #扫描结果
station device connect <SSID> #连接相应 wifi SSID 为 wifi 名
exit #或者 Ctrl + d
Enter fullscreen mode Exit fullscreen mode

网络测试

ping archlinux.org  # 检测是否联网,有正确返回信息则成功
date  # 显示当前时间
timedatectl set-ntp true  # 如果时间不正确,请时间矫正
Enter fullscreen mode Exit fullscreen mode

换源

镜像源是下载软件包的服务器地址, 打开pacman镜像配置文件,把 China 那一块 URL 移到文件最上面。
通常每个地址有两种协议(httphttps),建议删掉http的地址,也就是不使用http协议的地址。
如此 pacman 则会优先从 China 源下载,速度更快。文件编辑器可使用 nano/vim/emacs 等

vim /etc/pacman.d/mirrorlist
Enter fullscreen mode Exit fullscreen mode

安装系统包

将 ArchLinux 系统以及硬件驱动通过 /mnt 挂载点注入到硬盘中

pacstrap /mnt base linux linux-firmware
Enter fullscreen mode Exit fullscreen mode

系统配置

安装完系统后,还需要配置系统的自动挂载盘、时区、语言、键盘布局、用户、主机名。

genfstab -U /mnt >> /mnt/etc/fstab  # 配置启动时自动挂载主分区
arch-chroot /mnt  # 切换根分区
Enter fullscreen mode Exit fullscreen mode

此时,执行完 arch-chroot 后,切换到新的系统中去,相当于从U盘系统切换到硬盘系统,
U盘系统的作用基本上到此为止

安装应用软件

pacman -S base-devel grub efibootmgr os-prober networkmanager \
  bash-completion nano vim git firefox chromium man-pages yarn ntfs-3g \
  unrar
Enter fullscreen mode Exit fullscreen mode

启用网络

sudo systemctl enable --now NetworkManager    
Enter fullscreen mode Exit fullscreen mode

生成系统语言,对 en_US.UTF-8 一行取消注释

vim /etc/locale.gen

locale-gen
Enter fullscreen mode Exit fullscreen mode

系统必要配置

配置系统语言.主机名设为 'testhostname',可自行命名.设置 root 密码.创建用户,sudo 授权.
设置时区 Region/City 可替换为 Asia/Shanghai.一些软件需要用到 LANG 环境变量,设置为 en_US.UTF-8

echo 'LANG=en_US.UTF-8' > /etc/locale.conf
echo 'testhostname' > /etc/hostname
passwd
useradd -m testuser -G wheel && passwd testuser 
vim /etc/sudoers  # 为 testuser 开启 sudo 权限, 根据文件里的提示,取消 wheel的注释
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
mkinitcpio -P
Enter fullscreen mode Exit fullscreen mode

安装 grub,引导程序

grub-install --target=x86_64-efi \
--efi-directory=/boot/efi --bootloader-id=GRUB
Enter fullscreen mode Exit fullscreen mode

如果你需要双系统,请 os-prober 自动扫描双系统:允许 grub 检测系统. true 改为 false,并取消注释

vim /etc/default/grub

...
GRUB_DISABLE_OS_PROBER=false
...
Enter fullscreen mode Exit fullscreen mode
grub-mkconfig -o /boot/grub/grub.cfg  # 生成 grub 配置文件
exit  # 退出硬盘系统至 iso 安装系统,或者Ctrl+d
reboot  # 重启
Enter fullscreen mode Exit fullscreen mode

使用系统

以上算是完成ArchLinux的最小安装,ArchLinux 滚动更新,更新频率极快,几乎每天都有新版本的软件包上线,
为了避免系统过于落后于版本造成难以解决的问题,建议至少每个星期更一次,或者每天更一次。

个人电脑离不开桌面,KDE-Plasma/Gnome曾经都用过,
用来用去计算机整体性能都不如 i3wm ,类似于i3wm桌面系统最大的特点是计算机资源占比小,切屏极快。

i3wm 安装

安装i3wm,一个Display Manager,和一个虚拟终端,默认配置的 i3wm 就可以,不用配置的花里胡哨。

sudo pacman -S i3-wm lightdm lightdm-gtk-greeter alacritty
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei # 
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra   
sudo systemctl enable lightdm.service
Enter fullscreen mode Exit fullscreen mode

系统全局配置

配置因人而异,本人配置系统代理,键盘输入方法,默认文本编辑器,JAVA_HOME路径

/etc/environment 配置全局变量

https_proxy=http://127.0.0.1:7890
http_proxy=http://127.0.0.1:7890
all_proxy=socks5://127.0.0.1:7890
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
EDITOR=nano
JAVA_HOME=/usr/utils/jvm/default
Enter fullscreen mode Exit fullscreen mode

xorg 配置colemak键盘布局

新建文件 /etc/X11/xorg.conf.d/00-keyboard.conf

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XbkLayout" "us"
    Option "XkbVariant" "colemak"
EndSection
Enter fullscreen mode Exit fullscreen mode

启用32位软件包

在安装显卡驱动时,需要开启32位软件包源

修改文件 /etc/pacman.conf, 取消 [multilib] 模块的注释

[multilib]
Include = /etc/pacman.d/mirrorlist
Enter fullscreen mode Exit fullscreen mode
sudo pacman -Sy # 更新包源
Enter fullscreen mode Exit fullscreen mode

Nvidia 独立显卡驱动

借鉴于 ALT 显卡驱动安装

sudo pacman -S nvidia nvidia-settings lib32-nvidia-utils #必须安装
Enter fullscreen mode Exit fullscreen mode

如果安装驱动后内核冲突,把 kms 从 /etc/mkinitcpio.conf 里的 HOOKS 数组中移除,并重新生成 initramfs。
这能防止 initramfs 包含 nouveau 模块,以确保内核在早启动阶段不会加载它。

mkinitcpio -p linux
Enter fullscreen mode Exit fullscreen mode

Yay 包管理器

使用魔法上网后可以安装且使用 yay,和 pacman 使用方式基本一样,即可管理官方软件包,也可管理AUR包。

pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Enter fullscreen mode Exit fullscreen mode

IDE安装

VSCode用前端语言写的,性能不佳,打开大项目时,补全功能会失效,Vim/Emacs不易学习。
JetBrains全家桶使用java编写,各方面优秀,许可证可通过魔法绕过。

yay -S intellij-idea-ultimate-edition webstorm
Enter fullscreen mode Exit fullscreen mode

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay