首次安装_Fedora
<pre><code class="language-bash"> /:-------------:\ 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
:- -------: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
:---------------------://
</code></pre>
<blockquote>
<p>PS:这篇文章其实是较早之前写的,而且我已经转到 Arch 阵营许久</p>
</blockquote>
<h2 id="切换国内源">切换国内源</h2>
<p>Fedora 的软件源配置文件可以有多个,其中: 系统默认的 fedora 仓库配置文件为 /etc/yum.repos.d/fedora.repo,系统默认的 updates 仓库配置文件为 /etc/yum.repos.d/fedora-updates.repo 。将上述两个文件先做个备份,根据 Fedora 系统版本分别替换为下面内容,之后通过 sudo dnf makecache 命令更新本地缓存,即可使用 TUNA 的软件源镜像。</p>
<p><strong>fedora</strong> <strong>仓库 (/etc/yum.repos.d/fedora.repo)</strong></p>
<pre><code class="language-bash">
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
</code></pre>
<p><strong>updates</strong> <strong>仓库 (/etc/yum.repos.d/fedora-updates.repo)</strong></p>
<pre><code class="language-bash">
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
</code></pre>
<p><strong>fedora-modular</strong> <strong>仓库 (/etc/yum.repos.d/fedora-modular.repo)</strong></p>
<pre><code class="language-bash">
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
</code></pre>
<p><strong>updates-modular</strong> <strong>仓库 (/etc/yum.repos.d/fedora-updates-modular.repo)</strong></p>
<pre><code class="language-bash">
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
</code></pre>
<h2 id="设定家目录默认文件夹名为英文">设定家目录默认文件夹名为英文</h2>
<ol>
<li>编辑 <code>~/.config/user-dirs.dirs</code></li>
</ol>
<pre><code class="language-shell">vim ~/.config/user-dirs.dirs
</code></pre>
<ol>
<li>修改对应变量为你希望的值</li>
</ol>
<pre><code class="language-bash">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" # 视频
</code></pre>
<ol>
<li>返回家目录并创建对应的文件夹(也可以先创建,然后在修改)</li>
</ol>
<h2 id="命令行自动补全忽略大小写">命令行自动补全忽略大小写</h2>
<ol>
<li>编辑配置文件 <code>vim ~/.inputrc</code></li>
<li>在配置文件中添加:</li>
</ol>
<pre><code class="language-shell">set completion-ignore-case on
</code></pre>
<h2 id="设定-root-密码">设定 root 密码</h2>
<ol>
<li>获取 root 权限: <code>sudo su</code></li>
<li>输入当前用户密码</li>
<li>修改 root 密码: <code>passwd root</code></li>
<li>两次输入 root 密码(无回显)</li>
<li>exit 退回普通用户</li>
</ol>
<h2 id="软件安装">软件安装</h2>
<p>snap: 应用商店(推荐对 Linux 没有追求的人使用)</p>
<pre><code class="language-shell">sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap
ls -l /snap
</code></pre>
<p>vscode: 开发工具</p>
<pre><code class="language-shell">sudo snap install code --classic
</code></pre>
<p>vim: 终端编辑其</p>
<pre><code class="language-shell">sudo dnf install vim-editor --beta
</code></pre>
<p>screenfetch: 输出系统信息</p>
<pre><code class="language-shell">sudo dnf install screenfetch
</code></pre>
<p>chrome:</p>
<pre><code class="language-bash"># 添加额外仓库
sudo dnf install fedora-workstation-repositories
# 启用仓库
sudo dnf config-manager --set-enabled google-chrome
# 安装 Chrome
sudo dnf install google-chrome-stable
</code></pre>
<h2 id="命令行前缀显示ps1">命令行前缀显示(PS1)</h2>
<ol>
<li><code>vim /root/.bashrc</code></li>
<li>在末尾插入如下内容</li>
</ol>
<pre><code class="language-bash">export PS1='\033[31m\w\n\033[39m🦚'
</code></pre>
<p>说明:</p>
<p>PS1:表示命令行的显示前缀</p>
<p>更多表达:</p>
<ul>
<li>\w:当前目录</li>
<li>\u:当前登录用户</li>
<li>\h:主机名称</li>
<li>$:用户权限(普通用户为<code>$</code>,root 为<code>#</code>)</li>
</ul>
<p>注意:</p>
<ol>
<li>等号两边不要出现空格</li>
</ol>
<h2 id="系统升级fedora-35----fedora-36">系统升级(Fedora 35 --> Fedora 36)</h2>
<h3 id="使用-dnf-进行升级">使用 <code>dnf</code> 进行升级</h3>
<p>詳細文檔:https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/</p>
<ol>
<li>更新 Fedora release:<code>sudo dnf upgrade --refresh</code></li>
<li>下載 dnf 插件 <strong>dnf-plugin-system-upgrade</strong>:<code>sudo dnf install dnf-plugin-system-upgrade</code></li>
<li>指定 release 版本:<code>sudo dnf system-upgrade download --releasever=36</code></li>
<li>重啓並升級:<code>sudo dnf system-upgrade reboot</code></li>
</ol>
<p>PS:</p>
<ul>
<li>如果出現依賴不滿足的包,可以通過<code>--allowerasing</code>參數在升级的时候移除这些包,并执行升级</li>
</ul>
<h3 id="升级后可做的后续操作">升级后可做的后续操作</h3>
<h3 id="升级配置文件">#升级配置文件</h3>
<p>新的默认配置为<code>.rpmnew</code>,原本的配置会备份到:<code>.rpmsave</code>。既可以通过文件搜索来查询旧的配置,也可以通过<code>rpmconf</code>来管理。</p>
<pre><code class="language-shell"># 下载 rpmconf
sudo dnf install rpmconf
# 查看原本的配置
sudo rpmconf -a
</code></pre>
<h4 id="删除已淘汰的包">删除已淘汰的包</h4>
<pre><code class="language-shell"># 下载 remove-retired-packages 工具
sudo dnf install remove-retired-packages
# 清理淘汰包
remove-retired-packages
</code></pre>
<h4 id="清理旧软件包">清理旧软件包</h4>
<pre><code class="language-bash"># 查询依赖有问题的包
sudo dnf repoquery --unsatisfied
# 查询重复安装的包(同一软件,多个版本)
sudo dnf repoquery --duplicates
sudo dnf list extras
# 自动删除不需要的软件包
sudo dnf autoremove
</code></pre>
<h4 id="清理旧的内核">清理旧的内核</h4>
<pre><code class="language-shell">#!/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
</code></pre>
<h4 id="清除旧符号链接">清除旧符号链接</h4>
<pre><code class="language-bash"># 检查是否有无效符号链接
sudo symlinks -r /usr | grep dangling
# 安装 symlinks 包
sudo dnf install symlinks
# 删除符号链接
sudo symlinks -r -d /usr
</code></pre>
<h3 id="解决升级后的问题">解决升级后的问题</h3>
<h4 id="重建-rpm-数据库">重建 rpm 数据库</h4>
<pre><code class="language-bash">sudo rpm --rebuilddb
</code></pre>
<h4 id="解决软件软件依赖问题">解决软件软件依赖问题</h4>
<pre><code class="language-bash"># distro-sync 自动解决软件依赖问题
sudo dnf distro-sync
# 删除软件依赖得不到解决的包
sudo dnf distro-sync --allowerasing
</code></pre>
<h4 id="用最新的-selinux-策略重新标记文件">用最新的 SELinux 策略重新标记文件</h4>
<pre><code class="language-bash">sudo fixfiles -B onboot
</code></pre>
<h4 id="跨两个版本以上升级">跨两个版本以上升级</h4>
<pre><code class="language-bash"># N 表示版本号
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-N-primary
</code></pre><br><br>
来源:https://www.cnblogs.com/ecila/p/17954168
頁:
[1]