
[čština] | [中文] | [پaarsی]
نحتاج إلى مساعدتك لترجمة هذه القراءة. انظر هنا!
Ashos (أي لقطة هرمية)
توزيع تلوي على شكل شجرة غير قابل للتغيير باستخدام لقطات
(لا ، هذا ليس بشرة أخرى/"توزيعة"!)
يرجى ملاحظة أنه ، لغرض هذا المشروع ، لم يكن المطابقة لطريقة "Pythonic" هدفًا كما هو الحال في المستقبل ، قد يتغير التنفيذ إلى الصدأ ، C ، C ++ ، وما إلى ذلك.
جدول المحتويات
- ما هو Ashos؟
- Ashos مقارنة بتوزيعات مماثلة أخرى
- وثائق الرماد والآشوس
- تثبيت
- بعد التثبيت
- إدارة اللقطات والنشر
- إدارة الحزمة
- تكوين لقطة
- وثائق إضافية
- تحديث مفاتيح Pacman
- حفظ تغييرات التكوين التي تم إجراؤها في /إلخ باستمرار
- تكوين التمهيد المزدوج
- تحديث الرماد نفسه
- متنوع
- ميزات متقدمة
- متعددة
- لوكس
- تبديل القابلية
- تصحيح الرماد
- Defuggin Installer
- الحشرات المعروفة
- المساهمة
- مجتمع
- تودوس
- ملاحظات توزيعة محددة
- قوس
- أور
- إصلاح حزم Pacman الفاسدة أو القضايا الرئيسية
- جبال الألب
- cachyos
- ديبيان
- مسعى
- Proxmox
- أوبونتو
ما هو Ashos؟
كنت ترغب دائمًا في تجربة لعبة Fedora Rawhide ولكن بعد بضعة أيام ، أصبحت هشاشةها على أعصابك. بعد ذلك ، ربما جربت لعبة Fedora Silverblue Rawhide ولكن بعد ذلك قتلت عمليات Ostree المعقدة والبطيئة التي تشبه GIT مزاجك! حسنا ، لا أكثر! الآن يمكنك تجربة توزيعة حافة النزيف هذه (والعديد من التوزيعات الأخرى مثل Debian Sid) مع مزيد من راحة البال. يوفر Ashos المرونة النهائية لتثبيت أنظمة التشغيل ، على سبيل المثال ، يمكنك بسهولة إعداد proxmox ve!
Ashos هو توزيع فريد من نوعه:
- يهدف إلى جلب الثبات حتى إلى توزيعات لا تملك هذه الميزة المفيدة للغاية ، أي linux ، gentoo ، إلخ.
- يلتف حول أي توزيع Linux الذي يمكن تجهيزه (إلى حد كبير أي توزيع رئيسي)
- أهداف لتصبح مثبتًا عالميًا لتوزيعات مختلفة وبيئات/مديري النوافذ المختلفة لسطح المكتب
- يمكن تثبيت أي عدد من التوزيعات ونشرها
في البداية مستوحاة من Arch Linux ، يستخدم Ashos نظام ملفات الجذر غير القابل للتغيير (للقراءة فقط) لتمييز نفسه عن أي توزيعات أخرى هناك. يتم تثبيت البرنامج وتكوينه في أشجار لقطة فردية ، والتي يمكن بعد ذلك نشرها والتمهيد فيها. لا يخترع تنسيق حزمة أو مدير حزمة آخر ، ولكنه يعتمد بدلاً من ذلك على مدير الحزمة الأصلي على سبيل المثال Pacman من Arch.
الرماد هي واحدة من أقدم الأشجار في العالم وألهمت تسمية الرشوس.
في Ashos ، هناك العديد من الكلمات الرئيسية:
- الفانيليا: نحاول أن نكون أقرب ما إلى إصدار "الفانيليا" من التوزيع المستهدف الذي يتم تثبيته.
- بساطتها: نلتزم بنظام بناء LEGO. ابدأ صغيرًا وبناء نظام معقد كما تريد. ينصب التركيز الرئيسي للتطوير على الحصول على لقطة مثبتة للغاية ، استنادًا إلى المستخدم الذي يمكن أن يكون له التباديل غير المحدودة!
- عمومية: نحن نسعى جاهدين لتلبية احتياجات القاسم الأكثر شيوعًا بين التوزيعات والبنية (X64 ، AARCH64 ، SPARC ، إلخ). على هذا النحو ، عندما يكون هناك خيار بين الراحة والشمولية/العمومية ، فإننا نذهب مع الأخير. للتوضيح مع مثال ، قد يكون من الأسهل استخدام Grub-BTRFS بدلاً من تنفيذ آلية تحديث Grub الخاصة بنا ، ولكن نظرًا لأن هذه الحزمة الخاصة قد لا تكون متاحة بسهولة في جميع التوزيعات ، فإننا نطور حلًا محددًا لـ ASHOS. بهذه الطريقة ، يمكننا تلبية أي توزيعة في المستقبل!
هذا له العديد من المزايا:
حماية
- حتى في حالة تشغيل تطبيق بأذونات مرتفعة ، لا يمكن استبدال مكتبات النظام بإصدارات ضارة
الاستقرار والموثوقية
- نظرًا لتركيب النظام على أنه قراءته فقط ، لا يمكن كتابة ملفات النظام عن طريق الخطأ
- إذا واجه النظام مشكلات ، فيمكنك بسهولة التراجع عن آخر لقطة عمل في غضون دقائق
- التحديثات الذرية - تحديث نظامك في وقت واحد أكثر موثوقية
- بفضل ميزة Snapshot ، يمكن لـ Ashos شحن البرامج المتطورة دون أن تصبح غير مستقرة
- يحتاج Ashos إلى القليل من الصيانة ، حيث يحتوي على أداة تحديث تلقائية بالكامل تقوم بإنشاء لقطات قبل التحديثات ويتحقق تلقائيًا مما إذا كان النظام قد تمت ترقيته بشكل صحيح قبل نشر اللقطة الجديدة
التكوين
- من خلال اللقطات التي يتم تنظيمها في شجرة ، يمكنك بسهولة الحصول على تكوينات مختلفة متعددة لبرنامجك المتاحة ، مع حزم مختلفة ، دون أي تدخل
- على سبيل المثال: يمكنك تثبيت سطح مكتب GNOME واحد ثم الحصول على لقطتين في الأعلى - واحدة مع ألعاب الفيديو الخاصة بك ، مع أحدث kernel وبرامج التشغيل ، والآخر للعمل
- يمكنك أيضًا تجربة البرنامج بسهولة دون الحاجة إلى القلق بشأن كسر نظامك أو تلويحه بملفات غير ضرورية ، على سبيل المثال ، يمكنك تجربة بيئة سطح مكتب جديدة في لقطة ثم حذف اللقطة بعد تعديل نظامك الرئيسي على الإطلاق
- يمكن استخدام هذا أيضًا لأنظمة متعددة المستخدمين ، حيث يكون لكل مستخدم نظام منفصل تمامًا مع برامج مختلفة ، ومع ذلك يمكنه مشاركة بعض الحزم مثل النواة والبرامج تشغيل
- يتيح لك Ashos تثبيت البرامج عن طريق chrooting في لقطات ، وبالتالي (على سبيل المثال في نكهة القوس) ، يمكنك استخدام البرامج مثل AUR لتثبيت حزم إضافية
- Ashos ، قابل للتخصيص للغاية ، يمكنك اختيار البرنامج الذي تريد استخدامه بالضبط (تمامًا مثل Arch Linux)
بفضل ترقياتها المتوفرة والترقيات التلقائية ، يعد Ashos مناسبًا تمامًا للاستخدام الفردي أو الأجهزة المدمجة
كما أنه يجعل محطة عمل جيدة أو توزيع الاستخدام العام باستخدام حاويات التطوير و Flatpak لتطبيقات سطح المكتب
ملاحظة مهمة: جرب أولاً Ashos في جهاز افتراضي واحصل على الراحة معه قبل تثبيته على المعدن العاري. Ashos Installer * لا يرحم ويفترض أن المستخدم يعرف ما يفعله. تشغيل المثبت كما هو ممسحة القرص!
نظرًا لأن Ashos يسعى إلى الحد الأدنى من الصلبة واتبع هيكل Lego يشبه (ابدأ صغيرًا ، وتخصيصًا كما تذهب) ، فإننا نركز بشكل أساسي على التطوير على القاعدة ، وهذا يعني افتراضيًا أي بيئة سطح المكتب (ولا حتى مدير النافذة). هذا حسب التصميم ، على خلاف ذلك ، يجب على الفريق دعم العديد من DES على العديد من التوزيعات. ما يتم توفيره هو profiles . نظرًا لأن DES/WMS هي مجرد حزم ، مع قوة الرماية ، يمكن للمرء استخدام الرماد لتثبيت DE/WM المطلوب. على سبيل المثال لتثبيت جنوم في لقطة 1:
`ash clone 0` : create snapshot #1
`ash install 1 -P gnome` : install gnome in snapshot #1
`ash deploy 1`
`reboot`
Ashos مقارنة بتوزيعات مماثلة أخرى
- Nixos / Gnu Guix - مقارنة بـ Nixos ، يعد Ashos نظامًا أكثر تقليدية مع كيفية إعداده وصيانته. بينما يتم تكوين NIXOS بالكامل باستخدام لغة برمجة NIX ، يستخدم Ashos مدير الحزمة الأصلية للتوزيع المستهدف ، على سبيل المثال Pacman for Arch و APT-GET بالنسبة لـ Debian ، إلخ. يستهلك Ashos تخزينًا أقل ، وتكوين نظامك أسرع وأسهل (أقل استنساخًا) ، فإنه يمنحك أيضًا المزيد من خيارات التخصيص. Ashos متوافق مع FHS ، مما يضمن توافق البرامج المناسبة. على عكس نيكسوس ، لا تحتاج إلى الحصول على درجة الدكتوراه. في علوم الكمبيوتر لتشغيل نظام تشغيل غير قابل للتغيير
- يسمح Ashos بالتكوين التعريفي باستخدام Ansible ، لوظيفة متشابهة إلى حد ما إلى Nixos
- Fedora Silverblue/Kinoite - Ashos أكثر قابلية للتخصيص ، ولكنه يتطلب المزيد من الإعداد اليدوي. Ashos يدعم الحذاء المزدوج ، على عكس SilverBlue.
- Opensuse Microos - Ashos هو نظام أكثر تخصيصًا ، ولكن مرة أخرى يتطلب إعدادًا يدويًا أكثر قليلاً. يعمل Microos بالمثل في الطريقة التي يستخدم بها لقطات BTRFS. لدى Ashos تثبيت KDE رسمي ، ولكنه يدعم أيضًا بيئات سطح المكتب الأخرى ، في حين أن Microos تدعم Gnome بشكل صحيح. يدعم Ashos التمهيد المزدوج ، بالإضافة إلى تشغيل النظام المباشر وتثبيت الحزم دون إعادة التشغيل
تثبيت
- (ملاحظة: يجب تشغيل جميع البرامج النصية أثناء التثبيت مع امتيازات المستخدم الفائقة)
- يتم تثبيت Ashos من ISO الرسمي للتوزيع المستهدف. على سبيل المثال Arch Linux ، Debian/Debian Netinstaller إلخ.
- يمكن استخدام Arch ISO بشكل عام لتمهيد توزيعات أخرى باستثناء: استخدام Debian Live Iso-Hybrid لتمهيد Debian ، Ubuntu ISO إلى Bootstrap Ubuntu
- اعتمادًا على ISO المباشر ، من
./src/prep/ للغاية أن يتم تنفيذ البرامج النصية. - الأوامر لإصلاح مشكلات DB في Live ISO (أي arch_live.iso) تستغرق وقتًا طويلاً للتشغيل. يمكن للمرء أن يعلق هذه على تشغيل المثبت أسرع بكثير. يتم تضمينها في الغالب لتركيب الماكينة الظاهرية حيث تكون مشكلات مزامنة الوقت وفيرة.
- إذا واجهت مشكلات في تثبيت الحزم أثناء التثبيت ، فتأكد من أنك تستخدم أحدث ISO ، وقم بتحديث مفاتيح مدير الحزمة إذا لزم الأمر
- إذا تم تشغيله من قوس ISO القديم ، فقم بتشغيل الأوامر في القسم
# Fix signature invalid error في ./src/prep/arch-live.sh - تحتاج إلى اتصال بالإنترنت لتثبيت Ashos
- تستخدم Ashos لشحنها مع 3 ملفات تعريف تثبيت ، واحدة لأقل عمليات التثبيت واثنان لسطح المكتب (Gnome ، KDE Plasma). لجعله أكثر وحدات ، قمنا بإعادة تصميمه وعلى الافتراضي ، يقوم فقط بتثبيت لقطة أساسية الحد الأدنى العارية. بمجرد الانتهاء من ذلك ، يمكنك تثبيت أي بيئة سطح مكتب تريدها. على سبيل المثال بالنسبة للجنوم ، بمجرد التمهيد في لقطة أساسية ، قم بتشغيل:
ash branch 0 # This produces node #N
ash install N --profile gnome
ash deploy N
- سيتم إضافة دعم More DE ، لكن لن يكون جزءًا من التثبيت الأساسي.
- نصي التثبيت يمكن تكوينه بسهولة وضبطه لاحتياجاتك (لكنه يعمل بشكل جيد دون أي تعديلات)
تثبيت GIT أولاً - سيسمح لنا هذا بتنزيل البرنامج النصي للتثبيت
مستودع استنساخ
git clone "https://github.com/ashos/ashos"
cd ashos
تقسيم وتنسيق محرك الأقراص
- إذا تم التثبيت على نظام BIOS ، فاستخدم جدول قسم DOS (MBR)
- على EFI يمكنك استخدام GPT
- يجب تنسيق قسم EFI إلى FAT32 قبل تشغيل المثبت (
mkfs.fat -F32 /dev/<part> ) - هناك برامج نصية الإعدادية تحت
./src/prep/
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 setup.py /dev/<root_partition> /dev/<drive> [/dev/<efi part>] [distro_id] ["distro_name"]# Skip the EFI partition if installing in BIOS mode
Here are 3 example scenarios:
example 1 (BIOS): python3 setup.py /dev/vda1 /dev/vda
This is a simple case when iso from the `same distro` is used
example 2 (UEFI): python3 setup.py /dev/nvm0p2 /dev/nvm0 /dev/nvm0p1 fedora "Fedora Linux"
When installing a distro using another distro's iso, the last two arguments are necessary
example 3 (UEFI): python3 setup.py /dev/sda2 /dev/sda /dev/sda1 cachyos "CachyOS Linux"
If for any reason, there is a mismatch between what distro actually is and its /etc/os-release file, it is [usually] mandatory to pass two additional arguments. Here even though we are using CachyOS iso file (which is based on Arch Linux), by investigating in /etc/os-release file, you would see ID and NAME are same as Arch Linux. In a single boot install, it is okay to not pass the last two arguments, but if you want a multiboot system (say dual boot with Arch Linux), they are required.
الحجج داخل الأقواس المربعة اختيارية. فيما يتعلق بالوسيطة الرابعة: قل إذا كنت ترغب في تثبيت Alpine Linux باستخدام Arch Linux ISO ، قم بتشغيل python3 setup.py /dev/vda2 /dev/vda /dev/vda1 alpine .
بعد إعداد التثبيت
- إعداد Post Installation ليس ضروريًا إذا قمت بتثبيت أحد إصدارات سطح المكتب (Gnome أو KDE)
- تتوفر الكثير من المعلومات حول كيفية التعامل مع إعداد ما بعد التثبيت على صفحة Archwiki
- فيما يلي إجراء إعداد مثال صغير:
- ابدأ بإنشاء لقطة جديدة من
base باستخدام ash clone 0 - chroot داخل هذه اللقطة الجديدة (
ash chroot <snapshot> ) وابدأ الإعداد- ابدأ بإضافة حساب مستخدم جديد:
useradd username - اضبط اسم مستخدم
passwd username - الآن قم بتعيين كلمة مرور جديدة لمستخدم الجذر
passwd root - يمكنك الآن تثبيت حزم إضافية (بيئات سطح المكتب ، تقنيات الحاويات ، Flatpak) باستخدام Pacman
- بمجرد الانتهاء ، قم بالخروج من chroot
exit - ثم يمكنك نشره باستخدام
ash deploy <snapshot>
وثائق إضافية
- لمزيد من المعلومات التي لا يتم تغطيتها في هذا المشروع ، يُنصح بالإشارة إلى التوزيع المستهدف ، أي القوس ويكي
- الإبلاغ عن المشكلات/الأخطاء على صفحة قضايا جيثب
- تلميح: يمكنك استخدام
ash --help للحصول على ورقة غش سريعة لجميع الأوامر المتاحة - من الناحية المثالية ، نود أن نبقي الرماد كملف واحد قابل للتنفيذ
- ينقسم البرنامج النصي ASH إلى ملفين: رمز شائع (ASHPK_CORE.PY) وتوزيع رمز معين (أي gentoo.py). لاحظ أنه لا يمكن تشغيل أي من هذه الملفات مستقلة (استيراد برنامج نصي واحد إلى الآخر غير مقصود). القسم هو فقط لتخفيف استخدام الملفات كقوالب في تطوير الرماد للتوزيعات الأخرى. في وقت تثبيت توزيعة ، يتم تسلسل الملفان ببساطة.
- حتى لا نحتاج إلى خطوط إضافية ، نستخدم نمط ASCII عند طباعة شجرة الرماد. للحصول على مخرج أجمل ، لا تتردد في استبدال Asciistyle () مع contstyle () ، أو controundstyle () ، أو مضاعفة ()
- الشيء الآخر اللطيف في Ashos هو مقاومك ذي الصلة تم بناؤه بالمثل. على سبيل المثال ، فإن المثبت لـ Arch و Manjaro متشابه جدًا ، فاختلط مجرد إعادة حزمة!
لقطة قاعدة
- تم حجز اللقطة
0 لقطعة النظام الأساسي ، ولا يمكن تغييرها ولا يمكن تحديثها إلا باستخدام ash base-update
إدارة اللقطات
إظهار شجرة نظام الملفات
- يمكن أن يبحث الإخراج على سبيل المثال مثل هذا:
root - root
├── 0 - base snapshot
└── 1 - multi-user system
└── 4 - applications
├── 6 - MATE full desktop
└── 2*- Plasma full desktop
أضف descritption إلى لقطة
- تسمح لك اللقطات بإضافة وصف لهم للحصول على تحديد أسهل
ash desc <snapshot> <description>
حذف شجرة
- هذا يزيل الشجرة وكل فروعها
تكوين التمهيد المخصص
- إذا كنت بحاجة إلى استخدام تكوين GRUB مخصص ، chroot في لقطة وتحرير
/etc/default/grub ، ثم نشر اللقطة وإعادة التشغيل
chroot في لقطة
- بمجرد دخول chroot ، يتصرف نظام التشغيل مثل القوس العادي ، بحيث يمكنك تثبيت الحزم وإزالتها باستخدام Pacman أو ما شابه ذلك
- لا تقم بتشغيل الرماد من داخل chroot ، فقد يتسبب في أضرار للنظام ، هناك فاشلة آمنة في مكانها ، والتي يمكن تجاوزها مع
--chroot إذا كنت بحاجة حقًا إلى (غير موصى بها) - يجب الخروج من chroot بشكل صحيح مع
exit ، وإلا فلن يتم حفظ التغييرات التي تم إجراؤها - إذا لم تقم بالخروج من CHRoot بالطريقة "النظيفة" مع
exit ، فمن المستحسن تشغيل ash tmp لمسح ملفات مؤقتة خلفها
- يمكنك إدخال قذيفة غير مؤمنة داخل اللقطة الحالية التي تم تمهيدها
- لا يتم حفظ التغييرات التي تم إجراؤها على الجلسة الحية على عمليات نشر جديدة
خيارات chroot الأخرى
- يدير أمر محدد داخل اللقطة
ash run <snapshot> <command>
- يدير أمر محدد داخل اللقطة وجميع فروعها
ash tree-run <tree> <command>
لقطة استنساخ
- هذا استنساخ اللقطة كشجرة جديدة
استنساخ شجرة بشكل متكرر
- هذا استنساخ شجرة كاملة بشكل متكرر
ash clone-tree <snapshot>
إنشاء فرع شجرة جديد
- يضيف فرعًا جديدًا إلى لقطة محددة
ash branch <snapshot-to-branch-from>
استنساخ لقطة تحت نفس الوالد
لقطة استنساخ تحت الوالد المحدد
- تأكد من مزامنة الشجرة بعد ذلك
ash ubranch <parent> <snapshot>
إنشاء شجرة قاعدة جديدة
نشر لقطة
- إعادة التشغيل للتمهيد في اللقطة الجديدة بعد النشر
قاعدة تحديث اللقطات الجديدة التي تم تصميمها من
- ملاحظة: تقع القاعدة نفسها على
/.snapshots/rootfs/snapshot-0 rootfs/snapshot-0 مع ملفات محددة /var و /etc موجودة على /.snapshots/var/var-0 و /.snapshots/etc/etc-0 .
إدارة الحزمة
تثبيت البرامج
- قم بتشغيل
ash deploy <snapshot> وإعادة التشغيل بعد تثبيت برنامج جديد لتطبيق التغييرات (ما لم يكن استخدام التثبيت المباشر ، مزيد من المعلومات أدناه) لم يعد هناك حاجة لذلك افتراضيًا. - يمكن أيضًا تثبيت البرنامج باستخدام Pacman في chroot
- يمكن استخدام Aur تحت chroot
- يمكن استخدام Flatpak لتثبيت الحزمة المستمرة
- يعد استخدام الحاويات لتثبيت البرامج الإضافية أيضًا خيارًا. طريقة سهلة للقيام بذلك مع Distrobox
ash install <snapshot> <package>
- بعد التثبيت ، يمكنك مزامنة الحزم المثبتة حديثًا مع جميع فروع الشجرة مع
- يؤدي مزامنة الشجرة أيضًا إلى تحديث جميع اللقطات تلقائيًا
- إذا كنت ترغب في المزامنة دون تحديث (يمكن أن تتسبب في ازدواج حزمة في قاعدة البيانات) ثم استخدم
- يدعم الرماد أيضًا تثبيت الحزم دون إعادة التشغيل. لم يعد هناك حاجة إلى هذا. ### Review_Later
ash install <snapshot> -p <package> --live
إزالة البرامج
ash remove <snapshot> <package or packages>
ash tree-rmpkg <tree> <pacakge or packages>
التحديث
- لتحديث شجرة كاملة بشكل متكرر
- ثم يمكنك إعادة التشغيل إلى نظام العمل
تكوين لقطة
- لدى Ashos نظام تكوين Snapshot
- باستخدام هذا النظام ، يمكننا تبديل بعض الوظائف. على سبيل المثال لـ AUR (مستودع مستخدم القوس) ، انظر إلى الملاحظات القوس أدناه.
- تحتاج إلى الحصول على محرر نص. ل Nano أو VI ، تخطي Step0 تمامًا:
Step0:
set $EDITOR environment variable (i.e. add 'EDITOR=nvim' line in ~/.bashrc)
reload it (i.e. source ~/.bashrc)
Add 'Defaults env_keep = "EDITOR PROMPT"' line to /etc/sudoers
لاحظ أنه يمكنك تخطي الخط لـ /etc /sudoers ، ولكن في كل مرة يجب عليك بدلاً من ذلك كتابة "Sudo -e Ash Edit" لتمرير متغير البيئة مع Sudo!
إضافات
حفظ تغييرات التكوين التي تم إجراؤها في /etc باستمرار
- عادة يجب أن يتم التكوين باستخدام
ash chroot ، ولكن في بعض الأحيان قد ترغب في تطبيق التغييرات التي أجريتها على نظام التمهيد باستمرار - للقيام بهذا استخدم الأمر التالي
- يتيح لك ذلك تكوين نظامك عن طريق تعديل
/etc كالمعتاد ، ثم حفظ هذه التغييرات.
الحذاء المزدوج
- يدعم Ashos التمهيد المزدوج باستخدام Grub Bootloader
- عند تثبيت النظام ، استخدم قسم EFI الحالي
- لتكوين التمهيد المزدوج ، يجب أن نبدأ بتثبيت حزمة
os-prober :
ash install <snapshot> os-prober
ash chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit
- الآن فقط نشر اللقطة لإعادة تكوين محمل التمهيد
إذا تم اكتشاف Windows ، فيجب أن يقوم ASH بإرجاع الإخراج على طول خطوط Found Windows Boot Manager on... قد تحتاج إلى تثبيت ntfs-3g أولاً وإعادة النشر إذا لم تشاهد إدخال Windows. ### Review_Later
تحديث الرماد نفسه
- لا يتم تحديث الرماد إلى جانب النظام عند استخدام
ash upgrade - في بعض الأحيان قد يكون من الضروري تحديث الرماد نفسه
- يمكن تحديث الرماد بأمر واحد
متنوع
القراءة والكتابة وصول إلى أجزاء مختلفة من نظام الملفات: /.snapshots/Rootfs/Snapshot-*: ro /.snapshots/etc/etc-*: ro /var: rw /: مثبت على ro ، ولكن اللقطة نفسها هي rw /usr: ro /etc: rw: rw: rw
بالنسبة لملفات Gnome و KDE ، فإننا نفترض أن المستخدم يريد فقط أن تعمل الأشياء على أنها افتراضية ، وعلى هذا النحو ، نقوم بتثبيت مدير تسجيل الدخول الافتراضي. لأي ملف تعريف آخر ، نركز على بساطتها ، ونقوم فقط بتثبيت TBSM. من الواضح أنه يمكن للمرء تعديل هذا بسهولة إذا اختاروا ذلك.
عند استخدام ملف ISO الأقدم ، تأكد من عدم إلغاء تحديد خط FixDB في البرنامج النصي prep للتوزيع المقابل. بخلاف ذلك ، هناك ظروف ، حتى لو كان التثبيت ناجحًا ، فيمكنك الحصول على أخطاء DB Package Manager عند التمهيد في توزيعاتك. يمكن لـ FixDB أن يجعل الجزء الأولي من عملية التثبيت بطيئة للغاية ، ولكن قد يكون يستحق كل هذا العناء.
ميزات متقدمة
هذه بعض الميزات المتقدمة ونقترح استخدامها فقط إذا كنت مستعدًا للكسر ، والقيام بنسخ احتياطية للبيانات وإصلاحات عرضية. قد لا يكون وقت الذروة جاهزة.
متعددة
إلى توزيعات مختلفة متعددة ، اتبع هذا الإجراء بشكل عام:
- قم بتثبيت First Distro-A مع الخيار رقم 2 عند المطالبة عند بدء المثبت
- قم بتثبيت التوزيعات المترتبة على الخيار رقم 3 (مهم: سيتم مسح الخيارات الأخرى إما الجذر أو كل من أقسام الجذر و EFI)
لوكس
يتم تنفيذ التشفير الكامل باستخدام Luks2. هذا يعني أيضًا تشفير /التمهيد وهو ميزة تجريبية لـ GRUB منذ V2.06. في الوقت الحالي في التيار الرئيسي ، فإنه يدعم PBKDF2 فقط وليس الافتراضي Argon2. سيؤدي ذلك إلى إبطاء التشغيل بشكل كبير على سبيل المثال ، على سبيل المثال ، حوالي 30 ثانية على KeyFile 8 كيلو بايت. إذا كنت تخطط لمجموعة متعددة مع نظام تشغيل آخر ، فلا تستخدم هذه الميزة حتى الآن ! نحن ندير تطوير GRUB عن كثب وسنقوم بالتحديث في أقرب وقت ممكن.
تبديل القابلية
إن جمال التخصيص من Ashos هو أنه يمكن أن يكون لدينا مزيج من العقد غير القابلة للتغيير وغير القابلة للاحتفال! داخل الغابة/شجرة Ashos ، يمكن للمرء أن يصنع أي لقطة (بخلاف القاعدة 0 ) قابلة للتغيير. على سبيل المثال ، لجعل العقدة 9 قابلة للتشغيل sudo ash immen 9 . هذا يجعل عقدة وأي أطفال (يتم إنشاؤهم بعد ذلك) قابلة للتغيير.
تصحيح الرماد
- في بعض الأحيان قد يكون من الضروري تصحيح الرماد
- يعد الأمر التالي مفيدًا لأنه يظهر مخرجات الأوامر عند تشغيل Ashpk.py:
sed -e 's| >/dev/null 2>&1||g' /usr/bin/ash > ashpk.py
تثبيت تصحيح الأخطاء
- أثناء العمل على أي مشروع لتطوير نظام التشغيل ، قد تظهر الكثير من القضايا. إنها مجرد طبيعة تصحيح الأخطاء في هذا المشروع وتحتاج إلى صبر!
- عند مواجهة المشكلات في المثبت أو بعد الإعداد الأولي ، انتقل إلى Grub وحذف
quiet من الحجج - التمهيد باستخدام Ctrl+X وأبلغ عن ما تلاحظه
- إذا كان ذلك ممكنًا ، انتقل إلى TTY2 بواسطة Ctrl+Alt+F2 وقم بتشغيل
journalctl -b وقم بإبلاغ الإبلاغ مرة أخرى
الحشرات المعروفة
- في نهاية المثبت إذا تم استخدام Luks ، سيكون هناك تحذير
remove ioctl device or resource busy . يمكن تجاهلها. على الأرجح السبب: Systemd-Journald - قسم المبادلة لا يعمل ، يوصى باستخدام swapfile أو ZRAM بدلاً من ذلك
- Docker لديه مشاكل مع الأذونات ، لإصلاح التشغيل
sudo chmod 666 /var/run/docker.sock
- إذا واجهت أي مشكلات ، أبلغها عن صفحة القضايا
المساهمة
- نجم هذا الريبو!
- يرجى إلقاء نظرة تحت
./src/profiles/ وإضافة بيئة سطح المكتب أو Windows Manager إذا فقدت. يرجى محاولة أن تكون الحد الأدنى والفانيليا قدر الإمكان. إذا كانت هناك حزمة تحتوي على أسماء مختلفة في توزيعات مختلفة (مثل NetworkManager في Arch و Network-Manager في Debian ، قم بإنشاء ملف مع لاحقة التوزيعات للملف الشخصي IE تحت GNOM - إذا لم يدعم Ashos بالفعل توزيعك ، فيمكنك القيام بذلك بسهولة! تتمثل إحدى الطرق الجيدة في استخدام ARCH كقالب (./SRC/Distros/Arch/) للتثبيت ، عادةً ما ، فقط بعض الأقسام المرقمة (المشار إليها باسم
# 1. إلى # 6. ) يجب تكييفها مع نظام التشغيل الجديد. لـ Ashpk.py ، قم بتحويل الأوامر إلى مدير الحزمة الجديد. - عند إضافة وظائف جديدة إلى ASHPK_CORE.PY أو ASHPK_DISTRO.py ، أضفها بالترتيب الأبجدي (باستثناء MAIN () وهي الوظيفة الأخيرة في ASHPK_CORE.PY لسهولة الوصول)
- نود أن نبقي ASHPK_DISTRO.py صغيرًا قدر الإمكان ، لذلك من الأسهل ترجمته إلى توزيعات أخرى. ضع ذلك في الاعتبار في حالة إضافة ميزات/وظيفة جديدة ... قدر الإمكان ، اجعل الميزات موزعة. (أي إضافة وظائف في Ashpk.py المشتركة عند الإمكان بدلاً من ذلك)
- إذا قمت بإضافة ملف تعريف جديد (Windows Manager ، بيئة سطح المكتب) ، تتضمن بالتأكيد أكثر الحزم المطلوبة. ألقِ نظرة على Gnome أو JWM أو i3 على سبيل المثال. للتوصل إلى الحد الأدنى من الحزم القابلة للحياة ، إذا كان لديك بالفعل تثبيت ASHOS لـ Target Distro (أي Debian و Arch و Alpine وما إلى ذلك) ، قم بإنشاء لقطة اختبار ومحاولة تثبيت عدد قليل من الحزم ومعرفة ما إذا كان يعمل. بدلاً من ذلك ، يمكنك استخدام بيئة Vanilla نظيفة/جليون من توزيعات الوجهة أو في جهاز افتراضي أو صورة Docker. قد تكون هناك حاجة إلى أوامر خدمة SystemD بعض الوقت. تأكد من تضمينها في ملف conf profile أيضًا.
- مساهمات الكود والوثائق موضع ترحيب!
- تعتبر تقارير الأخطاء وسيلة جيدة للمساهمة في المشروع أيضًا
- قبل إرسال طلب سحب اختبار الكود الخاص بك وتأكد من التعليق عليه بشكل صحيح
- إذا احتاج جزء من الكود إلى مزيد من TODO ، فارشره بـ
### YOUR_COMMENT - عند إضافة التعليمات البرمجية المساهمة إلى المشروع ، اتبع دائمًا نهج الشوكة والاستنباط: تافهة الريبو التنظيمي الرئيسي (ASHOS/ASHOS) تحت GIT الشخصي ، وقم بإجراء التغييرات ، وادفع التغييرات على GIT ، وأخيراً إنشاء طلب سحب إلى الريبو الرئيسي.
مجتمع
- لا تتردد في الانضمام إلينا على المصفوفة أو الخلاف لمزيد من المناقشة والدعم!
- السعيد لقطات خالية من القلق!
تودوس
- طريقة نظيفة لإلحاق الرماد تمامًا
- قم بتنفيذ صيانة حزمة AUR بين اللقطات
- اجعل Ashos متاحًا للمستخدمين غير المحظوظين
ملاحظات توزيعة محددة
- بالنسبة إلى packages-distro.conf ، سيتم تضمين مدير عرض Leanest (إما Xorg أو Wayland) الذي يتم تضمينه في الريبو الرسمي للتوزيع المحدد. على سبيل المثال بالنسبة لـ Arch Linux ، سيكون هذا "نحيفًا" ، على الرغم من وجود مديري عرض أقل حجماً مثل "Ly" و "TBSM" و "CDM" وما إلى ذلك ، لكن للأسف هناك في AUR وقت كتابة هذا المستند.
قوس لينكس
أور
- Ashos يدعم AUR أصليًا
- يستخدم Ashos Paru Aur Helper لتوفير هذه الوظيفة
- إذا قمت بالفعل بتثبيت PARU ، فيرجى التأكد من إزالته من اللقطة أولاً:
ash remove <snapshot> paru ، ثم انتقل إلى الخطوات الأخرى - لتمكين دعم AUR ، افتح أولاً تكوين اللقطة:
EDITOR=nano ash edit-conf <snapshot> # set the EDITOR variable
- الآن يمكننا تمكين AUR عن طريق تحرير الملف مثل SO:
- حفظ التغييرات والاستقالة
- الآن يتم تمكين دعم AUR ، يمكنك استخدام
ash install ash upgrade كالمعتاد مع حزم AUR
إصلاح حزم Pacman الفاسدة أو القضايا الرئيسية
- يتطلب مدير حزمة Pacman's Arch أحيانًا تحديثًا لمفاتيح PGP
- لإصلاح هذه المشكلة ، يمكننا ببساطة إعادة تثبيت مفاتيح القوس
ash install <snapshots> archlinux-keyring
إذا لم يحل هذا المشكلة ، فقم بتشغيل:
وكملاذ أخير ، قم بالتشغيل: (تحذير: قد يكون لهذا تأثيرات غير مرغوب فيها)
جبال الألب
- حاليًا ، هناك سلوك غير منتظم مع حزمة الحزمة (وليس Grub-EFI والذي ، على الرغم من أن الأخير يعتمد على السابق) مما يؤدي إلى وجود قاعدة بيانات APK التالفة على لقطة تثبيت / جديدة! هذا نتيجة لذلك ، يجعل
ash in العمليات تفشل أيضًا حيث نتحقق من الأخطاء. لإصلاح هذا ، قم بتشغيل:
ash un -p grub-efi grub -s <snapshot-number>
ash in -p grub-efi -s <snapshot-number>
cachyos
- يمكنك استخدام إما Arch ISO أو Cachyos ISO للتثبيت. تمرير حجج إضافية إذا كنت تستخدم سابقًا (انظر إلى أمثلة أعلاه)
- CLI Installer يكفي ، لا حاجة لتنزيل تثبيت واجهة المستخدم الرسومية.
ديبيان
- عند إصدار
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ ، قد يبدو أن التثبيت قد تم تجميده ولكنه يقوم بالفعل بالشيء! يرجى التحلي بالصبر وستحصل على موجه لبدء التثبيت في حوالي 30 ثانية! لسبب ما ، لم يكن يظهر ما يجري بطريقة لطيفة ، لذلك وضعت أمر set echo off . - تأكد من عدم تفويت Sudo في الأمر أعلاه ، وإلا سيكون هناك خطأ في الإذن عند الكتابة إلى /mnt/.snapshots/...
مسعى
- ابدأ عملية التمهيد من ملف ISO
- عندما تتم مطالبة GRUB ، اضغط على المفاتيح "E" ثم تنتهي لإضافة "Single" إلى نهاية معلمات kernel. عند المطالبة بوضع الإنقاذ ، اضغط على Enter.
- سيؤدي ذلك إلى إسقاطك إلى وضع مستخدم واحد بدلاً من بيئة سطح المكتب الافتراضي
- إذا لم يكن الوصول إلى الإنترنت متاحًا ، فقم بتشغيل
sudo dhclient - وإلا إذا كنت يتم التثبيت من داخل بيئة سطح المكتب ، فقم بالتعليق على "SU" في Endevouros_Live.sh لأنه سيطلب كلمة مرور. بدلاً من ذلك ، قم بتشغيل البرنامج النصي كما sudo.
Proxmox
- استخدم Debian Live Iso-Hybrid
- ابحث عن أحدث إصدار من PVE-Kernel _*-PVE من http://download.proxmox.com/debian/dists/ {release )/pve-no-subscription/binary-amd64/ وتحديث kernel_version.
-
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ proxmox "Proxmox VE" - ملاحظة للحصول على حزمة
postfix : تكوين الحزم التي تتطلب إدخال المستخدم عند التثبيت وفقًا لاحتياجاتك. إذا كان لديك خادم بريد في شبكتك ، فيجب عليك تكوين PostFix كنظام ساتلي. سيكون خادم البريد الحالي الخاص بك هو مضيف الترحيل الذي سيقوم بتوجيه رسائل البريد الإلكتروني التي يتم إرسالها بواسطة Proxmox VE إلى المستلم النهائي. إذا كنت لا تعرف ماذا تدخل هنا ، فاختر محليًا فقط واترك اسم النظام كما هو.
أوبونتو
- روابط التنزيل: الرابط 1 ، الرابط 2
- في GRUB ، يمكنك تمرير
single كوسيطة إلى Linux kernel للتمهيد في وضع واحد واضغط على Enter للصيانة (نظرًا لعدم الحاجة إلى واجهة المستخدم الرسومية لهذا المثبت ، فهو أسرع بكثير في التمهيد) - اعتبارًا من يوليو 2022 ، لا يمكن استخدام Debian ISO للاضطراب "Jammy" (Bug ZSTD: https://bugs.debian.org/892664)
هذا المشروع مرخص بموجب AGPLV3.