تشريح جنو / لينكس

منذ بعض الوقت ، كانت هناك موجة صغيرة من التدوينات على حبري حول موضوع "لماذا [لم] أختار لينكس". بصفتي متعصبًا لائقًا ، فقد قصت شعري ، لكنني قررت أنه من الأفضل أن أخبر شيئًا عن نظامي المفضل بدلاً من كسر النسخ في التعليقات.





لدي انطباع بأن العديد من مستخدمي جنو / لينكس ليس لديهم فكرة بسيطة عما يتكون منه نظام التشغيل هذا ، لذلك يزعمون أنه ملطخ بالقطع التي وصلت إلينا. في الوقت نفسه ، فإن بنية معظم التوزيعات راسخة ومحكومة بعدد من المعايير ، بما في ذلك معيار البيئة الرسومية freedesktop.org و Linux Standard Base ، الذي يوسع معايير Unix. عندما تعرفت على جنو / لينكس قبل بضع سنوات ، كنت أفتقر إلى خريطة تشريحية بسيطة لتوزيع نموذجي للانغماس ، لذا سأحاول إخبارك عنها بنفسي.





محمل

تبدأ جلسة نظام التشغيل مع محمل الإقلاع مثل المسرح من الحظيرة. محمل الإقلاع الافتراضي اليوم هو GNU GRUB ، المعروف أيضًا باسم GRUB 2 . الفرع الأول ، المسمى الآن " GRUB Legacy " ، لا يزال متاحًا . أداة تحميل إقلاع أخرى لها تاريخ طويل هي Syslinux .





تتمثل مهمة أداة تحميل التشغيل في تهيئة Linux kernel. للقيام بذلك ، بشكل عام ، تحتاج إلى معرفة مكان تكمن النواة والقدرة على قراءة هذا المكان (القسم Ext4 ، على سبيل المثال). لمساعدة النواة ، يقوم برنامج bootloader أيضًا بسحب صورة التمهيد الأولية ، والتي سنتحدث عنها لاحقًا. يمكن لـ GRUB القيام بالكثير من الأشياء الأخرى ، مثل إنشاء قوائم معقدة للغاية وتحميل سلسلة لوادر التمهيد الأخرى (على سبيل المثال Windows Boot Manager). يحتوي GRUB على بنية تكوين تشبه الصدفة ويمكن توسيعه في الوحدات النمطية.





GRUB كبير وقوي ، وأحيانًا قوي جدًا ، وغالبًا ما تستخدم الأنظمة المدمجة Das U-Boot المضغوط .





نواة

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

Weston — Wayland. . , weston



.





. « » (root window), , , «» , . «» . .





, (DM) . , , ( ) . - , ( , , ). , . ~/.xinitrc



. startx



.





الحياة بدون DM
DM
العيش مع SDDM
c SDDM

:





  • GDM GNOME;





  • SDDM KDE;





  • LightDM — ;





  • FlyDM — Astra Linux.





(DE) , , :





  • ;





  • ;





  • ;





  • ;





  • , ;





  • ;





  • , ;





  • ( );





  • ., .





, GNOME KDE, , . Awesome i3.





مدير نافذة صانع النوافذ
Window Maker

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

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.





اكتشف كيدي
KDE Discover
برنامج جنوم مع زر ذي علامة تجارية في شريط العنوان
GNOME Software

:





جنو / لينكس المعاصر كما يراه الفنان
GNU/Linux

GNU/Linux, , . :





  • GNU Free Software Foundation;





  • Red Hat, , IBM;





  • kernel.org Linux Foundation.





, , — , ? , : open source. , . , , - , , -, . , GNU/Linux, - .






@ajijiadduh, , , .





يمكنك إرسال التعديلات والاقتراحات إلى https://gitlab.com/bergentroll/gnu-linux-anatomy .





حقوق النشر © 2020 Anton "bergentroll" Karmanov.





هذا العمل مرخص بموجب ترخيص Attribution-ShareAlike 4.0 Worldwide (CC BY-SA 4.0) .












All Articles