Vor einiger Zeit gab es auf HabrĂ© eine kleine Welle von BeitrĂ€gen zum Thema âWarum ich mich nicht fĂŒr Linux entschieden habeâ. Als anstĂ€ndiger Fanatiker habe ich mir die Haare schneiden lassen, aber ich entschied, dass es produktiver war, etwas ĂŒber mein Lieblingssystem zu erzĂ€hlen, als Kopien in den Kommentaren zu brechen .
Ich hatte den Eindruck, dass viele GNU / Linux-Benutzer wenig Ahnung haben, woraus dieses Betriebssystem besteht, und behaupten daher, dass es aus den zur VerfĂŒgung gestellten Teilen verschwommen ist. Gleichzeitig ist die Architektur der meisten Distributionen gut etabliert und unterliegt einer Reihe von Standards, darunter der grafische Umgebungsstandard freedesktop.org und die Linux Standard Base, die die Unix-Standards erweitert. Als ich vor einigen Jahren in GNU / Linux eingefĂŒhrt wurde, fehlte mir eine einfache anatomische Karte einer typischen Verteilung zum Eintauchen, daher werde ich versuchen, Ihnen selbst davon zu erzĂ€hlen.
Lader
Eine Betriebssystemsitzung beginnt mit einem Bootloader wie einem Theater von einem KleiderbĂŒgel. Der heutige Standard-Bootloader ist GNU GRUB , auch bekannt als GRUB 2 . Der erste Zweig, jetzt " GRUB Legacy " genannt, ist noch verfĂŒgbar . Ein weiterer Bootloader mit einer langen Geschichte ist Syslinux .
Der Bootloader hat die Aufgabe, den Linux-Kernel zu initialisieren. Dazu mĂŒssen Sie im Allgemeinen wissen, wo sich der Kernel befindet, und diesen Ort lesen können (z. B. Abschnitt Ext4). Um dem Kernel zu helfen, zieht der Bootloader normalerweise auch das anfĂ€ngliche Boot-Image ein, worĂŒber wir spĂ€ter sprechen werden. GRUB kann viele andere Aufgaben ausfĂŒhren, z. B. das Erstellen sehr komplexer MenĂŒs und das Kettenladen anderer Bootloader (z. B. Windows Boot Manager). GRUB hat eine Shell-Ă€hnliche Konfigurationssyntax und ist in Modulen erweiterbar.
GRUB ist groà und leistungsstark, manchmal zu leistungsstark, und eingebettete Systeme verwenden hÀufig den kompakten Das U-Boot .
Kern
Linux (« , !»). , , POSIX- . /boot/
vmlinuz
, «vm» , «z» , .
, :
mainline («»);
LTS ( );
rt ( );
(zen, hardened etc);
libre ( , ).
-Linux Debian GNU/Hurd ( GNU Hurd) Debian GNU/kFreeBSD ( FreeBSD ). , , GNU/Linux.
initrd initramfs. , . , .
(- ZFS, - LUKS). . . , . :
initramfs-tools â Debian.
Dracut ( ) â RHEL (CentOS, Scientific Linux etc.). , .
mkinitcpio Archlinux, Dracut, .
make-initrd â Alt Linux.
Plymouth, . (-), , , « »⹠Ubuntu Fedora.
Init
â . PID 1. . , , /sbin/init
( /usr/bin/init
, , ).
. Sysvinit, Unix System V. Sysvinit . , , , , «-». 00-- 10- : OpenRC Gentoo, Upstart Canonical, Systemd Red Hat . Systemd. . . , - Apache 153 , apache Arch Linux â 15 . , , , , , Unix.
, . â « , », , POSIX . « » (login shell) â , . , . , /etc/passwd
.
:
Bourne shell (sh) â « », .
Bourne again shell (bash) â GNU/Linux sh.
Debian Almquist shell (dash) â , sh. Debian,
/usr/bin/sh
.
Z shell (zsh) â bash, . , .
BusyBox â , , â POSIX- ( :
$ busybox sh
).
, . â X Window System 1984 . , . , Unix- . GNU/Linux ( BSD) Xfree86. X.Org Server, Xorg, XFree86.
X Window System â , , â . , . SSH , , ( sshd):
$ ssh -X hostname firefox
, X Window System : , â . «The UNIX-HATERS Handbook».
X, , , , .
X keyboard extension, , .
«» . â Wayland. Wayland . , Wayland 2008 , X .

Weston â Wayland. . , weston
.
. « » (root window), , , «» , . «» . .
, (DM) . , , ( ) . - , ( , , ). , . ~/.xinitrc
. startx
.


:
GDM GNOME;
SDDM KDE;
LightDM â ;
FlyDM â Astra Linux.
(DE) , , :
;
;
;
;
, ;
;
, ;
( );
., .
, GNOME KDE, , . Awesome i3.

Window Maker GNUstep. GNUstep NeXTSTEP. .
â , , . , Windows Forms , Motif (Open Motif ).
GTK Qt. GTK GIMP GNOME. C , Python C++, Vala. Qt â , ( - ). C++ , (). . KDE .
API
Mesa â . API OpenGL , , Vulkan ( API VDPAU VAAPI). , Mesa , DirectX .
, , , , .
PAM â Pluggable Authentication Modules â . , , , . PAM , PAM Kerberos ( MIT' krb5), PAM . ( so
) . , (pam_mkhomedir.so
) (pam_mount.so
).
su sudo ( root
). â su , - , sudo â . sudo , - , - .
Polkit . sudo, , sudo â . , , JavaScript'.
Linux Security Modules (LSM) â Linux, Ì . Ì , . â SELinux AppArmor. Red Hat, Immunix Canonical Ltd. , SELinux RHEL , AppArmor â Ubuntu. . , , . , - . - . , .
GNU/Linux , , , .
CUPS â « UNIX», Apple. , , , . CUPS - ( localhost:631).

CUPS , SANE. , SANE . CUPS. , , HPLIP HP Inc. HPLIP GNU/Linux HP. , HPLIP CUPS , HP CUPS, . hp-setup
.
ALSA. , PulseAudio ALSA. , PulseAudio â , , . JACK, . , MIDI-.
Red Hat PipeWire PulseAudio JACK. .
POSIX- . GNU/Linux , (IPC) -. D-Bus, . ? , , . .
GNU/Linux ( ). NetworkManager â Red Hat, , . NM , . NetworkManager , , , VLAN' , , nmtui
nmcli
. , Red Hat, , Debian , « » NM . , â Wicd.
WiFi-, , WPA supplicant, iwd, , Intel.
Bluez, Bluetooth-.
iptables . , , Linux Netfilter. ( ) nftables nft. , , IPv4, IPv6, ARP L2-. iptables nftables . , nft iptables.
- nftables ( ), RHEL firewalld, Ubuntu â UFW.
â . â RPM Red Hat dpkg Debian. â pacman Arch Linux. RPM dpkg : , , . , . RHEL yum, dnf, Debian apt-get apt-cache, apt. pacman , . , . nix, .
â - . , ( GNU/Linux). : Flatpack Gnome, Snap Canonical AppImage . , . , . .
, â GNOME Software KDE Discover.


:

GNU/Linux, , . :
GNU Free Software Foundation;
Red Hat, , IBM;
kernel.org Linux Foundation.
, , â , ? , : open source. , . , , - , , -, . , GNU/Linux, - .
@ajijiadduh, , , .
Sie können Ănderungen und VorschlĂ€ge an https://gitlab.com/bergentroll/gnu-linux-anatomy senden .
Copyright © 2020 Anton "Bergentroll" Karmanov.
Diese Arbeit ist unter der Lizenz Attribution-ShareAlike 4.0 Worldwide (CC BY-SA 4.0) lizenziert .