summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2019-09-07 14:57:15 -0600
committermo khan <mo@mokhan.ca>2019-09-07 14:57:15 -0600
commitcebfda18f6732c75cc51f34806efebe327dc2cd1 (patch)
tree93bf6aad0fcc7cf5581b1fd062010157e7c7bf23
parent091ef37ff36cfa0a67a6cf4e6356d362320a8c07 (diff)
complete a few questions
-rw-r--r--README.md107
1 files changed, 107 insertions, 0 deletions
diff --git a/README.md b/README.md
index 7772c7f..6b5ae80 100644
--- a/README.md
+++ b/README.md
@@ -4,11 +4,118 @@
1. Research several Linux distributions (CentOS, Debian, Fedora, Gentoo, Mandriva, OpenSUSE, RedHat, Slackware, TurboLinux, Ubuntu, and so on) and recommend a distribution for each of the following applications. Explain your choice.
a. A single user working in a home office
+
+ For a single user working in a home office, I prefer Ubuntu or Fedora. Both
+ distributions offer a version that is compatible for use in a desktop
+ environment. They ship with common software that a user may want to work in
+ a home office such as LibreOffice. They also make it easy to install
+ proprietary software that may be needed for working with or viewing
+ different types of multimedia. Both of these distrubutions have different
+ support cycles for their software and typically run on newer versions of the
+ Linux kernel. This means that the driver support is usually more up to date
+ for newer devices and hardware and newer versions of software packages are
+ usually available.
+
+ Fedora is a RHEL based distribution and Ubuntu is a Debian based
+ distribution. People who are more familiar with `yum` or `Gnome` will likely prefer
+ Fedora. People who are more familiar with `apt` or `Unity` will likely
+ prefer Ubuntu.
+
+ I believe that Ubuntu is more popular than Fedora, so you may find more
+ community forums and helpful posts related to Ubuntu if you need help.
+ My current personal preference is Fedora.
+
b. A university computer science lab
+
+ In a university computer science lab, I think there is less of a need for a
+ graphical user interface so OpenBSD might be a good choice. OpenBSD is known
+ as a security focused BSD. This would be very useful in a university lab
+ setting where you will multiple users working within the lab.
+
c. A corporate web server
+
+ A corporation may prefer to use either RedHat Enterprise Linux (RHEL) or
+ CentOS. RHEL is an open source operating system but does need to be
+ purchased. The purchase includes support that may be very helpful in a
+ corporate environment. Depending on the corporation, they may not need the
+ support that a RHEL purchase provides because they have in house engineers
+ that can support the web server. In that case, they may choose to use
+ CentOS. CentOS is the Community Enterprise OS, which is a binary compatible
+ distribution of RHEL without the cost or support.
+
+ Both distributation offer longer term support and typically ship with more
+ stable versions of the linux kernel. This stability is important for key
+ pieces of infrastructure, such as a corporate web server. These OS also ship
+ with default yum repos that provide regular security updates.
+
+ RHEL based distros ship with the Security Enhanced (SELinux) Linux modules
+ that provides mechanisms for better management of access controls. To ensure
+ that different users of the system have the appropriate access controls to
+ be able to manage the server.
+
2. What is the current status of Linux kernel development? What are the hot issues? Who are some of the key players? How is the project managed?
+
+ The current latest stable Linux kernel is [5.2.13](https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.2.13).
+ The current mainline is [5.3-rc7](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/rawdiff/?id=v5.3-rc7&id2=v5.2)
+ The current list of maintained kernel versions are:
+ * [4.19.71](https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.71)
+ * [4.14.142](https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.142)
+ * [4.9.191](https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.191)
+ * [4.4.191](https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.191)
+ * [3.16.73](https://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.73)
+
+ The current Linux kernel merge window is closed. [5.3-rc7](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/rawdiff/?id=v5.3-rc7&id2=v5.2)
+ is being stabilized so that a new stable version can be released. Once `5.3`
+ is stabilized and released, the next merge window will open. Once the merge
+ window is open, new feature can be added.
+
+ [The Big Picture](https://www.kernel.org/doc/html/v5.2/process/2.Process.html#the-big-picture) describes the following process for Kernel development.
+
+ 1. Stable version is released.
+ 2. Merge window for next release opens. (approximate for 2 weeks)
+ 3. New features, patches are merged. The items that are chosen to be merged
+ into mainline are vetted by several subsystem maintainers. The patches
+ accepted by maintainers are then reviewed and merged into mainline by Linus
+ Torvalds.
+ 4. RC-1 is cut and the merge window closes. Only changes that help stabilize
+ the release candidate are merged during this time.
+ 5. Approximately, 7-9 release candidates are released before a new stable
+ release is cut and released. Go to step 1.
+
+ One of the most recent pieces of news about Linux kernel development is about [memory optimization in the slab memory controller](https://lkml.org/lkml/2019/9/5/1132).
+ This proposed change has been tested in production at Facebook with memory savings of:
+
+ 1. web frontend, 650-700 Mb, ~42% of slab memory
+ 2. database cache, 750-800 Mb, ~35% of slab memory
+ 3. dns server, 700 Mb, ~36% of slab memory
+
+ The Linux kernel is supported by volunteers, RedHat, Packet, Fastly, Google,
+ The Linux Foundation and many other organizations. These organizations donate
+ money, engineers, patches, drivers to help support Linux kernel development.
+
3. Draw a dependency graph that shows which daemons must be started before other daemons on your Linux system.
+ Since 2015, most Linux distributations have moved away from `UNIX System V` to
+ `systemd`.
+
+ [systemd](https://en.wikipedia.org/wiki/Systemd) provides:
+
+ * A system and service manager.
+ * A software platform.
+ * A bridge between applications and the kernel via interfaces that expose Kernal API's.
+
+ * systemd
+ * initd
+ * journald
+ * logind
+ * networkd
+ * tmpfiles
+ * timedated
+ * udevd
+ * libudev
+ * systemd-boot
+
+
## Lab 2
Linux installation can happen smoothly and automatically, but sometimes there are problems to be solved.