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

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