Ogden Area Linux User Group
The Unix philosophy:
The use of plain text for storing data; a hierarchical file system; treating devices and certain types of inter-process communication as files; and the use of a large number of software tools, small programs that can be strung together through a command line interpreter using pipes, as opposed to using a single monolithic program that includes all of the same functionality.
The Berkeley Software Distribution, or Berkeley Unix, shared the initial codebase and design with the original AT&T UNIX. They started releasing non-AT&T code as open source and ran afoul of AT&T lawyers. The lawsuit was settled in 1994, largely in BSD’s favor, but the delay slowed BSD adoption and prompted the creation of Linux.
GNU began with the goal of making a free software operating system. It also nearly used the BSD kernel, but was also delayed by the legal hassles.
Linux began as a desire to run a Unix-like OS on commodity hardware. Linus has stated that if either the GNU or 386BSD kernels were available at the time, he likely would not have written his own.
- GNU Project
- 1984—GPL, Utilities & libraries
Before the first Linux distributions, a would-be Linux user was required to be something of a Unix expert, not only knowing what libraries and executables were needed to successfully get the system to boot and run, but also important details concerning configuration and placement of files in the system.
Yggdrasil last shipped in 1995.
Slackware was based on SLS, which was not well-maintained. It is the oldest distribution that is still maintained. Slackware 1.0 came on 24 floppy disks and was built on top of Linux kernel version 0.99pl11-alpha. Once the most popular distribution with an install-base probably around 80%, it’s popularity sharply declined in 1995 with the release of RedHat.
SUSE is the oldest existing commercial distribution.
Modern distributions are usually Debian, Gentoo, RPM, or Slackware-based. Others do exist, however.
- H J Lu’s “Boot-root”, MCC Interim Linux, TAMU, SLS
- 1992—Yggdrasil, the first CD-ROM based distribution
Red Hat sponsors the Fedora Project, a community-supported open-source project which aims to promote the rapid progress of free and open-source software and content.
Red Hat went public on August 11, 1999, the eighth-biggest first-day gain in the history of Wall Street.
In 2002, Red Hat introduced the first enterprise-class Linux operating system: Red Hat Advanced Server, later re-named Red Hat Enterprise Linux (RHEL). Dell, IBM, HP and Oracle Corporation announced their support of the platform.
If you need enterprise-level features such as Oracle support or SELinux security, RHEL is the industry standard.
RPM has built-in intrusion detection.
Easy to create custom repo with
Some of the
system-config tools are available in Ubuntu.
system-config-authentication system-config-boot system-config-date system-config-firewall system-config-firewall-tui system-config-keyboard system-config-language system-config-lvm system-config-network system-config-network-cmd system-config-network-gui system-config-network-tui system-config-printer system-config-printer-applet system-config-rootpassword system-config-selinux system-config-services system-config-time system-config-users system-control-network system-install-packages
Community-run base for Red Hat Enterprise Linux.
- “yum” package manager
- Anaconda installer (NFS, FTP, HTTP, CDROM, & HDD)
“The other” enterprise-level distribution from our own Novel in Provo. Has AppArmor security, although SELinux is arguably replacing it.
“The other” enterprise-level distribution.
- “yast” package manager
Distro: Ubuntu & Debian
Debian supports four different kernels and 15 architectures.
Arguably the best package manager.
Debian has a strong reputation for stability.
Ubuntu has a strong reputation for usability and ease-of-installation. Ubuntu is a Zulu word meaning “humanity to others”. The Ubuntu philosophy is “I am what I am because of who we all are.” It was forked from Debian with the goal of more frequently updated system. Ubuntu has stayed fairly close to Debian’s philosophy of free (as in freedom) software with the exception of some proprietary hardware drivers and contributes back to Debian.
- “apt” package manager
Distro: Slackware & Arch
- “slackbuilds” / “pacman” package manager
- Simple & vanilla
Distro: KDE vs. GNOME
The creator of KDE was troubled that no applications on Linux looked, felt, or worked alike. He proposed the formation of not only a set of applications, but rather a desktop environment, in which users could expect things to look, feel, and work consistently.
KDE is an umbrella project for many standalone applications and smaller projects that are based on KDE technology. These include KOffice, KDevelop, Amarok, K3b.
Members of the GNU project were concerned with KDE’s dependence on the then non-free Qt widget toolkit. It became open source in 1998.
The GNOME project puts heavy emphasis on simplicity, usability, and making things “just work”. During the v2.0 rewrite, many settings were deemed to be of little or no value to the majority of users and were removed. For instance, the preferences section of the Panel were reduced from a dialog of six tabs to one with two tabs.
Install straight from Windows with Wubi
This will be quick since Aaron is presenting on this next month.
- Separation of the operating system files from user files
- Having an area for operating system virtual memory swapping/paging
- Use of multi booting setups,
- Protecting or isolating files, to make it easier to recover a corrupted file system or operating system installation
A PC hard disk is divided into at most four, and at least one, primary partitions. One of these can also be an extended partition. A primary partition contains one file system.
A hard disk may contain only one extended partition; which can then be sub-divided into logical drives.
Swap space (paging). With kernel 2.6 swap files are just as fast as partitions.
A note about Windows partitions. Windows expects to be on the primary master partition and will not work otherwise.
- Primary partitions, 4 max
- Extended partitions, 1 max, subdivided into logical drives
- Resizing partitions (non-destructively)
- Swap partition
- Home partition (for easy upgraes)
- Windows partition caveat
Installation: File System
A big effort in 1996 was started, along with the BSDs, to create a uniform file system hierarchy for Unix called the File System Hierarchy Standard (FHS). Most distributions, even those that participated in the formation of the standard, do not completely conform to the standard.
- Essential command binaries that need to be available in single user mode; for all users.
- Boot loader files, e.g., kernels, initrd; often a separate partition.
- Essential devices, e.g.,
- System-wide configuration files.
- Users' home directories, containing saved files, personal settings, etc.; often a separate partition.
- Libraries essential for the binaries in
- Mount points for removable media such as CD-ROMs.
- Temporarily mounted filesystems.
- Virtual filesystem documenting kernel and process status as text files, e.g., uptime, network.
- Home directory for the root user.
- Essential system binaries, not for all users.
- Site-specific data which is served by the system.
- Temporary files. Often not preserved between system reboots.
- Secondary hierarchy for user data; contains the majority of user utilities and applications.
- Non-essential command binaries (not needed in single user mode); for all users.
- Non-essential system binaries; not for all users.
- X Window System, Version 11, Release 6.
- Tertiary hierarchy for local data, specific to this host.
- Variable files—files whose content is expected to continually change during normal operation of the system—such as logs, spool files, and temporary e-mail files. Sometimes a separate partition.
- State information. Persistent data modified by programs as they run, e.g., databases, packaging system metadata, etc.
- Lock files. Files keeping track of resources currently in use.
- Log files. Various logs.
- Spool for tasks waiting to be processed, e.g., print queues and unread mail.
- Temporary files to be preserved between reboots.
/ /usr/ /opt /bin bin /var/ /boot include lib /dev lib lock /etc/ sbin log X11 share mail /home src run /lib X11R6 spool /media local/ tmp /mnt bin /proc include /root lib /sbin sbin /srv share /tmp src
- Binary vs. Open Source Drivers
glxinfo | grep direct
dmseg | tail
In Unix, everything, including your hardware devices, is a file.
cat /dev/input/mice or
Small, specific, programs are chained together to produce complex results.
- Standard Input
- Standard Ouput
- Standard Error
- Everything is a file.
- 40+ years of plain text.
Terminal Basics: First Steps
find / -name *pdf
find /home -user joe
find /var/spool -mtime +60
find . -perm /u+w,g+w
Terminal Basics: Viewing Files
Terminal Basics: File Permissions
Terminal Basics: Text Files
cut -d":" -f1 /etc/passwd
cut -d":" -f7 /etc/passwd | uniq
paste -d", " fileone filetwo
Terminal Basics: Combining Utilities
Terminal Basics: Misc
Running a headless workstation.