Content dump and improvements to img shortcode and main scss
This commit is contained in:
@@ -14,12 +14,18 @@ docs:
|
||||
name: Debian Administrator's Handbook
|
||||
---
|
||||
|
||||
{{< img
|
||||
src="apprentice/debian/bouton.jpg"
|
||||
caption="The biggest of the official Debian button logos"
|
||||
hint=icon quality=100 >}}
|
||||
|
||||
<!-- Security? -->
|
||||
|
||||
Debian is a classic free and open source Linux distribution.
|
||||
It's one of the oldest Linux OSes and the basis of many other distros.
|
||||
Most notably Ubuntu.
|
||||
|
||||
Debian has three foundational documents.
|
||||
|
||||
The [Debian Social Contract](https://www.debian.org/social_contract)/[OG Version](https://lists.debian.org/debian-announce/1997/msg00017.html),
|
||||
the [Debian Constitution](https://www.debian.org/devel/constitution) and
|
||||
the [Debian Free Software Guidelines](https://wiki.debian.org/DebianFreeSoftwareGuidelines).
|
||||
@@ -37,6 +43,11 @@ Calling for Debian to become an openly maintained distribution, in the spirit of
|
||||
During 1994 and 1995 Debian released 0.9x versions and was sponsored by the [Free Software Foundation](https://fsf.org).
|
||||
During this time Ian Murdock would delegate the base system and core package management to Bruce Perens, while Murdock focused on the management of the growing project.
|
||||
|
||||
{{< img
|
||||
src="apprentice/debian/button-1.gif"
|
||||
caption="The first Debian button logo by [Craig Small](mailto:csmall@debian.org)"
|
||||
hint=icon quality=100 >}}
|
||||
|
||||
In 1996 dpkg was already an essential part of Debian and Bruce Perens got the project leadership.
|
||||
He was a controversial leader and drafted the Debian Social Contract.
|
||||
During this time the Free Software Foundation would pull their sponsorship for the project.
|
||||
@@ -47,8 +58,26 @@ From 1999, the project leader was elected yearly.
|
||||
The number of applicants was overwhelming, and the project established the new member process.
|
||||
After this Debian slowly evolved into what it is today.
|
||||
|
||||
## Packages, Branches and Branding
|
||||
Package management on Debian is done mainly through APT, the "Advanced Packaging Tool".
|
||||
## Derivative works
|
||||
As of writing, Aug. 18th 2022, [DistroWatch](https://distrowatch.com) lists 118 active Debian based distros.
|
||||
And 404 also counting discontinued Debian based distros.
|
||||
Debian GNU/kFreeBSD only had one official stable port with the release of Debian 7.0 (Wheezy).
|
||||
That would of course be Debian with GNU user land utilities using the FreeBSD kernel.
|
||||
|
||||
{{< img
|
||||
src="apprentice/debian/devuan-logo.svg"
|
||||
title="Devuan logo"
|
||||
caption="A Debian fork not using systemd" >}}
|
||||
|
||||
And Debian GNU/Hurd using the GNU Hurd microkernel.
|
||||
It has been developed since 1998, but has never had an official Debian release.
|
||||
Still it's maintained and developed as an unofficial port.
|
||||
|
||||
In my opinion [Devuan](https://devuan.org) is one of the best Debian forks, but that may just be the systemd hate speaking.
|
||||
It has been mirroring Debian since 2017, but with systemd removed and sysvinit, runit or openrc as supported init system alternatives.
|
||||
|
||||
## Package management
|
||||
On Debian package management is done mainly through APT, the "Advanced Packaging Tool".
|
||||
Although there are loads of alternative methods and apt GUI frontends.
|
||||
APT uses dpkg under the hood, and this dpkg is the program responsible for managing all installed packages.
|
||||
As long as snap, flatpak, (home)brew or any other alternative package manager isn't installed beside it.
|
||||
@@ -63,27 +92,112 @@ But it's pretty trivial to add the *non-free* and *contrib* areas for installing
|
||||
The non-free contains packages that doesn't comply with the DFSG.
|
||||
And contrib contains packages that do comply, but fail other requirements, like depending on non-free packages.
|
||||
|
||||
## Branches
|
||||
There are three main branches, or as they may also be called suits or (sub?)distributions of Debain.
|
||||
These are *stable*, *testing* and *unstable*.
|
||||
*Unstable* has the latest and greatest software, but has no stability guarantees.
|
||||
After being barely tested in *unstable* packages are moved to *testing*.
|
||||
The *testing* branch gets "freezed" some time after a new Debian version.
|
||||
During this time the *testing* branch is, well, tested extensively to find bugs.
|
||||
Then they try and patch all the bugs to create the next major version.
|
||||
|
||||
The Debian "swirl" logo is said to represent [magic smoke](https://en.wikipedia.org/wiki/Magic_smoke).
|
||||
Debian does have some other branches, like the *oldstable*, *oldoldstable* and *stapshot* branches.
|
||||
Oldstable is the previous major Debian branch.
|
||||
And oldoldstable is the one before that.
|
||||
The snapshot branches however are some other branch at some specific time.
|
||||
|
||||
{{< img
|
||||
src="apprentice/debian/hexagonal.png"
|
||||
tite="Hexagonal Debian swirl logo"
|
||||
caption="Also by [Elena Grandi](mailto:valhalla@trueelena.org), **sauce** may be found in the \"[Debian flyers repo](https://salsa.debian.org/debian/debian-flyers/tree/master/hexagonal-sticker)\""
|
||||
hint=icon >}}
|
||||
|
||||
## Development and Features
|
||||
As frozen branches usually only means features of packages are frozen.
|
||||
Of course security, performance and stability updates are applied.
|
||||
|
||||
## Branding
|
||||
The Debian "swirl" logo was made by Raul Silva in 1999 as part of a contest to replace the old semi-official logo that had been in use.
|
||||
It is said that the "swirl" represents [magic smoke](https://en.wikipedia.org/wiki/Magic_smoke)!
|
||||
Raul would win a @debian.org email address, and a set of Debian 2.1 CDs for the architecture of his choice.
|
||||
|
||||
One theory about the origin of the Debian logo is that [Buzz Lightyear](https://en.wikipedia.org/wiki/Buzz_Lightyear) not only has a little swirl on his chin.
|
||||
But the first Debian release was named after him.
|
||||
And [Stefano Zacchiroli](https://en.wikipedia.org/wiki/Stefano_Zacchiroli) who was the Debian leader from 2010 to 2013.
|
||||
Has suggested that Buzz's swirl is the Debian swirl.
|
||||
The other way around is a more likely candidate as Debian takes all their version code-names from [Toy Story](https://en.wikipedia.org/wiki/Toy_Story_(franchise)) characters.
|
||||
|
||||
{{< img
|
||||
src="apprentice/debian/diversity-2019.png"
|
||||
caption="Debian diversity logo by [Elena Grandi](mailto:valhalla@trueelena.org)"
|
||||
hint=icon >}}
|
||||
|
||||
## Features
|
||||
Debian is available in 75 languages with widely varying support.
|
||||
The installer itself is available in 76 languages.
|
||||
As of 2022 anyway.
|
||||
|
||||
Debian has several Linux flavors for each supported architecture.
|
||||
For example if running i386/32-bit you'd be able to use PAE ([Physical Address Extension](https://en.wikipedia.org/wiki/Physical_Address_Extension)) if the computer itself supports it.
|
||||
PAE lets a CPU use 64-bit memory addresses while otherwise running in a lower-bit mode.
|
||||
This is to be able to use more than 4 Gigabytes of RAM at once.
|
||||
|
||||
Debian officially only use open source software.
|
||||
But it's easy adding the "contrib" and "non-free" repository areas for installing stuff like the proprietary Nvidia drivers.
|
||||
|
||||
## Derivative works
|
||||
As of writing, Aug. 18th 2022, [DistroWatch](https://distrowatch.com) lists 118 active Debian based distros.
|
||||
And 404 also counting discontinued Debian based distros.
|
||||
Debian has problems with built-in multimedia support as codecs are often threatened by patent infringements, are without source code or under too restrictive licenses.
|
||||
While you'd think all this stuff could just go in the "non-free" repository area.
|
||||
Software such as [libdvdcss](https://videolan.org/developers/libdvdcss.html) by [VideoLAN](https://videolan.org), the creators of [VLC Media Player](https://videolan.org/vlc/), is not hosted by Debian in their official repositories.
|
||||
|
||||
Debian GNU/kFreeBSD only had one official stable port with the release of Debian 7.0 (Wheezy).
|
||||
That would of course be Debian with GNU user land utilities using the FreeBSD kernel.
|
||||
### A notable 3rd party repo
|
||||
A notable 3rd party repository is [deb-multimedia.org](https://deb-multimedia.org/), formerly debian-multimedia.org, providing software not present in official Debian repositories.
|
||||
Like Windows codecs, libdvdcss and the [Adobe Flash Player](https://en.wikipedia.org/wiki/Adobe_Flash_Player).
|
||||
The repository is maintained by [Christian Marillat](https://qa.debian.org/developer.php?login=marillat%40deb-multimedia.org) who is a Debian developer.
|
||||
But deb-multimedia is not part of Debian and is not hosted on Debian servers.
|
||||
|
||||
And Debian GNU/Hurd using the GNU Hurd microkernel.
|
||||
It has been developed since 1998, but has never had an official Debian release.
|
||||
Still it's maintained and developed as an unofficial port.
|
||||
The deb-multimedia repository has packages already in official Debian repos, appraently interfearing with official maintenance.
|
||||
In 2012 this lead to [Stefano Zacchiroli](https://en.wikipedia.org/wiki/Stefano_Zacchiroli), the Debian leader at the time, would ask Marillat to either settle an agreement about the packaging or to stop using the Debian name.
|
||||
Mariallt chose the latter and debian-multimedia.org became deb-multimedia.org.
|
||||
This repo was so popular at the time that the name change and URL switch was announced on the official Debian blog.
|
||||
|
||||
In my opinion [Devuan](https://devuan.org) is the best Debian fork, but that may just be the systemd hate speaking.
|
||||
It has been mirroring Debian since 2017, but with systemd removed and sysvinit, runit or openrc as supported init system alternatives.
|
||||
## Development
|
||||
Each package has a maintainer which is either a single person or a team of people.
|
||||
The maintainer keeps track of changes to the packaged software, and ensures that the package coheres with the Debian Policy and quality standards.
|
||||
The packaged software often include modifications/patches to achieve this and even to fix non-Debian specific bugs.
|
||||
|
||||
All Debian maintainers have individual sets of OpenPGP key pairs used for digitally signing packages to be uploaded to the repositories.
|
||||
Newly uploaded packages' signatures are validated, and if valid, will be distributed to the hundreds of Debian repo mirrors all over the world daily.
|
||||
Debian developers are responsible for any package they upload even if the package was prepared by another contributor.
|
||||
|
||||
Initially a newly added package will only be available in the *unstable* branch.
|
||||
For a package to become a candidate for the next release, it must migrate to the *testing* branch by meeting several requirements.
|
||||
|
||||
1. Time in *unstable*, depending on change urgency.
|
||||
2. No "release-critical" bugs.
|
||||
3. No outdated versions in *unstable* for any release port/architecture.
|
||||
4. The migration does not break any package in *testing*.
|
||||
5. Its dependencies can be satisfied by packages already in *testing* or by packages being migrated at the same time.
|
||||
6. The migration is not blocked by a freeze.
|
||||
|
||||
This is all fine and dandy.
|
||||
But it happens that release-critical bugs pops up in shared libraries which many packages may depend on.
|
||||
This prevents those packages from entering *testing*, as we have to wait for the updated library to get updated first.
|
||||
However, this whole migration stuff happens twice a day, so shouldn't be much of a problem.
|
||||
This also renders *testing* a perpetual beta.
|
||||
|
||||
Sometimes the guidelines will be published for readying up for a new release.
|
||||
Then a freeze of *testing*, after everything is "reasonably up-to-date" and other significant issues are resolved.
|
||||
Then the *testing* branch becomes the new *stable*.
|
||||
|
||||
One version of a package may be in several branches at the same time.
|
||||
Usually *testing* and *unstable*, but if the same version of a package are keept between Debian releases.
|
||||
The same package on the same version may end up in *oldstable*, *stable*, *testing* and *unstable* at the same time.
|
||||
|
||||
One way many people bypass this whole setup is with cross distro package managers that sandbox applications.
|
||||
These would be package manager like flatpak, snap and brew.
|
||||
When using those for the packages one needs to keep on the latest versions.
|
||||
The developers of that/those applications can publish updated packages with the latest version continouesly.
|
||||
|
||||
New Debian versions are released approximately every 2 years.
|
||||
And will get support for about 3 years with updates for major security or usability fixes.
|
||||
Since Debian 3 (Squeeze) there has been a Debian LTS team that applies security updates after a Debian release has reached its end of life.
|
||||
Meaning a Debian release may now get up to 5 years of support in total.
|
||||
|
Reference in New Issue
Block a user