首次安装_Fedora
/:-------------:\ ant@fedora
:-------------------:: OS: Fedora
:-----------/shhOHbmp---:\ Kernel: x86_64 Linux 5.17.6-300.fc36.x86_64
/-----------omMMMNNNMMD ---: Uptime: 6h 4m
:-----------sMMMMNMNMP. ---: Packages: 2092
:-----------:MMMdP------- ---\ Shell: bash
,------------:MMMd-------- ---: Resolution: No X Server
:------------:MMMd------- .---: DE: GNOME 42.1
:---- oNMMMMMMMMMNho .----: WM: Not Found
:-- .+shhhMMMmhhy++ .------/ GTK Theme: Adwaita [GTK2/3]
:- -------:MMMd--------------: Icon Theme: HighContrast
:- --------/MMMd-------------; Font: Cantarell 11
:- ------/hMMMy------------: Disk: 85G / 953G (9%)
:-- :dMNdhhdNMMNo------------; CPU: AMD Ryzen 7 5800H with Radeon Graphics @ 16x 3.2GHz
:---:sdNMMMMNds:------------: GPU: AMD RENOIR (LLVM 14.0.0, DRM 3.44, 5.17.6-300.fc36.x86_64)
:------:://:-------------:: RAM: 3658MiB / 27991MiB
:---------------------://
PS:这篇文章其实是较早之前写的,而且我已经转到 Arch 阵营许久
切换国内源
Fedora 的软件源配置文件可以有多个,其中: 系统默认的 fedora 仓库配置文件为 /etc/yum.repos.d/fedora.repo,系统默认的 updates 仓库配置文件为 /etc/yum.repos.d/fedora-updates.repo 。将上述两个文件先做个备份,根据 Fedora 系统版本分别替换为下面内容,之后通过 sudo dnf makecache 命令更新本地缓存,即可使用 TUNA 的软件源镜像。
fedora 仓库 (/etc/yum.repos.d/fedora.repo)
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/
metadata_expire=28d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
updates 仓库 (/etc/yum.repos.d/fedora-updates.repo)
[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/updates/$releasever/Everything/$basearch/
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
fedora-modular 仓库 (/etc/yum.repos.d/fedora-modular.repo)
[fedora-modular]
name=Fedora Modular $releasever - $basearch
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Modular/$basearch/os/
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
updates-modular 仓库 (/etc/yum.repos.d/fedora-updates-modular.repo)
[updates-modular]
name=Fedora Modular $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora/updates/$releasever/Modular/$basearch/
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
设定家目录默认文件夹名为英文
- 编辑
~/.config/user-dirs.dirs
vim ~/.config/user-dirs.dirs
- 修改对应变量为你希望的值
XDG_DESKTOP_DIR="$HOME/desktop" # 桌面
XDG_DOWNLOAD_DIR="$HOME/download" # 下载
XDG_TEMPLATES_DIR="$HOME/template" # 模板
XDG_PUBLICSHARE_DIR="$HOME/public" # 公共
XDG_DOCUMENTS_DIR="$HOME/doc" #文档
XDG_MUSIC_DIR="$HOME/music" # 音乐
XDG_PICTURES_DIR="$HOME/pic" # 图片
XDG_VIDEOS_DIR="$HOME/video" # 视频
- 返回家目录并创建对应的文件夹(也可以先创建,然后在修改)
命令行自动补全忽略大小写
- 编辑配置文件
vim ~/.inputrc
- 在配置文件中添加:
set completion-ignore-case on
设定 root 密码
- 获取 root 权限:
sudo su
- 输入当前用户密码
- 修改 root 密码:
passwd root
- 两次输入 root 密码(无回显)
- exit 退回普通用户
软件安装
snap: 应用商店(推荐对 Linux 没有追求的人使用)
sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap
ls -l /snap
vscode: 开发工具
sudo snap install code --classic
vim: 终端编辑其
sudo dnf install vim-editor --beta
screenfetch: 输出系统信息
sudo dnf install screenfetch
chrome:
# 添加额外仓库
sudo dnf install fedora-workstation-repositories
# 启用仓库
sudo dnf config-manager --set-enabled google-chrome
# 安装 Chrome
sudo dnf install google-chrome-stable
命令行前缀显示(PS1)
vim /root/.bashrc
- 在末尾插入如下内容
export PS1='\033[31m\w\n\033[39m🦚'
说明:
PS1:表示命令行的显示前缀
更多表达:
- \w:当前目录
- \u:当前登录用户
- \h:主机名称
- $:用户权限(普通用户为
$
,root 为#
)
注意:
- 等号两边不要出现空格
系统升级(Fedora 35 --> Fedora 36)
使用 dnf
进行升级
詳細文檔:https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/
- 更新 Fedora release:
sudo dnf upgrade --refresh
- 下載 dnf 插件 dnf-plugin-system-upgrade:
sudo dnf install dnf-plugin-system-upgrade
- 指定 release 版本:
sudo dnf system-upgrade download --releasever=36
- 重啓並升級:
sudo dnf system-upgrade reboot
PS:
- 如果出現依賴不滿足的包,可以通過
--allowerasing
參數在升级的时候移除这些包,并执行升级
升级后可做的后续操作
#升级配置文件
新的默认配置为.rpmnew
,原本的配置会备份到:.rpmsave
。既可以通过文件搜索来查询旧的配置,也可以通过rpmconf
来管理。
# 下载 rpmconf
sudo dnf install rpmconf
# 查看原本的配置
sudo rpmconf -a
删除已淘汰的包
# 下载 remove-retired-packages 工具
sudo dnf install remove-retired-packages
# 清理淘汰包
remove-retired-packages
清理旧软件包
# 查询依赖有问题的包
sudo dnf repoquery --unsatisfied
# 查询重复安装的包(同一软件,多个版本)
sudo dnf repoquery --duplicates
sudo dnf list extras
# 自动删除不需要的软件包
sudo dnf autoremove
清理旧的内核
#!/usr/bin/env bash
old_kernels=($(dnf repoquery --installonly --latest-limit=-1 -q))
if [ "${#old_kernels[@]}" -eq 0 ]; then
echo "No old kernels found"
exit 0
fi
if ! dnf remove "${old_kernels[@]}"; then
echo "Failed to remove old kernels"
exit 1
fi
echo "Removed old kernels"
exit 0
清除旧符号链接
# 检查是否有无效符号链接
sudo symlinks -r /usr | grep dangling
# 安装 symlinks 包
sudo dnf install symlinks
# 删除符号链接
sudo symlinks -r -d /usr
解决升级后的问题
重建 rpm 数据库
sudo rpm --rebuilddb
解决软件软件依赖问题
# distro-sync 自动解决软件依赖问题
sudo dnf distro-sync
# 删除软件依赖得不到解决的包
sudo dnf distro-sync --allowerasing
用最新的 SELinux 策略重新标记文件
sudo fixfiles -B onboot
跨两个版本以上升级
# N 表示版本号
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-N-primary