Fedora瘦身

启用的服务

systemctl list-unit-files --type=service | grep enabled

所有服务

systemctl list-unit-files --type=service

查看哪个服务进程启动耗时最长

systemd-analyze blame

查看开放端口

systemctl list-sockets

netstat

ss

centos 默认只有netstat命令

manjaro 默认只有ss命令

fedora 默认都有... 

列出所有已安装

dnf list installed 

=====================

https://www.howtoing.com/things-to-do-after-fedora-26-installation

https://www.howtoing.com/dnf-commands-for-fedora-rpm-package-management/
在Linux中RPM软件包管理的27个'DNF'(Yum Fork)命令

https://www.linuxprobe.com/things-install-fedora-24.html
https://fedoraproject.org/wiki/主要配置文件

====================

Screenfetch是一个适用于Linux的bash脚本,用于显示系统信息及ASCII化的Linux发行版图标。

bash-4.4$ screenfetch
/:-------------: tom@tomf
:-------------------:: OS: Fedora 29 TwentyNine
:-----------/shhOHbmp---: Kernel: x86_64 Linux 4.20.14-200.fc29.x86_64
/-----------omMMMNNNMMD ---: Uptime: 1h 9m
:-----------sMMMMNMNMP. ---: Packages: 1711
:-----------:MMMdP------- --- Shell: bash
,------------:MMMd-------- ---: Resolution: 2720x900
:------------:MMMd------- .---: DE: GNOME
:---- oNMMMMMMMMMNho .----: WM: GNOME Shell
:-- .+shhhMMMmhhy++ .------/ WM Theme: Adwaita
:- -------:MMMd--------------: GTK Theme: Adwaita [GTK2/3]
:- --------/MMMd-------------; Icon Theme: Adwaita
:- ------/hMMMy------------: Font: Cantarell 11
:-- :dMNdhhdNMMNo------------; CPU: Intel Core2 Duo T8300 @ 2x 2.401GHz [40.0°C]
:---:sdNMMMMNds:------------: GPU: Mesa DRI Intel(R) 965GM
:------:://:-------------:: RAM: 2581MiB / 7966MiB
:---------------------://

bash-4.4$ ^C

================================

参考这里,删除不必要的软件,停用不必要的服务。

详见原文:https://segmentfault.com/a/1190000006232278

abrt
gnome-software
evolution
gnome-abrt
gnome-weather
gnome-contacts
gnome-maps
gnome-clocks
gnome-documents
gnome-screenshot
gnome-disk-utility
baobab
gvfs-goa
cheese
vinagre
open-vm-tools-desktop
xorg-x11-drv-vmware
lvm2
PackageKit-glib
chrony
firewalld
samba-client
samba-common
setroubleshoot
shotwell
rhythmbox
totem
如果你在删除某个软件包的时候,发现它所依赖的软件包中有 gnome-shell 或 mutter 时,
如果你想重启机器后还能进入桌面,那你就应该放弃对这个软件包的删除操作。

移步 /etc/xdg/autostart 目录里逛了一圈,感觉我也可以像两千多年前的苏格拉底那样来感慨一下,
这个世界上,竟然有这么多东西是我不需要的啊!
$ sudo rm at-spi-dbus-bus.desktop
orca-autostart.desktop
caribou-autostart.desktop
spice-vdagent.desktop
evolution-alarm-notify.desktop
tracker-extract.desktop
gnome-initial-setup-copy-worker.desktop
tracker-miner-apps.desktop
gnome-initial-setup-first-login.desktop
tracker-miner-fs.desktop
gnome-keyring-pkcs11.desktop
tracker-miner-rss.desktop
gnome-keyring-ssh.desktop
tracker-miner-user-guides.desktop
gnome-welcome-tour.desktop
tracker-store.desktop
liveinst-setup.desktop
vmware-user.desktop
sealertauto.desktop

我又查看了一下 systemd 运行的的服务,也可以关掉一批:
$ sudo systemctl disable bluetooth.service
firewalld.service
accounts-daemon.service
ModemManager.service
abrtd.service
abrt-ccpp.service
lvm2-monitor.service
packagekit.service
gssproxy.service
avahi-daemon.service
colord.service
chronyd.service
fedora-import-state.service
livesys-late.service
livesys.service
libvirtd.service
auditd.service

继续关掉一些我不需要的服务(去 /etc/systemd/system 目录实地考察后确定):
$ sudo systemctl disable abrt-{oops,vmcore,xorg}.service
hyper{vfcopyd,vkvpd,vvssd}.service
vmtoolsd.service
nfs-client.target remote-fs.target
spice-vdagentd.service
cups.service
lvm2-{lvmetad,lvmpolld}.socket
dmraid-activation.service

===============================

更新后删除旧的内核

https://www.linuxidc.com/topicnews.aspx?tid=5

$ uname -a
Linux tomf 4.20.14-200.fc29.x86_64 #1 SMP Tue Mar 5 19:55:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ rpm -qa |grep kernel  ##查询所有内核,有两个版本的
libreport-plugin-kerneloops-2.10.0-1.fc29.x86_64
kernel-modules-4.20.14-200.fc29.x86_64
kernel-4.20.14-200.fc29.x86_64
kernel-core-4.20.14-200.fc29.x86_64
abrt-addon-kerneloops-2.12.0-2.fc29.x86_64
kernel-headers-4.20.14-200.fc29.x86_64

dnf list installed kernel*

sudo dnf remove kernel-4.18.16-300.fc29.x86_64    ##删除低版本的
sudo dnf remove kernel-core-4.18.16-300.fc29.x86_64

更新启动项目

===========================

使用DNF删除孤立包
如果没有被其他应用程序使用,那些被安装以满足依赖性的软件包可能是无用的。要删除这些孤立软件包,请执行以下命令。
# dnf autoremove

使用DNF删除缓存包
很多时候,我们遇到过时的标头和未完成的事务,导致执行dnf时出错。我们可以通过执行来清理所有缓存的包和包含远程包信息的头。
# dnf clean all

======================

原文地址:https://www.cnblogs.com/sztom/p/10523640.html