ASTOS (ARCH SNAPSHOT TREE OS)
توزيع قائم غير قابل للتغيير باستخدام لقطات BTRFS

جدول المحتويات
- ما هو ASTOS؟
- ASTOs مقارنة بتوزيعات مماثلة أخرى
- وثائق AST و ASTOS
- تثبيت
- بعد التثبيت
- إدارة اللقطات والنشر
- إدارة الحزمة
- وثائق إضافية
- تحديث مفاتيح Pacman
- حفظ تغييرات التكوين في /الخ.
- تكوين التمهيد المزدوج
- تحديث AST نفسه
- تصحيح الأخطاء
- إعداد AUR
- الحشرات المعروفة
- المساهمة
- مجتمع
ASTOS Development غير نشط حاليًا ، انظر #33 (تعليق)
ما هو ASTOS؟
ASTOS هو توزيع حديث يعتمد على Arch Linux.
على عكس القوس ، فإنه يستخدم نظام ملفات الجذر غير قابل للتغيير (للقراءة فقط).
يتم تثبيت البرنامج وتكوينه في أشجار لقطة فردية ، والتي يمكن بعد ذلك نشرها والتمهيد فيها.
لا تستخدم تنسيق الحزمة الخاص به أو مدير الحزمة ، بدلاً من ذلك بالاعتماد على Pacman من Arch.
هذا له العديد من المزايا:
حماية
- حتى في حالة تشغيل تطبيق بأذونات مرتفعة ، لا يمكن استبدال مكتبات النظام بإصدارات ضارة
الاستقرار والموثوقية
- نظرًا لتركيب النظام على أنه قراءته فقط ، لا يمكن كتابة ملفات النظام عن طريق الخطأ
- إذا واجه النظام مشكلات ، فيمكنك بسهولة التراجع عن آخر لقطة عمل في غضون دقائق
- التحديثات الذرية - تحديث نظامك في وقت واحد أكثر موثوقية
- بفضل ميزة Snapshot ، يمكن لـ ASTOs شحن البرامج المتطورة دون أن تصبح غير مستقرة
- تحتاج ASTOs إلى القليل من الصيانة ، حيث تحتوي على أداة تحديث تلقائية بالكامل تقوم بإنشاء لقطات قبل التحديثات والتحقق تلقائيًا ما إذا كان النظام قد تمت ترقيته بشكل صحيح قبل نشر اللقطة الجديدة
التكوين
- من خلال اللقطات التي يتم تنظيمها في شجرة ، يمكنك بسهولة الحصول على تكوينات مختلفة متعددة لبرنامجك المتاحة ، مع حزم مختلفة ، دون أي تدخل
- على سبيل المثال: يمكنك تثبيت سطح مكتب GNOME واحد ثم الحصول على لقطتين في الأعلى - واحدة مع ألعاب الفيديو الخاصة بك ، مع أحدث kernel وبرامج التشغيل ، والآخر للعمل
- يمكنك أيضًا تجربة البرنامج بسهولة دون الحاجة إلى القلق بشأن كسر نظامك أو تلويحه بملفات غير ضرورية ، على سبيل المثال ، يمكنك تجربة بيئة سطح مكتب جديدة في لقطة ثم حذف اللقطة بعد تعديل نظامك الرئيسي على الإطلاق
- يمكن استخدام هذا أيضًا لأنظمة متعددة المستخدمين ، حيث يكون لكل مستخدم نظام منفصل تمامًا مع برامج مختلفة ، ومع ذلك يمكنه مشاركة بعض الحزم مثل النواة والبرامج تشغيل
- تتيح لك ASTOS تثبيت البرامج عن طريق chrooting في لقطات ، وبالتالي يمكنك استخدام البرامج مثل AUR لتثبيت حزم إضافية
- ASTOS ، تمامًا مثل Arch ، قابل للتخصيص للغاية ، يمكنك اختيار البرنامج الذي تريد استخدامه بالضبط
بفضل ترقياتها وترقياتها التلقائية ، يعد ASTOS مناسبًا تمامًا للاستخدام الفردي أو الأجهزة المضمنة
كما أنه يجعل محطة عمل جيدة أو توزيع الاستخدام العام باستخدام حاويات التطوير و Flatpak لتطبيقات سطح المكتب
ASTOs مقارنة بتوزيعات مماثلة أخرى
- Nixos - مقارنة بـ Nixos ، يعد ASTOS نظامًا أكثر تقليدية مع كيفية إعداده وصيانته. بينما تم تكوين NixOS بالكامل باستخدام لغة برمجة NIX ، تستخدم ASTOS مدير حزمة Pacman من Arch. يستهلك ASTOs تخزينًا أقل ، وتكوين نظامك أسرع وأسهل (أقل استنادًا) ، فإنه يمنحك أيضًا المزيد من خيارات التخصيص. ASTOS متوافق مع FHS ، وضمان توافق البرنامج المناسب.
- ASTOs يسمح بالتكوين التعريفي باستخدام Ansible ، للوظائف المتشابهة إلى حد ما إلى Nixos
- Fedora SilverBlue/Kinoite - ASTOs أكثر قابلية للتخصيص ، ولكنه يتطلب المزيد من الإعداد اليدوي. ASTOS يدعم الحذاء المزدوج ، على عكس SilverBlue.
- Opensuse Microos - ASTOS هو نظام أكثر قابلية للتخصيص ، ولكن مرة أخرى يتطلب إعدادًا يدويًا أكثر قليلاً. يعمل Microos بالمثل في الطريقة التي يستخدم بها لقطات BTRFS. لدى ASTOS تثبيت KDE رسمي ، ولكنه يدعم أيضًا بيئات سطح المكتب الأخرى ، في حين أن Microos تدعم Gnome بشكل صحيح. تدعم ASTOS التمهيد المزدوج ، بالإضافة إلى تشغيل النظام المباشر وتثبيت الحزم دون إعادة تشغيل.
تثبيت
- تم تثبيت ASTOs من Arch Linux Live ISO المتوفر على https://archlinux.org/
- إذا واجهت مشكلات في تثبيت الحزم أثناء التثبيت ، فتأكد من أنك تستخدم أحدث ISO ، وإذا لزم الأمر ، قم بتحديث Keyring Pacman
- تحتاج إلى اتصال بالإنترنت لتثبيت ASTOs
- حاليًا ، ملفات التثبيت ASTOS Ships 4 ، واحدة للتثبيتات الحد الأدنى واثنان لسطح المكتب ، واحد مع بيئة سطح المكتب جنوم ، واحد مع البلازما KDE ، وواحدة مع MATE ، ولكن سيتم إضافة المزيد من DE's
- نصي التثبيت يمكن تكوينه بسهولة وضبطه لاحتياجاتك (لكنه يعمل بشكل جيد دون أي تعديلات)
تثبيت GIT أولاً - سيسمح لنا هذا بتنزيل البرنامج النصي للتثبيت
مستودع استنساخ
git clone "https://github.com/lambdanil/astOS"
cd astOS
تقسيم وتنسيق محرك الأقراص
- إذا تم التثبيت على نظام BIOS ، فاستخدم جدول قسم DOS (MBR)
- على EFI يمكنك استخدام GPT
- يجب تنسيق قسم EFI إلى FAT32 قبل تشغيل المثبت (
mkfs.fat -F32 /dev/<part> )
lsblk # Find your drive name
cfdisk /dev/*** # Format drive, make sure to add an EFI partition, if using BIOS leave 2M free space before first partition
mkfs.btrfs /dev/*** # Create a btrfs filesystem, don't skip this step!
تشغيل المثبت
python3 main.py /dev/<partition> /dev/<drive> /dev/<efi part> # Skip the EFI partition if installing in BIOS mode
بعد إعداد التثبيت
- إعداد Post Installation ليس ضروريًا إذا قمت بتثبيت أحد إصدارات سطح المكتب (Gnome أو KDE)
- تتوفر الكثير من المعلومات حول كيفية التعامل مع إعداد ما بعد التثبيت على صفحة Archwiki
- فيما يلي إجراء إعداد مثال صغير:
- ابدأ بإنشاء لقطة جديدة من
base باستخدام ast clone 0 - chroot داخل هذه اللقطة الجديدة (
ast chroot <snapshot> ) وابدأ الإعداد- ابدأ بإضافة حساب مستخدم جديد:
useradd username - اضبط اسم مستخدم
passwd username - الآن قم بتعيين كلمة مرور جديدة لمستخدم الجذر
passwd root - يمكنك الآن تثبيت حزم إضافية (بيئات سطح المكتب ، تقنيات الحاويات ، Flatpak) باستخدام Pacman
- بمجرد الانتهاء من ذلك ، اخرج من chroot مع
exit 0 - ثم يمكنك نشره مع
ast deploy <snapshot>
وثائق إضافية
- يُنصح بالإشارة إلى القوس الويكي للوثائق وليس جزءًا من هذا المشروع
- الإبلاغ عن المشكلات/الأخطاء على صفحة قضايا جيثب
- تلميح: يمكنك استخدام
ast help للحصول على ورقة غش سريعة لجميع الأوامر المتاحة
لقطة قاعدة
- تم حجز اللقطة
0 لقطعة النظام الأساسي ، ولا يمكن تغييرها ولا يمكن تحديثها إلا باستخدام ast base-update
إدارة اللقطات
إظهار شجرة نظام الملفات
- يمكن أن يبحث الإخراج على سبيل المثال مثل هذا:
root - root
├── 0 - base snapshot
└── 1 - multiuser system
└── 4 - applications
├── 6 - MATE full desktop
└── 2*- Plasma full desktop
أضف descritption إلى لقطة
- تسمح لك اللقطات بإضافة وصف لهم للحصول على تحديد أسهل
ast desc <snapshot> <description>
حذف شجرة
- هذا يزيل الشجرة وكل فروعها
تكوين التمهيد المخصص
- إذا كنت بحاجة إلى استخدام تكوين GRUB مخصص ، chroot في لقطة وتحرير
/etc/default/grub ، ثم نشر اللقطة وإعادة التشغيل
chroot في لقطة
- بمجرد دخول chroot ، يتصرف نظام التشغيل مثل القوس العادي ، بحيث يمكنك تثبيت الحزم وإزالتها باستخدام Pacman أو ما شابه ذلك
- لا تقم بتشغيل AST من داخل chroot ، فقد يتسبب في أضرار للنظام ، هناك فاشلة آمنة في مكانها ، والتي يمكن تجاوزها مع
--chroot إذا كنت بحاجة حقًا إلى (غير موصى بها) - يجب الخروج بشكل صحيح مع
exit 0 ، وإلا فلن يتم حفظ التغييرات التي تم إجراؤها - لتجاهل التغييرات التي تم إجراؤها ، استخدم
exit 1 بدلاً من ذلك - إذا لم تخرج من CHRoot بالطريقة "النظيفة" مع
exit 0 ، فمن المستحسن تشغيل ast tmp لمسح ملفات مؤقتة خلفها
- يمكنك إدخال قذيفة غير مؤمنة داخل اللقطة الحالية التي تم تمهيدها
- لا يتم حفظ التغييرات التي تم إجراؤها على الجلسة الحية على عمليات نشر جديدة
خيارات chroot الأخرى
- يدير أمر محدد داخل اللقطة
ast run <snapshot> <command>
- يدير أمر محدد داخل اللقطة وجميع فروعها
ast tree-run <tree> <command>
لقطة استنساخ
- هذا استنساخ اللقطة كشجرة جديدة
استنساخ شجرة بشكل متكرر
- هذا استنساخ شجرة كاملة بشكل متكرر
ast clone-tree <snapshot>
إنشاء فرع شجرة جديد
- يضيف فرعًا جديدًا إلى لقطة محددة
ast branch <snapshot to branch from>
استنساخ لقطة تحت نفس الوالد
لقطة استنساخ تحت الوالد المحدد
- تأكد من مزامنة الشجرة بعد
ast ubranch <parent> <snapshot>
إنشاء شجرة قاعدة جديدة
نشر لقطة
- إعادة التشغيل للتمهيد في اللقطة الجديدة بعد النشر
قاعدة تحديث اللقطات الجديدة التي تم تصميمها من
- ملاحظة: تقع القاعدة نفسها على
/.snapshots/rootfs/snapshot-0 rootfs/snapshot-0 مع ملفات محددة /var و /etc موجودة على /.snapshots/var/var-0 و /.snapshots/etc/etc-0 .
إدارة الحزمة
تثبيت البرامج
- يمكن أيضًا تثبيت البرنامج باستخدام Pacman في chroot
- يمكن استخدام Aur تحت chroot
- يمكن استخدام Flatpak لتثبيت الحزمة المستمرة
- يعد استخدام الحاويات لتثبيت البرامج الإضافية أيضًا خيارًا. طريقة سهلة للقيام بذلك مع Distrobox
ast install <snapshot> <package>
- بعد التثبيت ، يمكنك مزامنة الحزم المثبتة حديثًا مع جميع فروع الشجرة مع
- يؤدي مزامنة الشجرة أيضًا إلى تحديث جميع اللقطات تلقائيًا
- إذا كنت ترغب في المزامنة دون تحديث (يمكن أن تتسبب في ازدواج حزمة في قاعدة البيانات) ثم استخدم
AUR الإعداد
- ASTOS يدعم AUR أيضًا أصليًا
- قبل أن نتمكن من تمكين دعم AUR ، يتعين علينا أولاً التأكد من تثبيت
paru :
ast remove <snapshot> paru
- لاستخدام هذه الميزة ، نحتاج أولاً إلى تمكين دعم AUR في تكوين اللقطة:
EDITOR=nano ast edit-conf <snapshot> # set the EDITOR variable
- الآن نحتاج إلى إضافة السطر التالي إلى الملف:
- حفظ وتوقف
- تم تمكين دعم AUR الآن - يمكن
ast install والعمليات الأخرى الآن تثبيت حزم AUR كالمعتاد
إزالة البرامج
ast remove <snapshot> <package or packages>
ast tree-rmpkg <tree> <pacakge or packages>
التحديث
- لتحديث شجرة كاملة بشكل متكرر
- ثم يمكنك إعادة التشغيل إلى نظام العمل
إضافات
إصلاح حزم Pacman الفاسدة / القضايا الرئيسية
- يتطلب مدير حزمة Pacman's Arch أحيانًا تحديثًا لمفاتيح PGP
- لإصلاح هذه المشكلة ، يمكننا ببساطة إعادة تثبيت مفاتيح القوس
ast install <snapshots> archlinux-keyring
حفظ تغييرات التكوين التي تم إجراؤها في /etc
- عادة يجب إجراء التكوين باستخدام
ast chroot ، ولكن في بعض الأحيان قد ترغب في تطبيق التغييرات التي أجريتها على نظام التمهيد باستمرار - للقيام بهذا استخدم الأمر التالي
- يتيح لك ذلك تكوين نظامك عن طريق تعديل
/etc كالمعتاد ، ثم حفظ هذه التغييرات
الحذاء المزدوج
- ASTOS يدعم التمهيد المزدوج باستخدام Grub Bootloader
- عند تثبيت النظام ، استخدم قسم EFI الحالي
- لتكوين التمهيد المزدوج ، يجب أن نبدأ بتثبيت حزمة
os-prober :
ast install <snapshot> os-prober
ast chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit 0
- الآن فقط نشر اللقطة لإعادة تكوين محمل التمهيد
إذا تم اكتشاف Windows ، فيجب أن تقوم AST بإرجاع الإخراج على طول خطوط Found Windows Boot Manager on...
قد تحتاج إلى تثبيت ntfs-3g أولاً وإعادة النشر إذا لم تشاهد إدخال Windows.
تحديث AST نفسه
- لا يتم تحديث AST إلى جانب النظام عند استخدام
ast upgrade - في بعض الأحيان قد يكون من الضروري تحديث AST نفسها
- يمكن تحديث AST بأمر واحد
تصحيح الأخطاء
- في بعض الأحيان قد يكون من الضروري تصحيح AST
- نسخ
ast إلى أي مكان:
cp /usr/local/sbin/ast astpk.py
- يكون الأمر التالي مفيدًا لأنه يعرض مخرجات الأوامر عند تشغيل ASTPK.py:
sed -i -e s, 2>&1> /dev/null,,g astpk.py
إذا قمت بتعديل ملف AST الأصلي (ممكن ولكن غير موصى به) ، فيرجى التأكد من العودة مرة أخرى عند الانتهاء!
الحشرات المعروفة
- عند تشغيل AST بدون وسيطات - indexerror: قائمة فهرس خارج النطاق
- يُظهر تشغيل AST بدون أذونات الجذر أخطاء مرفوضة الإذن بدلاً من رسالة خطأ
- قسم المبادلة لا يعمل ، يوصى باستخدام swapfile أو ZRAM بدلاً من ذلك
- Docker لديه مشاكل مع الأذونات ، لإصلاح التشغيل
sudo chmod 666 /var/run/docker.sock
- إذا واجهت أي مشكلات ، أبلغها عن صفحة القضايا
المساهمة
- مساهمات الرمز والوثائق موضع ترحيب
- تعتبر تقارير الأخطاء وسيلة جيدة للمساهمة في المشروع أيضًا
- قبل إرسال طلب سحب اختبار الكود الخاص بك وتأكد من التعليق عليه بشكل صحيح
مجتمع
- لا تتردد في الانضمام إلينا في Discord لمزيد من النقاش والدعم!
- السعيد لقطات خالية من القلق!
المشروع مرخص بموجب ترخيص AGPLV3