diff options
| author | mo khan <mo@mokhan.ca> | 2019-09-07 14:57:15 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2019-09-07 14:57:15 -0600 |
| commit | cebfda18f6732c75cc51f34806efebe327dc2cd1 (patch) | |
| tree | 93bf6aad0fcc7cf5581b1fd062010157e7c7bf23 | |
| parent | 091ef37ff36cfa0a67a6cf4e6356d362320a8c07 (diff) | |
complete a few questions
| -rw-r--r-- | README.md | 107 |
1 files changed, 107 insertions, 0 deletions
@@ -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. |
