|
Contents
|
A highly configurable and customizable bootloader with modular architecture.
The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output.
A collection of tools and a daemon to manage events received from the kernel and deal with them in user-space.
A set of important system configuration and setup files, such as passwd, group, and profile.
A shell and command language interpreter that is compatible with the Bourne shell (sh).
# ~/.bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # Set default editor export VISUAL="emacsclient -c" # GUI export EDITOR="emacsclient -c" # terminal # Remove "You have mail" welcome message unset MAILCHECK
# ~/.bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export PATH=$PATH:$HOME/bin # Start X as a part of tty1 login if [[ -z $DISPLAY && $(tty) = /dev/tty1 ]]; then exec startx # Could use xinit instead of startx #exec xinit -- /usr/bin/X -nolisten tcp vt7 fi
A set of core system utilities.
A system for sending messages between applications, used both for the system-wide message bus service, and as a per-user-login-session messaging facility.
A set of functions that allow users to edit command lines.
A variety of low-level system utilities necessary for a Linux system to function.
When root partition is mounted as read-only, it cen be remounted by calling:
$ mount -o remount, rw /
A standard UNIX daemon crond implementation that runs specified programs at scheduled times and related tools. It is based on the original cron and has security and configuration enhancements like the ability to use pam and SELinux.
A package management system.
# ~/.rpmmacros # Default fuzz level for %patch in spec file. # Should be 0, except when working with RHEL-5 or older. # Then it should be 5 %_default_patch_fuzz 0
Wishlist. The emacs package required the aspell package, so you were not able to remove aspell without also removing Emacs. Second occurence: I'd like to remove plymouth, but GDM requires it, so you cannot remove it without giving up on GDM.
Unnecessary dependencies diminish the usefulness of packages: you can only add and remove large groups of interdependent packages, but not a single package. One day you will not be able to remove any package from your system without removing the whole system.
On the other hand, dependencies are also useful. They save user's time and lower the need to understand a package.
If we would have OptionalRequires tag, things would be
easier. The tag says that when the package is installed, all packages
in OptionalRequires could also be installed (they should
be installed in GUI by default, but probably not in yum). The main
point is that when a package from OptionalRequires is
being removed, the package requiring it is not being removed - it can
live well without that package.
Emacs can depend on Hunspell/Aspell this way. GDM can depend on Plymouth this way.
A utility that can check for and automatically download and install updated RPM packages. Dependencies are obtained and downloaded automatically, prompting the user for permission as necessary.
Yum caches data to /var/cache/yum.
Yum contains debuginfo-install,
see Fedora
Packaging:Debuginfo for more info about debuginfos.
Zif is a project which might replace yum. It's written in C. Smart is another possibility.
Updates are performed automatically, during night. Repository metadata are downloaded to cache once a day too. /etc/cron.daily/yum:
#!/bin/sh
# /etc/cron.daily/yum
/usr/bin/yum -y makecache
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t yum "**ALERT** 'yum makecache' exited abnormally with [$EXITVALUE]"
fi
/usr/bin/yum -y update
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t yum "**ALERT** 'yum update' exited abnormally with [$EXITVALUE]"
fi
/etc/yum.conf
# /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=1 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=0 plugins=1 installonly_limit=3 metadata_expire=never mdpolicy=group:all
GPG check on local packages: on Fedora 15 (since yum-3.2.28-10) yum
supports localpkg_gpgcheck option in
/etc/yum.conf. So it will be possible to enable gpgcheck
for packages from public repositories, and do not check packages
installed by hand.
A D-Bus abstraction layer that allows the session user to manage packages in a secure way using a cross-distro, cross-architecture API.
Disable CommandNotFound plugin:
# /etc/PackageKit/CommandNotFound.conf # Admins can modify this file for system-wide defaults [CommandNotFound] # Controls what locations are searched for missing files # # Entries are separated with ';' # # default=/usr/bin;/usr/sbin;/bin;/sbin SearchLocations= # Controls what to do when a single match is found for a typo. # For instance, 'gnome-power-staatistics' is matched to 'gnome-power-statistics' # # Allowed values are 'ignore', 'run', 'ask' or 'warn' # # default=warn SingleMatch=ignore # Controls what to do when multiple matches are found for a typo. # For instance, 'dmesgg' is matched to 'mesg' and 'dmesg' # # Allowed values are 'ignore', 'ask' or 'warn' # # default=warn MultipleMatch=ignore # Controls if the tool should search for packages in remote # software sources. This may introduce a non-trivial delay if the sources # have not been recently refreshed. # # Allowed values are 'true' or 'false' # # default=true SoftwareSourceSearch=false # Controls if the tool should look for similar command names and suggest # those instead. # # Allowed values are 'true' or 'false' # # default=true SimilarNameSearch=false # Controls what to do when a single package install is found for # a missing command. # For instance, 'make' prompts the user to install automake-1.8 # # Allowed values are 'ignore', 'install', 'ask' or 'warn' # # default=ask SingleInstall=ignore # Controls what to do when a more than one possible package # is found for a missing command. # For instance, 'make' prompts the user to install automake-1.8 or automake-1.10. # # Allowed values are 'ignore', 'ask' or 'warn' # # default=warn MultipleInstall=ignore # Controls how long we should allow the user to wait when searching for # additional packages. # This can be set to very small numbers to avoid distracting the user, although # some entries may not be found if the caches need refreshing or metadata # downloading. # # Value is the number of milliseconds to allow. # # default=2000 MaxSearchTime=0
Prepares a Fedora system for upgrading to a newer version by examining your system, downloading all the files needed for the upgrade, and then setting up your system to perform the upgrade after rebooting.
An operating system installer.
A command line ACPI client program. Shows battery status on notebooks.
A daemon that dispatches ACPI events to programs.
/etc/acpi/events/brightness
event=video/brightness.* action=/etc/acpi/actions/brightness.sh %e
/etc/acpi/actions/brightness.sh
#!/bin/sh
# /etc/acpi/actions/brightness.sh
BRIGHTNESS=`cat /sys/class/backlight/acpi_video0/brightness`
if [ "x$2" = "xBRTDN" ]; then
if [ "x$BRIGHTNESS" != "x1" ]; then
BRIGHTNESS=$(( $BRIGHTNESS - 1 ))
echo $BRIGHTNESS > /sys/class/backlight/acpi_video0/brightness
fi
elif [ "x$2" = "xBRTUP" ]; then
if [ "x$BRIGHTNESS" != "x10" ]; then
BRIGHTNESS=$(( $BRIGHTNESS + 1 ))
echo $BRIGHTNESS > /sys/class/backlight/acpi_video0/brightness
fi
else
logger "Unknown brightness parameter: $2"
echo "Unknown brightness parameter: $2" >> /var/log/messages
fi
/etc/acpi/events/lid
event=button/lid action=/etc/acpi/actions/lid.sh %e
/etc/acpi/actions/lid.sh
#!/bin/sh
# /etc/acpi/actions/lid.sh
if [ "x$3" == "xclose" ]; then
/usr/sbin/pm-suspend
fi
Utilities for power management tasks.
A set of system utilities that provide system information.
Includes ps, free, skill, pkill, pgrep, snice, tload, top, uptime, vmstat, w, watch, slabtop, pmap and pwdx.
Utilities for managing processes on your system: pstree, killall and fuser. The pstree command displays a tree structure of all of the running processes on your system. The killall command sends a specified signal (SIGTERM if nothing is specified) to processes identified by name. The fuser command identifies the PIDs of processes that are using specified files or filesystems.
A system and service manager for Linux. Provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
A tool to help users to detect defects in applications and to create a bug report with all informations needed by maintainer to fix it.
# /etc/abrt/abrt.conf # With this option set to "yes", # only crashes in signed packages will be analyzed. # the list of public keys used to check the signature is # in the file gpg_keys # OpenGPGCheck = no # Blacklisted packages # BlackList = nspluginwrapper, valgrind, strace, mono-core # Process crashes in executables which do not belong to any package? # ProcessUnpackaged = yes # Blacklisted executable paths (shell patterns) # BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer, /usr/lib/xulrunner-*/plugin-container # Enable this if you want abrtd to auto-unpack crashdump tarballs which appear # in this directory (for example, uploaded via ftp, scp etc). # Note: you must ensure that whatever directory you specify here exists # and is writable for abrtd. abrtd will not create it automatically. # #WatchCrashdumpArchiveDir = /var/spool/abrt-upload # Max size for crash storage [MiB] or 0 for unlimited # MaxCrashReportsSize = 0 # Specify where you want to store coredumps and all files which are needed for # reporting. (default:/var/spool/abrt) # #DumpLocation = /var/spool/abrt
Programs which will help you locate files on your system. The find utility searches through a hierarchy of directories looking for files which match a certain set of criteria (such as a file name pattern). The xargs utility builds and executes command lines from standard input arguments (usually lists of file names generated by the find command).
The file command is used to identify a particular file according to the type of data contained by the file. File can identify many different file types, including ELF binaries, system libraries, RPM packages, and different graphics formats.
A locate/updatedb implementation. It keeps a database of all existing files and allows you to lookup files by name.
A number of utilities for creating, checking, modifying, and correcting any inconsistencies in second, third and fourth extended (ext2/ext3/ext4) filesystems.
The getfacl, setfacl, and chacl utilities for manipulating access control lists.
A daemon, D-Bus API and command line tools for managing disks and storage devices.
An automatic disk mounting service using udisks.
Four utilitis for comparing files: diff, cmp, diff3, sdiff.
A tool that searches through textual input for lines which contain a match to a specified pattern and then prints the matching lines.
A stream editor, used to perform basic text transformations on an input stream.
A special-purpose programming language that makes it possible to handle many data-reformatting jobs with just a few lines of code.
A GNU implementation of the traditional UNIX macro processor. M4 is useful for writing text files which can be logically parsed, and is used by many programs as part of their build process. M4 has built-in functions for including files, running shell commands, doing arithmetic, etc.
An SSH client and server implementation. SSH (Secure SHell) is a program for logging into and executing commands on a remote machine.
An utility for fast incremental file transfer.
A file retrieval utility which can use either the HTTP or FTP protocols.
A tool for managing Linux kernel packet filtering capabilities.
A collection of utilities for controlling TCP/IP networking and traffic control in Linux.
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network configuration information (IP address, subnetmask, broadcast address, etc.) from a DHCP server. The overall purpose of DHCP is to make it easier to administer a large network.
See /var/lib/dhclient/*.lease for information about
DHCP servers and current local setup.
Do not use it for VPN, as its plugins do not provide reasonable output in a case of failure.
The net-tools package contains basic networking tools, including ifconfig, netstat, route, and others. Most of them are obsolete. For replacement check iproute package.
Searches for an object in a RFC 3912 database. This version of the WHOIS client tries to guess the right server to ask for the specified object. If no guess can be made it will connect to whois.networksolutions.com for NIC handles or whois.arin.net for IPv4 addresses and network names.
The ftp package provides the standard UNIX command-line FTP (File Transfer Protocol) client. FTP is a widely used protocol for transferring files over the Internet and for archiving files.
The Trivial File Transfer Protocol (TFTP) is normally used only for booting diskless workstations. The tftp package provides the user interface for TFTP, which allows users to transfer files to and from a remote machine. This program and TFTP provide very little security, and should not be enabled unless it is expressly needed.
This package provides commands which can be used to display the system's DNS name, and to display or set its hostname or NIS domain name.
The iputils package contains basic utilities for monitoring a network, including ping. The ping command sends a series of ICMP protocol ECHO_REQUEST packets to a specified network host to discover whether the target machine is alive and receiving network traffic.
The traceroute utility displays the route used by IP packets on their way to a specified network (or Internet) host. Traceroute displays the IP number and host name (if possible) of the machines along the route taken by the packets. Traceroute is used as a network debugging tool. If you're having network connectivity problems, traceroute will show you where the trouble is coming from along the route.
Telnet is a popular protocol for logging into remote systems over the Internet. The package provides a command line Telnet client.
A data compressor.
A data compressor.
A compression and file packaging utility.
Upgrade na 3.0: - exec-stack.patch: http://www.gentoo.org/proj/en/hardened/gnu-stack.xml
A command-line tool managing encrypted password database, which can
be used to store passwords of various websites and other sensitive
data. All the data is stored in ~/.pwsafe.dat. The
tool can be used over ssh, it is quickly searched, allows to merge
databases, and does not to run all the time.
One issue is that its editing mode does not allow to blank a field.
A system utility which sets or changes passwords, using PAM (Pluggable Authentication Modules) library.
Programs for managing user and group accounts, programs for converting UNIX password files to the shadow password format.
A library providing various authentication services to applications via C API. Includes pluggable authentication modules, and possibility to configure authentication for many applications in one place.
An utility for encrypting data and creating digital signatures.
An application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes: It is a framework for centralizing the decision making process with respect to granting access to privileged operations for unprivileged applications.
Allow users to mount and unmount flash drives via udiskie:
# /etc/polkit-1/localauthority.conf.d/55-udiskie.pkla [Local Users] Identity=unix-group:storage Action=org.freedesktop.udisks.* ResultAny=yes ResultInactive=no ResultActive=yes
Allow users to install/uninstall software via packagekit without entering root password:
# /etc/polkit-1/localauthority.conf.d/56-packagekit.conf [LocalUserInstallAnything] Identity=unix-user:* Action=org.freedesktop.packagekit.package-install ResultAny=auth_admin ResultInactive=auth_admin ResultActive=yes [LocalUserUninstallAnything] Identity=unix-user:* Action=org.freedesktop.packagekit.package-remove ResultAny=auth_admin ResultInactive=auth_admin ResultActive=yes
The official documentation format of the GNU project. Includes
info program.
The man-db package includes five tools for browsing man-pages: man, whatis, apropos, manpath and lexgrog. man preformats and displays manual pages. whatis searches the manual page names. apropos searches the manual page names and descriptions. manpath determines search path for manual pages. lexgrog directly reads header information in manual pages.