Linux环境安装与配置

这篇文章记录一下各个常用Linux发行版的软件安装与配置,方便日后查阅。

1 BIOS设置

我用的主板是和Linus同款的“技嘉Aorus”,有时会抽风恢复默认的BIOS出厂设置,在BIOS的“easy mode”中把“X.M.P. Disabled”改为“X.M.P.-DDR4-3600 18-22-22-42-64-1.35V”。然后点击右下角的“Advanced Mode(F2)”进入“Advanced Mode”,“Tweaker -> Advanced CPU Settings -> SVM Mode”改为 “Enabled”开启硬件虚拟化配置。

另外再记录一下联想台式机进bios是按f1键。

2 双系统grub设置

grub的配置文件: src/userspace-environment/boot-efi-EFI,在操作系统中的路径为/boot/efi/EFI/{ubuntu,centos}/grub.cfg

centos9 grub设置:

blkid # 打印 uuid
vim /boot/efi/EFI/centos/grub.cfg # 更改 uuid, set prefix=($dev)/ 后接正确的路径
grub2-mkconfig -o /boot/grub2/grub.cfg # centos9使用的是grub2

ubuntu22.04 grub设置,修改配置/boot/efi/EFI/ubuntu/grub.cfg:

search.fs_uuid 22bac2d6-b556-4158-8244-fba87a8a34c3 root # 用 blkid 查看 uuid
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

更改启动界面选择系统的超时时间:

vim /etc/default/grub # GRUB_TIMEOUT=5

3 ubuntu22.04

我平时工作用的是ubuntu桌面系统。

Linux内核开发相关的环境请查看《Linux内核课程》

常用的软件安装:

sudo apt install openssh-server -y # 默认桌面版本ubuntu不会安装ssh server
sudo apt install ibus*wubi* -y # 安装五笔,要重启才可用
sudo apt-get install fuse -y # v2ray的Linux桌面版本 V2Ray-Desktop-v2.4.0-linux-x86_64.AppImage 无法运行
sudo apt install tmux -y # Tmux(缩写自"Terminal Multiplexer")是一个在命令行界面下运行的终端复用工具,我主要是用tmux的会话附加和分离功能
sudo apt install lxterminal -y # 这玩意儿比ubuntu默认的terminal更好用,是树莓派系统上默认的terminal

sudo apt install exfat-utils -y # exfat文件系统所需的工具

# 安装查看tcpdump工具收集的网络包的wireshark: https://launchpad.net/~wireshark-dev/+archive/ubuntu/stable
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update
sudo apt install wireshark -y

sudo apt install samba -y # 在virt-manager中安装windows或macos时,与Linux宿主机共享文件用samba(就是cifs或smb)比较方便
sudo systemctl restart smbd.service # 重启cifs server

strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_ # 查看glibc的版本,docker中无法编译有些低版本的内核代码

# 安装游戏软件stem时需要安装的依赖软件,但steam里的游戏在ubuntu下根本跑不动(我在戴尔笔记本xps13上试过cs非常卡)
sudo apt install libc6-i386 libgl1:i386 -y # for steam

默认poweroffreboot等命令可以以非root权限运行,容易误操作,这些命令都软链接到/bin/systemctl, 可以用以下命令修改权限:

sudo chmod 700 /bin/systemctl

设置hostname:

sudo hostnamectl set-hostname Threadripper-Ubuntu2204

新建或删除用户:

sudo useradd -s /bin/bash -d /home/test -m test # 新建用户test
sudo userdel -r test # 删除用户test,-r选项代表同时删除用户的家目录和相关文件

ssh密码输入界面要很久才出现的解决办法,修改/etc/ssh/ssh_config文件:

GSSAPIAuthentication no # GSSAPI 通常用于支持 Kerberos 认证,提供一种安全且无缝的认证方式

如果没有挂载/tmp目录,可以修改/etc/fstab文件:

# defaults: 使用默认的挂载选项。
# noatime: 不更新文件的访问时间戳。
# nosuid: 不允许设置文件的 SUID 位。
# nodev: 不允许设备文件。
# noexec: 不允许执行二进制文件。安装vmware等软件时会安装不上
# mode=1777: 设置目录的权限为 1777,确保它是可写的临时目录。
tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,mode=1777,size=20G 0 0

如果内存比较小,可以添加swap:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
ls -lh /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
sudo vi /etc/fstab # 在/etc/fstab最后一行添加 /swapfile  none  swap  sw  0  0

shell界面路径名显示绝对路径,想换成只显示最后一个路径名分量, ~/.bashrc文件修改以下变量:

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '

通过sudo apt install ./xxxx.deb -y安装的软件,卸载用以下命令:

sudo apt list --installed | grep wkhtmltox
sudo apt purge wkhtmltox -y

4 centos 9

centos的开发软件生态比ubuntu还是稍微差一些,尤其是桌面系统。

常用软件安装:

sudo dnf groupinstall "development tools" -y # 编译常用软件
sudo dnf install qemu-kvm virt-manager libvirt -y # 虚拟机相关软件
sudo systemctl restart libvirtd # 需要重启libvirtd,否则虚拟机有些功能无法使用
sudo dnf install ncurses-devel -y # 内核编译所需

# centos9需要通过源码安装bridge-utils,https://wiki.linuxfoundation.org/networking/bridge
git clone -b main git://git.kernel.org/pub/scm/network/bridge/bridge-utils.git
cd bridge-utils
autoconf
./configure

设置hostname:

sudo hostnamectl set-hostname Threadripper-CentOS9

默认centos9是打开selinux的,但个人用户没有那么高的安全需求时,可以关闭selinux:

sudo vim /etc/selinux/config # centos9 改成 SELINUX=disabled

自动挂载磁盘,修改配置文件/etc/fstab,添加:

# 最后2个参数(0 0)的意义: dump, fsck
UUID=b7aa1308-f57e-4f28-834c-c463237a8383 /home/sonvhi/sonvhi/   ext4    errors=remount-ro    0       0

5 fedora

fedora更新太频繁了,不稳定,不建议用作开发的系统。

安装软件:

sudo dnf groupinstall "Development Tools" -y
sudo yum install openssl dwarves zstd ncurses-devel -y # 内核编译所需

6 树莓派

Operating system images下载“Raspberry Pi OS with desktop and recommended software”。

向SD卡烧录系统:

sudo dd bs=4M if=解压之后的img of=/dev/sdb

图形界面的树莓派系统的常用软件安装:

# 解决git无法显示中文
git config --global core.quotepath false

# 安装五笔,需要重启
sudo apt-get update -y
sudo apt install ibus*wubi* -y

# 安装firefox
# sudo apt update -y
# sudo apt-get install iceweasel -y

sudo apt update -y
# 安装emacs
sudo apt install emacs -y
# 安装gvim
sudo apt install vim-gtk3 -y

含代理服务器选项,chrome浏览器启动命令:

chromium-browser --proxy-server="https=127.0.0.1:1080;http=127.0.0.1:1080;ftp=127.0.0.1:1080"

7 麒麟系统

填写产品试用申请,以下是各个版本的下载地址:

注意桌面麒麟系统在arm芯片的macos上无法用vmware fusion安装,可以用UTM安装。

基于openeuler的服务器麒麟系统用qemu命令行启动时,编辑网络用命令nmtui,网络接口名改成和ifconfig中一样的名,再启用连接 -> 激活。arm64版本无法用VMware以及UTM等虚拟机安装,可以尝试用EulerLauncher安装(还可以参考openeuler文档中的EulerLauncher)。

一直提示“发现未认证应用执行”的解决办法,打开/etc/default/grub,修改为GRUB_CMDLINE_LINUX_SECURITY="security=",更新grub配置sudo update-grub,最后,重启系统。

8 arcolinux

ArcoLinuxArch Linux的衍生发行版。

9 x86_64 virt-manager安装aarch64系统

添加硬件 图形 类型:如果选vnc服务器,要把virt-manager窗口关闭才能用vnc客户端登录,而且系统鼠标定位有一点小问题,所以不建议选择vnc服务器,建议选择spice服务器