在上一篇 Linux: 基于Windows,安装Deepin(深度)双系统中,成功安装Deepin
系统。那么为了方便后续的使用,需要更新系统,安装应用程序和环境配置。
目前主流的 Linux 版本:
Debian
(及其派生版本Ubuntu
、Linux Mint
、deepin
- 开源国产操作系统)Fedora
(及其相关版本Red Hat Enterprise Linux
、CentOS
)openSUSE
本文是基于
Debian(deepin 20.9)
为例,从系统、应用程序、环境配置等几个视角进行说明…
一、更新系统&内核
1.内核相关
1.1 升级内核版本
安装源内的内核
注意:这里headers和image两个文件要替换为要安装的对象,可从终端列表复制,中间空格隔开
注意:如果正式版源里,没有你想要的最新内核,那就先添加内测通道再来安装内核。装完内核后,如果不想用内测版就要及时将内测源关掉,否则再下次更新时有可能出现影响使用的bug。
$ sudo apt search linux-image-* # 查看源内的内核有哪些
# 如果在【添加完内测源】后,发现内核数量还没增加就执行
$ sudo apt-get update 更新一下源的信息后,再查看一下源内的内核
# 安装:格式为
# sudo apt update && sudo apt install linux-image- linux-headers-
# 例子1:内核无后缀的安装
$ sudo apt update && sudo apt install linux-image-6.2.1 linux-headers-6.2.1
# 例子2:内核有后缀的安装
$ sudo apt install linux-image-5.18.17-amd64-desktop-hwe linux-headers-5.18.17-amd64-desktop-hwe
# 重启。查看内核版本是否安装成功 - 默认使用最新版本内核
$ uname -r # 或 uname -a
1.2 卸载内核
注意:这里headers和image两个文件要替换为要卸载的对象,可从终端列表复制,中间空格隔开
# 展示所有安装的内核
$ dpkg --get-selections| grep linux # 或 dpkg -l | grep "linux-image\|linux-headers"
# 选择不要的进行卸载
# 卸载的格式:sudo apt purge linux-image- linux-headers-
# 例子1: 内核有后缀的卸载
$ sudo apt purge linux-image-5.18.4-amd64-desktop-hwe linux-headers-5.18.4-amd64-desktop-hwe
# 例子2: 内核无后缀的卸载:
$ sudo apt purge linux-image-6.1.12 linux-headers-6.1.12
1.3 kernel官网: 自行编译内核
注意:以下是 内核官网 下载升级的教程,常规下不太建议使用,主要适用于以上其他手段获取的内核无法解决问题时。详细文档可参考:Linux: 编译内核教程(全)(Ubuntu)(Deepin)(Debian)
i. 更新软件源&软件
$ sudo apt update # 更新软件源 $ sudo apt upgrade # 更新软件
ii.内核官网 下载内核源代码,选择stable旁边的tarball下载。
iii. 安装依赖
$ sudo apt install libncurses5-dev openssl libssl-dev build-essential pkg-config libc6-dev bison flex libelf-dev zlibc minizip libidn11-dev libidn11 qttools5-dev liblz4-tool # deepin用户,还要安装如下的依赖 $ sudo apt install plymouth* console-setup
iv.编译
# 解压 $ tar -xavf linux-5.18.14.tar.xz # 到你下载的目录解压,可解压在主目录(~)下,有教程说必须解压在/usr/src下,其实是无稽之谈,安装内核时系统会自动帮你把源代码复制到/usr/src下 $ cd linux-5.18.14 # 净化内核源码,删除残留 $ make mrproper # 可在想重新编译时执行这个命令 # 配置内核 # 1.新版本内核源码中自带的.config文件所含内容太少,编译后只能加载一个模块,不能满足正常使用 # 2. 选择官方系统编译好的内核(版本末尾包含-amd64-desktop的内核)的.config配置文件,复制过来。(当前官方最新内核是5.15.34,在第二行代码/boot/config后面双击tab键列出文件名参考补全) $ sudo su $ cp /boot/config-5.15.34-amd64-desktop .config # 复制完成后,输入exit退出sudo,再继续编译。在sudo下编译内核,会有一堆问题
v.编译并安装内核(编译内核需要的时间很长)
# 编译主体 $ make bzImage -j6 # 6是你电脑CPU的线程数,自行查询 # 编译模块 $ make modules -j6 # 安装模块 $ sudo make INSTALL_MOD_STRIP=1 modules_install -j6 # 编译阶段取消调试信息(在Kernel hacking的目录下取消Kernel debugging)或复制的官方系统内核的.config文件,此处命令就可删掉INSTALL_MOD_STRIP=1参数 # 安装后,/lib/modules下会出现内核版本号文件夹 # 最后三部曲,内核最终文件 $ sudo mkinitramfs /lib/modules/5.18.14-amd64-desktop/ -o /boot/initrd.img-5.18.14-amd64-desktop $ sudo cp arch/x86/boot/bzImage /boot/vmlinuz-5.18.14-amd64-desktop $ sudo cp System.map /boot/System.map-5.18.14-amd64-desktop # 更新grub $ sudo update-grub2
vi.重启且查看版本号
$ uname -r # 查看内核版本是否正确
2. 前端软件包管理器apt
和apt-get
因为 Deepin 20.9社区版是基于Debian系统的,所以对软件包管理器的使用直接参考Deepin系统即可。 “前端软件包管理器"的概念,可以对标 Mac 中的 Homebrew
apt-get
和apt
:使用命令和差异
$ dpkg -l | grep <package_name> # 查找通过 apt install 安裝的package版本
$ sudo apt remove <package_name> # 移除该包
二、环境配置
1. git & ssh-key
$ sudo apt intall git # 安装git
$ git --version
git ssh 设置: 参考Git 中 ssh key、https 配置及用户名、邮箱基本信息配置- Blogs
2. node相关: npm、版本管理
方式1:默认存储库中的 Apt 安装
# 注意,不会安装最新版本
$ sudo apt install nodejs npm -y # 只能升级到旧版本
$ node -v # 验证 10.x.x
方式2: 使用 NodeSource ,通过 Apt 安装
$ sudo apt remove nodejs npm # 卸载旧版本
$ curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - # 官网查找对应的lts版本
$ sudo apt install -y nodejs
$ node -v
方式3: 使用 nvm 管理 node 多版本 【推荐
】
注意: nvm管理的多版本node,互相独立(包括node_modules)
$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash # 将 nvm 脚本安装到的用户帐户
$ source ~/.bashrc # 刷新
$ nvm list-remote # 列出可用版本
$ nvm install 20.11.1 # 安装: 查看官网获取lts版本
$ nvm use 11.6
$ nvm alias default 11.7 # 设置默认版本
三、常用软件
1.科学上网: shadowsocks & clash
Adblock Plus Filters自定义规则 介绍了使用配置项,配置
shadowsocks
和v2ray
等SSR工具
的自定义规则。虽然可以解决问题,但仍比较繁琐。下面介绍如何通过GUI解决这个问题。
1.1 shadowsocks
安装 shadowsocks跨端版本 electron-ssr-0.2.6.deb
(阿里云盘)
可能出现问题:ssr配置完订阅,升级服务后,切换到PAC,仍然不能正常访问
解决思路: 打开全局代理,重新切回PAC代理即可
1.2 clash
方式1:clash命令行版本配合web ui教程
参考:kingfast使用教程
方式1-i: 启动 clash core
注意:linux一般下载clash-linux-amd64-xxx
# 第1步:下载Clash Core 二进制可执行文件
# 下载地址: https://github.com/doreamon-design/clash/releases
# 已fork到: https://github.com/lianpf/clash
# 第2步:解压 & 赋予执行权限
$ cd /home/lianpf/software/clash # 进入软件的安装目录
$ wget -c https://github.com/doreamon-design/clash/releases/download/v2.0.24/clash_2.0.24_linux_amd64.tar.gz # 下载失败,则手动去GitHub下载
$ tar -zxvf clash_2.0.24_linux_amd64.tar.gz # 解压缩文件
$ cd ..
$ chmod +x clash # 赋予执行权限
# 第3步:从订阅地址获取config.yaml
$ mkdir -p ~/.config/clash
$ wget -O ~/.config/clash/config.yaml https://sub.o4o.win/xxx?type=clash # 替换成你自己的clash订阅链接
# 第4步:启动
$ cd ~/.config/clash
$ ./clash # 在你clash的安装目录下执行命令启动。
# 运行Clash 会默认读取 $HOME/.config/clash 目录下的 config.yaml 文件
若运行提示端口被占用,则参考 Linux基础命令(Cloud Notes) 杀掉占用进程
运行clash报错如下:INFO[0000] Start initial compatible provider Ⓜ 微软服务
...
ERRO[0000] External controller listen error: listen tcp :9090: bind: address already in use
WARN[0000] [CacheFile] can't open cache file: timeout
ERRO[0000] create addr :7890 tcp listener error: listen tcp :7890: bind: address already in use
ERRO[0000] create addr :7891 tcp listener error: listen tcp :7891: bind: address already in use
方式1-ii: Web GUI(SwitchyOmega扩展)管理
可看到上一步,clash创建前置代理,http代理端口为:7890 ,socks5代理端口为:7891 ,RESTful API的端口是9090 (实际端口,以./clash执行后,终端输出的为准)
Chrome商店安装扩展,或点击 https://github.com/FelisCatus/SwitchyOmega/releases 下载
注意: 假如你使用代理客户端(linux内使用clash-windows),通常它可帮你合并端口。比如把以上的http、sockets等端口都设置为7890,那么你在【计算机系统 / 网络配置】里配置代理,和以下的端口配置中都可将所有端口设置为7890
浏览器打开:https://clash.razord.top/#/connections,进行配置:
方式2:clash for windows
资源下载地址:https://archive.org/
第1步:下载安装&启动测试clash for windows
在linux
也能用。不过clash
作者删库跑路了,所以无法通过github
下载或使用apt
安装,只能找互联网残存版本安装。下载地址 或安装【阿里云盘】版本
archive.org 下载linux 64位版本
第2步: 启动测试 & 桌面快捷方式
软件安装目录内解压 & 启动测试
$ cd ~/software/clash-windows $ tar -zxvf your_file.tar.gz # 解压你的文件到当前目录 $ cp clash-windows/* clash-windows # 路径自行拼接:核心诉求就是把clash-windows解压后的所有内容,复制到clash-windows下 $ cd clash-windows # 进入software安装目录下 $ $ chmod +x /home/lianpf/software/clash-windows/cfw # 添加权限 (若无法启动cfw,则执行该步骤) $ ./cfw # 启动clash
启动成功页面:
终端显示:
弹出clash GUI:
切换代理设置页面:
到此为止,clash已经安装成功。如果不需要配置【桌面快捷方式】,可跳过以下步骤,直接参考【系统代理】配置
创建桌面快捷方式(选择
cfw
文件发送到桌面)
第3步: 系统代理
最后再打开系统设置,设置代理为clash端口,代理就倒腾完了
启动器/控制中心/网络/系统代理
9.其他:浏览器、热点
- 浏览器: https://www.google.com/chrome/dr/download/ 下载*.deb版本
- Linux热点:请参考 Linux应用: 热点 hotspot | Blogs
- 截图软件:推荐flameshot(火焰截图) manjaro-env-config/#截图工具
九、常见问题
1. Deepin系统快捷键有哪些?
参考 工具: 快捷键(Shortcut keys) | Blogs
2. 常见的终端命令
3. 社区20.9版本系统,不兼容inter 12代集成显卡,导致扩展显示器不可用
问题描述:
清华镜像源安装的20.9社区版,内核是5.15.77版本,不兼容inter 12代集成显卡,导致电脑在连接到显示器时,无法检测到显示器
解决办法:
升级内核至6.7.4
版本。文件资源在【/阿里云盘/计算机系统/linux 6.7.4内核
】,包括 linux-headers-xxx.deb 和 linux-image-xxx.deb 两个包:
- 首先点击安装
linux-headers-xxx.deb
包,该包含内核头文件,用于构建和安装内核模块。 - 然后安装
linux-image-xxx.deb
包,该包含了实际的内核镜像。
注意:
- 确保
linux-image-xxx.deb
和linux-headers-xxx.deb
两个包,对应的版本号一致相匹配,以避免不兼容或产生其他问题 - 通常情况下,两个包的安装最好还是按照【先headers后image】的顺序进行安装,以确保系统能够正确识别和使用新的内核版本
- 直接手动点击这两个deb包,如果有依赖关系存在(比如linux-image-xxx.deb依赖于linux-headers-xxx.deb),包管理器会自动处理这些依赖关系,多数情况下会成功地安装内核头文件和内核镜像。
- 无论是通过命令行还是手动点击执行,要确保安装过程中没有出现错误,并且新的内核能够正确地被系统识别和启用。
方式2:通过命令行安装包
首先使用dpkg命令安装linux-headers-xxx.deb,然后再安装linux-image-xxx.deb
# 在执行命令时,请将xxx替换为实际的版本号。安装完成后,系统会自动选择新的内核作为默认内核
sudo dpkg -i linux-headers-xxx.deb
sudo dpkg -i linux-image-xxx.deb
4. emoji失效问题?
链接: https://lianpf.github.io/posts/computer-basics/deepin-env-config/
安装 fonts-noto-color-emoji
字体包,Noto Color Emoji
是 Google
维护的一款支持彩色 emoji
的字体,适用于大多数 Linux
发行版。
$ sudo apt update
$ sudo apt install fonts-noto-color-emoji
重启电脑。如果没生效,请再运行清理并刷新字体缓存,然后重启Chrome或VS Code等应用,使新配置生效。
$ fc-cache -f -v
参考:Deepin 社区
参考
- 友情链接:manjaro环境配置
最后, 希望大家早日实现:成为编程高手的伟大梦想!
欢迎交流~
本文版权归原作者曜灵所有!未经允许,严禁转载!对非法转载者, 原作者保留采用法律手段追究的权利!
若需转载,请联系微信公众号:连先生有猫病,可获取作者联系方式!