因为自己脑子有问题把系统搞炸了,在朋友帮助下进行了一个重装系统。简记过程。
关于分区
因为自己之前是有把/home
单独分区的,所以重装的时候不必(也不能!)抹去/home
下的文件。把/home
分区标记为ext4
分区不进行格式化即可;把/
也就是root
、swap
格式化掉。
关于sudo
原则上是要把用户加到sudo
用户组里面去。注意这里,我的用户叫做eric
,很有可能和你不一样。 首先(因为我们现在还不能用sudo
)
1 | su |
输入密码,然后
1 | usermod -a -G sudo eric |
这样按道理就好了。
1 | groups |
可以查看当前用户所在的组有哪些,现在应该是有sudo
组的。 如果偏偏没有而且sudo
还不能用并且你也不知道问题出在哪里,可以再进入su
,然后
1 | visudo |
在这个文件里面加入一行
1 | eric ALL=(ALL:ALL) ALL |
保存。这样就可以用了。但最好还是要用加入sudo
组的方式实现。 注意如果说找不到上述命令,可以考虑用绝对路径/sbin/usermod
和/sbin/visudo
。
关于locale
装完系统发现自己用不了gnome-terminal
,用命令行试图唤起发现报错Locale not supported by C library.
等等,感觉是locale
有点问题。查阅发现:
1 | locale -a |
是查看当前启用的locale
。
1 | locale |
是查看所有locale
相关的变量。 而sudo locale-gen
的功能:
1
2
3 locale-gen is a program that reads the file /etc/locale.gen and invokes
localedef for the chosen localisation profiles. Run locale-gen after
you have modified the /etc/locale.gen file.
本机运行locale
命令,发现LC_ALL
和LANGUAGE
两个值是缺省并有相关报错。用locale-gen
并不好使,最后解决策略是在/etc/environment
中添加:
1 | LANGUAGE=en_US.UTF-8 |
(也许)重启了一下电脑,再运行locale
命令,缺省值就不缺了,同时gnome-terminal
就能运行了。
关于apt
在/etc/apt/sources.list
里面改一下源,记得去掉cdrom
相关的,留下差不多这些:
1 | deb http://deb.debian.org/debian/ bullseye main non-free contrib |
然后sudo apt update && sudo apt upgrade
。 安装一些基本的包:sudo apt install git curl vim curl g++ clang fortune
。要是有其他要用的自己装。
关于fish
sudo apt install fish
,然后chsh eric -s /usr/bin/fish
设置成默认。相关配置因为我是重装,还保留着。
Python和JavaScript的版本管理
在fish
里面装pyenv
我们用oh my fish
。 安装oh my fish
:
1 | curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install fish |
然后 omf install pyenv
。 JS的版本管理经朋友推荐我们用fnm
,详见此处。
1 | curl -fsSL https://fnm.vercel.app/install bash |
安装rime
为了满足我对输入中文的需求,安装rime
的必要性是不可忽略的。
1 | curl -fsSL https://git.io/rime-install bash |
具体配置因为保留了上一次的,今天没做,不记了。
安装Virtual Box
1 | apt install fasttrack-archive-keyring |
apt
加源(参见前文):
1 | deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-fasttrack main contrib |
安装:
1 | sudo apt install virtualbox |
不过这时候出了点问题,经朋友排查发现是linux-headers
没装好。根据当前系统版本,搜索相关包:
1 | sudo apt search linux-headers-5.10.0.8 |
安装:
1 | sudo apt install linux-headers-5.10.0-8-amd64 |
重启下服务就好了:
1 | sudo systemctl restart virtualbox.service |
中文字体
中文字形有点毛病,默认加载的是旧的字形。 请看这里。 先装个思源黑体:
1 | sudo apt install fonts-noto-cjk |
手动调整优先级,将中文字形调整到日文字形之前。[3]在
/etc/fonts/conf.d/
或/etc/fonts/conf.avail/
下创建文件,例如64-language-selector-prefer.conf
,也可以修改或创建~/.fonts.conf
或在~/.config/fontconfig/conf.d/
创建后缀为.conf的文件(仅对该用户生效)。例如针对noto-fonts-cjk的规则,写入:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono CJK SC</family>
<family>Noto Sans Mono CJK TC</family>
<family>Noto Sans Mono CJK JP</family>
</prefer>
</alias>
</fontconfig>
结尾
这个故事告诉我们:不要用unstable
的源。