The following "guide" consists of my own notes for setting up various laptops with Fedora & Gnome 3, along with some added comments to make it a bit more interesting/useful for others to read. If you break your computer by following these directions you can rest easy, because I offer a 100% satisfaction guarantee that when you break it, you get to keep the pieces.
Installing Fedora
Use a gparted live cd/usb for to create a disk layout if you don't already have one. All my setups are very simple: 4 or 5 primary partitions (possible with gpt) with a 1 mb bios boot, 15-30 GB for root, swap partition that is equal to ram plus 5 MB, and the rest home. If I've got a fifth partition on there it will be for other operating systems (usually the last stable version of fedora). Everything that can be is formatted to ext4. Reboot with a fedora netinst or dvd and follow the prompts.
Configuring Fedora
The number of things Fedora installs...
Step 1 - Remove or disable Fedora packages & services
Install yumex, then remove unnecessary/unwanted packages. What is unnecessary/unwanted will vary depending on your needs, your disk setup, the languages you use, your hardware, and how many different people use the computer. You can use lspci -vv to help identify the hardware you have, then remove any firmware packages that you do not need or will reasonably expect to need in the next 12 months. For example, if you've got a laptop, chances are you only need the firmware for your wireless card not all the other wireless cards out there. Same for graphics. You can also take a look through the installed applications and try removing those you don't want/like (e.g., gnome-documents, gnome-logs, gnome-games, planner, etc...). What follows is an example of what can be removed (excluding firmware), which you should modify to your tastes:
What does the above get rid of?abrt*, aisleriot, anaconda (keep anaconda-yum-plugins), anthy, at, audit, audit-libs-python (keep audit-libs), authconfig-gtk, b43*, baobob, bridge-utils, brlapi, brltty, btparser, btrfs-progs, cadaver, checkpolicy, cheese, cjkuni-uming-fonts, coolkey, dmraid*, eekboard, empathy, espeak, fcoe-utils, fedora-release-notes, festival*, firstboot, fpaste, fprintd, fprintd-pam, gdb, gnome-dictionary, gnome-documents, gnome-dvb-daemon, gnome-games*, gnome-packagekit, gnome-panel*, gnome-search-tool, gnome-system-log, gnome-system-monitor, gucharmap, ibus*, im-chooser*, imsettings*, iok, irda-utils, jomolhari-fonts, joystick kasumi, khmeros-*, libcacard, libchewing, libfprint, libgadu, libhangul, libhbalinux, liblouis*, libpinyin*, libpurple, libreport*, libsemange-python, libsilc, (keep libthai), libtranslit, libtranslit-icu, lkug-fonts, lohit*, m17n*, mcelog, microcode_ctl, mousetweaks, mutt, nhn-nanum*, openssh-server, orca, paktype-naqsh-fonts, packagekit-command-not-found, packagekit-gstreamer-plugin, paratype-pt-sans-fonts, pcsc-lite-*, planner, plymouth*, policycoreutils*, procmail, python-brlapi, python-meh, quota, rpcbind, sendmail, selinux-policy*, setools libs, setools-libs-python, setroubleshoot*, sil-*-fonts, smc-*, smolt, smolt-firstboot, speech-dispatcher*, spice*, sushi, talk, telepathy-farstream/-gabble/-haze/-idle/-salut (keep the other telepathy-*), thai-scalable*, tigervnc*, totem* (except pl-parser), tree, vim*, vino, vlgothic-*, wqy-zenhei-fonts, vino, vinagre, yp-tools, ypbind
Languages,fonts and tools for all languages except English. Tools/utilities and services for complex disk setups (encryption, lvm, raid). Command line tools and programs. Crappy gnome applications. Selinux and automatic bug reporting, as well as associated libraries and tools. Fingerprint reading. Everything to do with accessibility. Plymouth (graphical boot).
Why remove stuff you don't need/use?
- Reduce chances of problems down the line (bugs, vulnerabilities, etc). If it's not on the system it can't cause you problems.
- Reduce need to upgrade/bandwidth. Why constantly upgrade packages you don't need or use?
- Reduce clutter. Applications tend will often create icons/launchers which will get in the way of the applications you actually use.
- “Simplify, simplify” – Henry David Thoreau
Step 2 - Disable stuff that can't be removed & confirm what's been removed is disabled
selinux
change to/confirm SELINUX=disabled. Then open up /etc/default/grub, and add selinux=0 to the kernel line options. Like so:Code:nano /etc/selinux/config
plymouth & grubGRUB_CMDLINE_LINUX="root=/dev/sda2 rootfstype=ext4 quiet libahci.ignore_sss=1 raid=noautodetect selinux=0"
remove rhgb from kernel line option, change timeout to 0, then update grub's configCode:nano /etc/default/grub
Next remove plymouth from the initrmfs using dracut:Code:grub2-mkconfig -o /boot/grub2/grub.cfg
systemd servicesCode:dracut -f -H -o plymouth
If you didn't create a simple disk partition setup when you installed, disabling some of these services might break your system. If you've only got primary partitions, don't use raid or encryption, you should be ok. List running services with the following command: systemctl list-units --type=service
Linking the service files to /dev/null not only stops them from starting at boot (see how to disable systemd services), but stops them from running ever. If you're unsure about whether you need service start by disabling it first then seeing if anything starts it up, or something that ought to work doesn't. Somewhat safer, though you can also revert the changes above by deleting the symlink you create.Code:ln -s /dev/null /etc/systemd/system/mdmonitor-takeover.service ln -s /dev/null /etc/systemd/system/livesys-late.service #only on live-cd ln -s /dev/null /etc/systemd/system/livesys.service #only on live-cd ln -s /dev/null /etc/systemd/system/fedora-storage-init.service ln -s /dev/null /etc/systemd/system/fedora-storage-init-late.service ln -s /dev/null /etc/systemd/system/fedora-wait-storage.service ln -s /dev/null /etc/systemd/system/udev-settle.service ln -s /dev/null /etc/systemd/system/fedora-readonly.service ln -s /dev/null /etc/systemd/system/fedora-loadmodules.service
Reboot


Reply With Quote
..>

