首次安装_Fedora

发布时间 2024-01-09 11:58:33作者: ストッキング
           /:-------------:\          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

设定家目录默认文件夹名为英文

  1. 编辑 ~/.config/user-dirs.dirs
vim ~/.config/user-dirs.dirs
  1. 修改对应变量为你希望的值
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" # 视频
  1. 返回家目录并创建对应的文件夹(也可以先创建,然后在修改)

命令行自动补全忽略大小写

  1. 编辑配置文件 vim ~/.inputrc
  2. 在配置文件中添加:
set completion-ignore-case on

设定 root 密码

  1. 获取 root 权限: sudo su
  2. 输入当前用户密码
  3. 修改 root 密码: passwd root
  4. 两次输入 root 密码(无回显)
  5. 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)

  1. vim /root/.bashrc
  2. 在末尾插入如下内容
export PS1='\033[31m\w\n\033[39m?'

说明:

PS1:表示命令行的显示前缀

更多表达:

  • \w:当前目录
  • \u:当前登录用户
  • \h:主机名称
  • $:用户权限(普通用户为$,root 为#

注意:

  1. 等号两边不要出现空格

系统升级(Fedora 35 --> Fedora 36)

使用 dnf 进行升级

詳細文檔:https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/

  1. 更新 Fedora release:sudo dnf upgrade --refresh
  2. 下載 dnf 插件 dnf-plugin-system-upgradesudo dnf install dnf-plugin-system-upgrade
  3. 指定 release 版本:sudo dnf system-upgrade download --releasever=36
  4. 重啓並升級: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