
[Čeština] | [中文] | [پارسی]
Kami membutuhkan bantuan Anda untuk menerjemahkan readme ini. Lihat disini!
Ashos (OS hierarkis snapshot apa pun)
Meta-distribusi berbentuk pohon yang tidak dapat diubah menggunakan snapshot
(Tidak, ini bukan kulit lain/bertema "distro"!)
Harap dicatat bahwa, untuk tujuan proyek ini, sesuai dengan cara 'Pythonic' bukanlah tujuan di masa depan, implementasi mungkin berubah menjadi karat, C, C ++, dll. Kami ingin menjadi sedekat mungkin dengan cangkang Sans-Bashism yang sesuai dengan POSIX.
Daftar isi
- Apa itu Ashos?
- Ashos dibandingkan dengan distribusi serupa lainnya
- dokumentasi Ash and Ashos
- Instalasi
- Pasca instalasi
- Manajemen dan penyebaran snapshot
- Manajemen paket
- Konfigurasi Snapshot
- Dokumentasi tambahan
- Memperbarui Kunci Pacman
- Menyimpan perubahan konfigurasi yang dibuat di /dll secara terus -menerus
- Mengkonfigurasi Dual Boot
- Memperbarui Ash itu sendiri
- Aneka ragam
- Fitur canggih
- Multi-boot
- Luks
- Sakelar Mutabilitas
- Debugging Ash
- Penginstal Debuggin
- Bug yang dikenal
- Berkontribusi
- Masyarakat
- Todos
- Catatan khusus distro
- Lengkungan
- Aur
- Memperbaiki paket Pacman yang korup atau masalah utama
- Alpine
- Cachyos
- Debian
- Endeavouros
- Proxmox
- Ubuntu
Apa itu Ashos?
Anda selalu ingin mencoba Fedora Rawhide tetapi setelah beberapa hari, kerapuhannya saraf. Kemudian, mungkin Anda mencoba fedora silverblue rawhide tetapi kemudian operasi ostree seperti git yang rumit dan lambat membunuh suasana hati Anda! Nah, tidak lebih! Sekarang Anda dapat mencoba distro tepi pendarahan ini (dan banyak lagi distro seperti Debian Sid) dengan lebih banyak ketenangan pikiran. Ashos memberikan fleksibilitas tertinggi untuk memasang sistem operasi, misalnya Anda dapat dengan mudah mengatur proxmox ve yang tidak dapat diubah!
Ashos adalah meta-distribusi unik yang:
- bertujuan untuk membawa kekhasan bahkan ke distro yang tidak memiliki fitur yang sangat berguna yaitu Arch Linux, Gentoo, dll.
- Wraps di sekitar distribusi Linux yang dapat menjadi bootstrap (hampir semua distribusi utama)
- Target untuk menjadi pemasang universal untuk distro yang berbeda dan lingkungan desktop/manajer jendela yang berbeda
- dapat menginstal, menggunakan dan multi-boot sejumlah distro
Awalnya terinspirasi oleh Arch Linux, Ashos menggunakan sistem file root yang tidak dapat diubah (hanya baca) untuk membedakan dirinya dari distro lain di luar sana. Perangkat lunak diinstal dan dikonfigurasi ke pohon snapshot individual, yang kemudian dapat digunakan dan di -boot. Itu tidak menciptakan format paket lain atau manajer paket, tetapi malah bergantung pada manajer paket asli misalnya Pacman dari Arch.
Abu adalah salah satu pohon tertua di dunia dan mereka mengilhami penamaan ashos.
Di Ashos, ada beberapa kata kunci:
- Vanilla: Kami mencoba untuk menjadi sedekat mungkin dengan versi distribusi target "vanilla" yang sedang diinstal.
- Minimalisme: Kami mematuhi sistem pembangunan Lego. Mulailah kecil dan bangun sebagai sistem yang kompleks seperti yang Anda inginkan. Fokus utama pengembangan adalah memiliki snapshot terpasang minimal yang solid, berdasarkan pengguna mana yang dapat memiliki permutasi abadi yang tak terbatas!
- Generalitas: Kami berusaha untuk memenuhi penyebut yang paling umum antara distro dan arsitektur (x64, aarch64, sparc, dll). Dengan demikian, ketika ada pilihan antara kenyamanan dan kelengkapan/umum, kita pergi dengan yang terakhir. Untuk mengklarifikasi dengan sebuah contoh, mungkin lebih mudah untuk menggunakan grub-BTRF daripada menerapkan mekanisme pembaruan grub kami sendiri, tetapi karena paket tertentu mungkin tidak tersedia di semua distro, kami mengembangkan solusi spesifik Ashos. Dengan cara ini, kita berpotensi memenuhi distro apa pun di masa depan!
Ini memiliki beberapa keunggulan:
Keamanan
- Bahkan jika menjalankan aplikasi dengan izin yang dihindari, itu tidak dapat menggantikan pustaka sistem dengan versi jahat
Stabilitas dan keandalan
- Karena sistem yang dipasang hanya dibaca, tidak mungkin untuk secara tidak sengaja menimpa file sistem
- Jika sistem mengalami masalah, Anda dapat dengan mudah mengulangi snapshot kerja terakhir dalam beberapa menit
- Pembaruan Atom - memperbarui sistem Anda sekaligus lebih dapat diandalkan
- Berkat fitur snapshot, Ashos dapat mengirimkan perangkat lunak canggih tanpa menjadi tidak stabil
- Ashos membutuhkan sedikit perawatan, karena memiliki alat pembaruan sepenuhnya otomatis yang membuat snapshot sebelum memperbarui dan secara otomatis memeriksa apakah sistem ditingkatkan dengan benar sebelum menggunakan snapshot baru
Konfigurasi
- Dengan snapshot yang diatur ke dalam pohon, Anda dapat dengan mudah memiliki beberapa konfigurasi perangkat lunak Anda yang tersedia, dengan berbagai paket, tanpa gangguan apa pun
- Misalnya: Anda dapat menginstal satu desktop gnome dan kemudian memiliki 2 snapshot di atas - satu dengan video game Anda, dengan kernel dan driver terbaru, dan yang lainnya untuk bekerja, dengan kernel LTS dan perangkat lunak yang lebih stabil, Anda kemudian dapat dengan mudah beralih di antara ini tergantung pada apa yang Anda coba lakukan
- Anda juga dapat dengan mudah mencoba perangkat lunak tanpa harus khawatir tentang melanggar sistem Anda atau mencemarinya dengan file yang tidak perlu, misalnya Anda dapat mencoba lingkungan desktop baru dalam snapshot dan kemudian menghapus snapshot setelahnya, tanpa memodifikasi sistem utama Anda sama sekali sama sekali sama sekali
- Ini juga dapat digunakan untuk sistem multi-pengguna, di mana setiap pengguna memiliki sistem yang sepenuhnya terpisah dengan perangkat lunak yang berbeda, namun mereka dapat berbagi paket tertentu seperti kernel dan driver
- Ashos memungkinkan Anda untuk menginstal perangkat lunak dengan chrooting ke dalam snapshot, oleh karena itu (misalnya dalam rasa lengkung) Anda dapat menggunakan perangkat lunak seperti AUR untuk menginstal paket tambahan
- Ashos, sangat dapat disesuaikan, Anda dapat memilih dengan tepat perangkat lunak mana yang ingin Anda gunakan (seperti Arch Linux)
Berkat keandalannya dan peningkatan otomatis, Ashos sangat cocok untuk penggunaan tunggal atau perangkat tertanam
Ini juga membuat workstation yang baik atau distribusi penggunaan umum menggunakan wadah pengembangan dan flatpak untuk aplikasi desktop
Catatan Penting: Pertama coba Ashos di mesin virtual dan merasa nyaman dengan itu sebelum memasangnya pada logam telanjang. Installer Ashos * kejam dan mengasumsikan pengguna tahu apa yang mereka lakukan. Menjalankan penginstal seperti halnya tisu disk!
Karena Ashos berusaha untuk menjadi minimal padat dan mengikuti struktur seperti Lego (mulai dari yang kecil, sesuaikan saat Anda pergi), kami terutama memfokuskan pengembangan pada pangkalan, yang berarti secara default tidak ada lingkungan desktop (bahkan manajer jendela) dipasang. Ini dengan desain karena sebaliknya tim harus mendukung banyak DES di banyak distro. Apa yang disediakan adalah profiles . Karena DES/WMS hanyalah paket, dengan kekuatan snapshotting, seseorang dapat menggunakan Ash untuk memasang de/wm yang diinginkan. Misalnya untuk menginstal gnome di snapshot 1:
`ash clone 0` : create snapshot #1
`ash install 1 -P gnome` : install gnome in snapshot #1
`ash deploy 1`
`reboot`
Ashos dibandingkan dengan distribusi serupa lainnya
- Nixos / GNU GUIX - Dibandingkan dengan Nixos, Ashos adalah sistem yang lebih tradisional dengan cara pengaturan dan dipertahankan. Sementara Nixos sepenuhnya dikonfigurasi menggunakan bahasa pemrograman NIX, Ashos menggunakan manajer paket asli dari distribusi target, misalnya Pacman untuk lengkungan, apel untuk debian, dll. Ashos mengkonsumsi lebih sedikit penyimpanan, dan mengkonfigurasi sistem Anda lebih cepat dan lebih mudah (lebih tidak dapat direproduksi), tetapi juga memberi Anda opsi kustomisasi. Ashos sesuai dengan FHS, memastikan kompatibilitas perangkat lunak yang tepat. Tidak seperti Nixos, Anda tidak perlu memiliki gelar Ph.D. dalam ilmu komputer untuk hanya menjalankan OS yang tidak dapat diubah
- Ashos memungkinkan konfigurasi deklaratif menggunakan ansible, untuk fungsionalitas yang agak mirip dengan nixos
- Fedora Silverblue/Kinoite - Ashos lebih dapat disesuaikan, tetapi memang membutuhkan lebih banyak pengaturan manual. Ashos mendukung boot ganda, tidak seperti Silverblue.
- OpenSUSE Microos - Ashos adalah sistem yang lebih dapat disesuaikan, tetapi sekali lagi membutuhkan sedikit lebih banyak pengaturan manual. Microos bekerja sama dalam cara menggunakan snapshot BTRFS. Ashos memiliki pemasangan KDE resmi, tetapi juga mendukung lingkungan desktop lainnya, sementara mikro hanya mendukung GNOME dengan benar. Ashos mendukung boot ganda, serta menarik sistem dan memasang paket tanpa reboot
Instalasi
- (Catatan: Semua skrip selama instal harus dijalankan dengan hak istimewa pengguna super)
- Ashos dipasang dari ISO langsung resmi untuk distribusi target. Misalnya Arch Linux, Debian/Debian NetinStaller dll.
- Arch iso umumnya dapat digunakan untuk bootstrap distro lain kecuali: Gunakan debian live iso-hybrid untuk bootstrap debian, ubuntu iso untuk bootstrap ubuntu
- Bergantung pada ISO langsung, sangat penting bahwa skrip di
./src/prep/ dieksekusi (mempersiapkan lingkungan langsung serta partisi/pemformatan) jika tidak, akan ada kesalahan karena waktu tidak selaras dll. Secara default, penginstal akan memanggil skrip ini, tetapi jika Anda ingin melakukannya secara manual, hanya berkomentar baris masing -masing masing -masing baris masing -masing masing -masing baris masing -masing masing -masing masing -masing, hanya berkomentar secara manual, hanya berkomentar masing -masing baris masing -masing. - Perintah untuk memperbaiki masalah Paket DB di Live ISO (yaitu Arch_Live.ISO) membutuhkan waktu lama untuk dijalankan. Seseorang dapat mengomentari ini agar penginstal berjalan secara signifikan lebih cepat. Mereka termasuk sebagian besar untuk pemasangan mesin virtual di mana masalah sinkronisasi waktu berlimpah.
- Jika Anda mengalami masalah menginstal paket selama instalasi, pastikan Anda menggunakan ISO terbaru, dan perbarui keyring manajer paket jika diperlukan
- Jika berjalan dari ISO Arch lama, jalankan perintah di bagian
# Fix signature invalid error di ./src/prep/arch-live.sh - Anda memerlukan koneksi internet untuk menginstal ashos
- Ashos digunakan untuk mengirim dengan 3 profil instalasi, satu untuk pemasangan minimal dan dua untuk desktop (gnome, plasma kde). Untuk membuatnya lebih modular, kami mendesain ulang dan secara default hanya menginstal snapshot dasar minimum. Setelah selesai, Anda dapat menginstal lingkungan desktop yang Anda inginkan. Misalnya untuk gnome, setelah boot di snapshot dasar, jalankan:
ash branch 0 # This produces node #N
ash install N --profile gnome
ash deploy N
- Dukungan untuk lebih banyak DE akan ditambahkan tetapi itu tidak akan menjadi bagian dari pemasangan dasar.
- Script instalasi mudah dikonfigurasi dan disesuaikan dengan kebutuhan Anda (tetapi berfungsi dengan baik tanpa modifikasi apa pun)
Instal Git First - Ini akan memungkinkan kami untuk mengunduh skrip instal
Repositori Klon
git clone "https://github.com/ashos/ashos"
cd ashos
Partisi dan Format Drive
- Jika memasang pada sistem BIOS, gunakan tabel partisi DOS (MBR)
- Di EFI Anda dapat menggunakan GPT
- Partisi EFI harus diformat ke FAT32 sebelum menjalankan penginstal (
mkfs.fat -F32 /dev/<part> ) - Ada skrip persiapan di bawah
./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!
Jalankan Penginstal
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.
Argumen di dalam kurung persegi adalah opsional. Mengenai argumen keempat: katakanlah jika Anda ingin menginstal Alpine Linux menggunakan Arch Linux ISO, jalankan python3 setup.py /dev/vda2 /dev/vda /dev/vda1 alpine .
Posting Pengaturan Instalasi
- Pengaturan Instalasi Posting tidak diperlukan jika Anda menginstal salah satu edisi desktop (GNOME atau KDE)
- Banyak informasi untuk cara menangani pengaturan pasca-instal tersedia di halaman Archwiki
- Berikut adalah contoh kecil prosedur pengaturan:
- Mulailah dengan membuat snapshot baru dari
base menggunakan ash clone 0 - Chroot di dalam snapshot baru ini (
ash chroot <snapshot> ) dan mulai setup- Mulailah dengan menambahkan akun pengguna baru:
useradd username - Atur Nama Pengguna
passwd username Pengguna - Sekarang atur kata sandi baru untuk root User
passwd root - Sekarang Anda dapat memasang paket tambahan (lingkungan desktop, teknologi kontainer, flatpak) menggunakan Pacman
- Setelah selesai, keluar dari chroot dengan
exit - Kemudian Anda dapat menggunakannya dengan
ash deploy <snapshot>
Dokumentasi tambahan
- Untuk informasi lebih lanjut yang tidak tercakup dalam proyek ini, disarankan untuk merujuk pada target distro yaitu wiki lengkung
- Laporkan Masalah/Bug di Halaman Masalah GitHub
- Petunjuk: Anda dapat menggunakan
ash --help untuk mendapatkan lembar cheat cepat dari semua perintah yang tersedia - Idealnya, kami ingin menjaga Ash sebagai satu file yang dapat dieksekusi
- Skrip Ash dibagi menjadi 2 file: kode umum (ashpk_core.py) dan kode spesifik distro (yaitu gentoo.py). Perhatikan bahwa tidak satu pun dari file -file ini yang dapat dijalankan mandiri (impor satu skrip ke yang lain tidak dimaksudkan). Divisi ini hanya untuk memudahkan penggunaan file sebagai templat dalam mengembangkan abu untuk distribusi lainnya. Pada saat menginstal distro, kedua file tersebut hanya digabungkan.
- Untuk tidak membutuhkan font tambahan, kami menggunakan gaya ASCII saat mencetak pohon abu. Untuk output yang lebih bagus, jangan ragu untuk mengganti asciistyle () dengan contstyle (), controundstyle (), atau doublestyle ()
- Hal bagus lainnya tentang Ashos adalah distro terkait Anda sangat sama dibangun. Misalnya, penginstal untuk Arch dan Manjaro sangat mirip, perbedaan hanya menjadi paket repo!
Snapshot dasar
- Snapshot
0 dicadangkan untuk snapshot sistem dasar, itu tidak dapat diubah dan hanya dapat diperbarui menggunakan ash base-update
Manajemen Snapshot
Tampilkan pohon sistem file
- Output dapat terlihat misalnya seperti ini:
root - root
├── 0 - base snapshot
└── 1 - multi-user system
└── 4 - applications
├── 6 - MATE full desktop
└── 2*- Plasma full desktop
Tambahkan descritption ke snapshot
- Snapshot memungkinkan Anda untuk menambahkan deskripsi ke mereka untuk identifikasi yang lebih mudah
ash desc <snapshot> <description>
Hapus pohon
- Ini menghilangkan pohon dan semua cabangnya
Konfigurasi Boot Kustom
- Jika Anda perlu menggunakan konfigurasi grub khusus, chroot ke dalam snapshot dan edit
/etc/default/grub , lalu gunakan snapshot dan reboot
Chroot menjadi snapshot
- Begitu berada di dalam chroot, OS berperilaku seperti lengkungan biasa, sehingga Anda dapat menginstal dan menghapus paket menggunakan Pacman atau yang serupa
- Jangan lari abu dari dalam chroot, itu dapat menyebabkan kerusakan pada sistem, ada failfafe di tempat, yang dapat dilewati dengan
--chroot jika Anda benar -benar perlu (tidak disarankan) - Chroot harus keluar dengan benar dengan
exit , jika tidak perubahan yang dilakukan tidak akan disimpan - Jika Anda tidak keluar dari cara "bersih" dengan
exit , disarankan untuk menjalankan ash tmp untuk menghapus file sementara yang tertinggal
- Anda dapat memasukkan shell yang tidak terkunci di dalam snapshot booting saat ini
- Perubahan yang dilakukan pada sesi langsung tidak disimpan pada penyebaran baru
Opsi chroot lainnya
- Menjalankan perintah yang ditentukan di dalam snapshot
ash run <snapshot> <command>
- Menjalankan perintah yang ditentukan di dalam snapshot dan semua cabangnya
ash tree-run <tree> <command>
Klon Snapshot
- Ini mengkloning snapshot sebagai pohon baru
Kloning pohon secara rekursif
- Ini mengklon seluruh pohon secara rekursif
ash clone-tree <snapshot>
Buat Cabang Pohon Baru
- Menambahkan cabang baru ke snapshot yang ditentukan
ash branch <snapshot-to-branch-from>
Snapshot klon di bawah orang tua yang sama
Snapshot klon di bawah induk yang ditentukan
- Pastikan untuk menyinkronkan pohon sesudahnya
ash ubranch <parent> <snapshot>
Buat pohon dasar baru
Menggunakan snapshot
- Reboot untuk boot ke snapshot baru setelah digunakan
Perbarui basis dari snapshot baru dari mana
- CATATAN: Basis itu sendiri terletak di
/.snapshots/rootfs/snapshot-0 dengan file spesifik /var dan /etc yang terletak di /.snapshots/var/var-0 dan /.snapshots/etc/etc-0 masing-masing, maka Anda benar-benar perlu membuat perubahan konfigurasi, Anda dapat dipasang dengan snapshot ini, masing-masing, jika Anda benar-benar perlu melakukan perubahan konfigurasi, Anda dapat melakukan snapshots, Anda benar-benar perlu melakukan perubahan konfigurasi, Anda dapat membuat konfigurasi, Anda benar-benar perlu melakukan perubahan konfigurasi, Anda benar-benar perlu melakukan perubahan konfigurasi, Anda benar-benar perlu melakukan perubahan konfigurasi, Anda benar
Manajemen paket
Instalasi Perangkat Lunak
- Jalankan
ash deploy <snapshot> dan reboot setelah menginstal perangkat lunak baru untuk perubahan yang diterapkan (kecuali menggunakan instal langsung, info lebih lanjut di bawah) ini tidak lagi diperlukan secara default. - Perangkat lunak juga dapat diinstal menggunakan Pacman dalam chroot
- AUR dapat digunakan di bawah chroot
- Flatpak dapat digunakan untuk instalasi paket persisten
- Menggunakan wadah untuk instalasi perangkat lunak tambahan juga merupakan opsi. Cara mudah melakukan ini dengan distrobox
ash install <snapshot> <package>
- Setelah menginstal, Anda dapat menyinkronkan paket yang baru diinstal ke semua cabang pohon dengan
- Menyinkronkan pohon juga secara otomatis memperbarui semua snapshot
- Jika Anda ingin menyinkronkan tanpa memperbarui (dapat menyebabkan duplikasi paket dalam database) maka gunakan
- Ash juga mendukung pemasangan paket tanpa me -reboot. Ini tidak lagi dibutuhkan. ### Review_later
ash install <snapshot> -p <package> --live
Menghapus perangkat lunak
ash remove <snapshot> <package or packages>
ash tree-rmpkg <tree> <pacakge or packages>
Memperbarui
Disarankan untuk mengkloning snapshot sebelum memperbaruinya, sehingga Anda dapat memutar kembali jika terjadi kegagalan
Pembaruan ini hanya memperbarui paket sistem, untuk memperbarui Ash sendiri, lihat bagian ini
Untuk memperbarui satu snapshot
- Untuk memperbarui seluruh pohon secara rekursif
Ini dapat dikonfigurasi dalam skrip (yaitu. Skrip crontab) untuk pembaruan otomatis yang mudah dan aman
Jika sistem menjadi tidak dapat di -boot setelah pembaruan, Anda dapat mem -boot penyebaran terakhir (pilih di menu grub) dan kemudian lakukan rollback
- Maka Anda dapat reboot kembali ke sistem kerja
Konfigurasi Snapshot
- Ashos memiliki sistem konfigurasi per-snapshot
- Menggunakan sistem ini kita dapat beralih beberapa fungsi. Misalnya untuk AUR (Repositori Pengguna Arch), lihat di bawah catatan lengkung di bawah ini.
- Anda perlu memiliki editor teks. Untuk Nano atau VI, Lewati Step0 sama sekali:
Langkah0:
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
- Simpan perubahan dan berhenti
Perhatikan bahwa Anda dapat melewatkan garis untuk /etc /sudoers, tetapi setiap kali Anda harus mengetik 'sudo -e ash edit' untuk lulus variabel lingkungan dengan sudo!
Tambahan
Menyimpan perubahan konfigurasi yang dibuat di /etc secara terus -menerus
- Biasanya konfigurasi harus dilakukan dengan
ash chroot , tetapi kadang -kadang Anda mungkin ingin menerapkan perubahan yang telah Anda buat pada sistem booting secara terus -menerus - Untuk melakukan ini gunakan perintah berikut
- Ini memungkinkan Anda untuk mengkonfigurasi sistem Anda dengan memodifikasi
/etc seperti biasa, dan kemudian menyimpan perubahan ini.
Boot ganda
- Ashos mendukung boot ganda menggunakan grub bootloader
- Saat memasang sistem, gunakan partisi EFI yang ada
- Untuk mengonfigurasi dual boot, kita harus mulai dengan menginstal paket
os-prober :
ash install <snapshot> os-prober
- Sekarang kita harus mengkonfigurasi grub
ash chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit
- Sekarang cukup gunakan snapshot untuk mengkonfigurasi ulang bootloader
Jika Windows terdeteksi, Ash harus mengembalikan output di sepanjang garis Found Windows Boot Manager on... Anda mungkin perlu menginstal ntfs-3g terlebih dahulu dan menggunakan kembali jika Anda tidak melihat entri Windows. ### Review_later
Memperbarui Ash itu sendiri
- Ash tidak diperbarui di samping sistem saat
ash upgrade digunakan - Terkadang mungkin perlu memperbarui abu itu sendiri
- Ash dapat diperbarui dengan satu perintah
Aneka ragam
Akses baca-write ke berbagai bagian sistem file: /.snapshots/rootfs/snapshot-*: ro /.snapshots/etc/etc-*: ro /var: rw /: dipasang sebagai ro, tetapi snapshot itu sendiri rw /usr: ro /etc: rw
Untuk profil GNOME dan KDE, kami mengasumsikan pengguna hanya ingin hal -hal berfungsi sebagai default dan karena itu kami menginstal manajer login default. Untuk profil lainnya, kami fokus pada minimalis, dan hanya menginstal TBSM. Seseorang jelas dapat dengan mudah memodifikasi ini jika mereka memilih.
Saat menggunakan file ISO yang lebih lama, pastikan untuk Uncomment FixDB Line dalam skrip PrEP untuk distro yang sesuai. Kalau tidak, ada keadaan yang, bahkan jika instalasi tampaknya berhasil, Anda mungkin mendapatkan kesalahan Sync Package Manager DB saat di -boot di distro Anda. FixDB ini dapat membuat bagian awal dari proses instalasi sangat lambat, tetapi mungkin sepadan.
Fitur canggih
Ini adalah beberapa fitur canggih dan kami sarankan Anda menggunakannya hanya jika Anda siap untuk kerusakan, melakukan cadangan data dan sesekali perbaikan. Mereka mungkin tidak siap prime-time.
Multi-boot
Untuk multi-boot distro yang berbeda, umumnya mengikuti prosedur ini:
- Instal Distro-A pertama dengan opsi nomor 2 saat diminta pada awal penginstal
- Instal Distro Konsekuensi dengan Opsi Nomor 3 (Penting: Opsi lain akan menghapus root atau partisi root dan EFI)
Luks
Enkripsi disk penuh menggunakan LUKS2 diimplementasikan. Ini berarti juga enkripsi /boot yang merupakan fitur eksperimental Grub sejak v2.06. Saat ini dalam arus utama, itu hanya mendukung PBKDF2 dan bukan argon2 default. Ini akan secara signifikan memperlambat booting karena misalnya dekripsi cryptomount adalah sekitar 30 detik pada keyfile 8KB. Jika Anda berencana untuk multi-boot dengan OS lain, jangan gunakan fitur ini! Kami pengembangan Grub monnitor dengan cermat dan akan diperbarui sesegera mungkin.
Sakelar Mutabilitas
Keindahan Customizability dari Ashos adalah bahwa kita dapat memiliki campuran node yang tidak dapat diubah dan tidak dapat diimutasi! Di dalam hutan/pohon ashos, seseorang dapat membuat snapshot (selain basis 0 ) berubah. Misalnya, untuk membuat node 9 dapat di -run sudo ash immen 9 . Ini membuat simpul dan anak -anak apa pun (yang dibuat setelah itu) berubah.
Debugging Ash
- Terkadang mungkin perlu untuk men -debug abu
- Perintah berikut berguna karena menunjukkan output perintah saat menjalankan ashpk.py:
sed -e 's| >/dev/null 2>&1||g' /usr/bin/ash > ashpk.py
Penginstal Debugging
- Saat mengerjakan proyek pengembangan OS apa pun, banyak masalah mungkin muncul. Itu hanya sifat debugging dalam proyek ini dan membutuhkan kesabaran!
- Saat menghadapi masalah di installer atau setelah pengaturan awal selesai, buka grub dan hapus
quiet dari argumen - Boot menggunakan ctrl+x dan laporkan apa yang Anda amati
- Jika memungkinkan, buka Tty2 oleh Ctrl+Alt+F2 dan Jalankan
journalctl -b dan Laporkan Kembali
Bug yang dikenal
- Di akhir installer jika LUKS digunakan, akan ada peringatan
remove ioctl device or resource busy . Mereka bisa diabaikan. Kemungkinan besar penyebabnya: Systemd-Journald - Partisi swap tidak berhasil, disarankan untuk menggunakan swapfile atau zram sebagai gantinya
- Docker memiliki masalah dengan izin, untuk memperbaiki lari
sudo chmod 666 /var/run/docker.sock
- Jika Anda mengalami masalah apa pun, laporkan di halaman masalah
Berkontribusi
- Bintang repo ini!
- Silakan lihat di bawah
./src/profiles/ dan tambahkan lingkungan desktop atau Windows Manager jika hilang. Harap cobalah untuk menjadi minimal dan vanilla mungkin. Jika sebuah paket memiliki nama yang berbeda dalam distro yang berbeda (seperti NetworkManager di Arch dan Network-Manager di Debian, buat file dengan akhiran distro untuk profil IE di bawah GNOME: Packages-arch.txt vs. Packages-debian.txt - Jika Ashos belum mendukung distro Anda, Anda dapat melakukannya dengan kemudahan 'relatif'! Cara yang baik adalah dengan menggunakan Arch sebagai templat (./src/distros/arch/) untuk installer.py, biasanya, hanya beberapa bagian bernomor (diindikasikan sebagai
# 1. Hingga # 6. ) Perlu disesuaikan dengan OS baru. Untuk ashpk.py, konversi perintah ke manajer paket baru. - Saat menambahkan fungsi baru ke ashpk_core.py atau ashpk_distro.py, tambahkan mereka dalam urutan abjad (kecuali main () yang merupakan fungsi terakhir di ashpk_core.py untuk akses yang lebih mudah)
- Kami ingin menjaga ashpk_distro.py sekecil mungkin, jadi lebih mudah untuk menerjemahkannya ke distro lain. Ingatlah hal ini jika menambahkan fitur/fungsi baru ... sebanyak mungkin, buat fitur agnostik distro. (yaitu menambahkan fungsi di ashpk.py bersama sebagai gantinya) sebagai gantinya)
- Jika Anda menambahkan profil baru (Windows Manager, Desktop Environment), benar -benar menyertakan paket yang paling minimal yang diperlukan. Lihatlah Gnome, JWM, atau I3 misalnya. Untuk menghasilkan paket yang layak minimal, jika Anda sudah memiliki instalasi Distro Target Ashos (yaitu Debian, Arch, Alpine, dll.), Buat snapshot uji dan coba menginstal hanya paket dan lihat apakah berfungsi. Atau, Anda dapat menggunakan lingkungan vanilla bersih/chroot distro tujuan atau di mesin virtual atau gambar Docker. Beberapa Perintah Layanan SystemD mungkin diperlukan. Pastikan untuk memasukkannya ke dalam file conf profile juga.
- Kode dan kontribusi dokumentasi dipersilakan!
- Laporan bug juga merupakan cara yang baik untuk berkontribusi pada proyek
- Sebelum mengirimkan permintaan tarik uji kode Anda dan pastikan untuk mengomentarinya dengan benar
- Jika bagian dari kode membutuhkan todo lebih lanjut, tunjukkan dengan
### YOUR_COMMENT - Saat menambahkan kode yang berkontribusi ke proyek, selalu ikuti pendekatan fork-and-clone: Fork Repo organisasi utama (Ashos/Ashos) di bawah git pribadi Anda, buat perubahan, dorong perubahan Anda ke git Anda, dan akhirnya buat permintaan tarik kembali ke repo utama.
Masyarakat
- Silakan bergabung dengan kami di Matrix atau Discord untuk diskusi dan dukungan lebih lanjut!
- Snapshotting bebas khawatir!
Todos
- Cara bersih untuk benar -benar abu unistall
- Menerapkan pemeliharaan paket AUR antara snapshot
- Jadikan Ashos lebih mudah diakses oleh pengguna yang tidak maju
Catatan khusus distro
- Untuk paket-distro.conf, Manajer Tampilan paling ramping (baik Xorg atau Wayland) yang termasuk dalam repo resmi untuk distro yang diberikan akan dimasukkan. Misalnya untuk Arch Linux, ini akan menjadi 'ramping', meskipun ada manajer tampilan yang lebih ramping seperti 'ly', 'tbsm', 'cdm' dll. Tetapi sayangnya ada di AUR pada saat penulisan dokumen ini.
Arch Linux
Aur
- Ashos mendukung AUR secara asli
- Ashos menggunakan Helper Paru Aur untuk menyediakan fungsionalitas ini
- Jika Anda sudah menginstal PARU, pastikan itu dihapus dari snapshot terlebih dahulu:
ash remove <snapshot> paru , lalu lanjutkan ke langkah -langkah lain - Untuk mengaktifkan dukungan AUR, pertama buka konfigurasi snapshot:
EDITOR=nano ash edit-conf <snapshot> # set the EDITOR variable
- Sekarang kita dapat mengaktifkan AUR dengan mengedit file seperti itu:
- Simpan perubahan dan berhenti
- Sekarang dukungan AUR diaktifkan, Anda dapat menggunakan
ash install dan ash upgrade seperti biasa dengan paket AUR
Memperbaiki paket Pacman yang korup atau masalah utama
- Manajer paket Pacman Arch terkadang membutuhkan penyegaran kunci PGP
- Untuk memperbaiki masalah ini, kita dapat dengan mudah menginstal ulang mereka melengkung keyring
ash install <snapshots> archlinux-keyring
Jika ini tidak menyelesaikan masalah, jalankan:
Dan sebagai upaya terakhir, jalankan: (Perhatian: ini mungkin memiliki efek yang tidak diinginkan)
Alpine
- Saat ini, ada perilaku yang tidak menentu dengan paket grub (bukan grub-eFi yang, meskipun yang terakhir tergantung pada sebelumnya) yang menghasilkan memiliki database APK yang rusak pada instalasi baru / snapshot baru! Sebagai hasilnya, membuat
ash in operasi gagal juga karena kami memeriksa kesalahan. Untuk memperbaikinya, jalankan:
ash un -p grub-efi grub -s <snapshot-number>
ash in -p grub-efi -s <snapshot-number>
Cachyos
- Anda dapat menggunakan ISO Arch atau Cachyos ISO untuk pemasangan. Lewati argumen tambahan jika menggunakan sebelumnya (lihat contoh di atas)
- CLI Installer cukup, tidak perlu mengunduh penginstal GUI.
Debian
- Saat mengeluarkan
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ , mungkin tampaknya penginstal telah membeku tetapi sebenarnya melakukan hal itu! Harap bersabar dan Anda akan mendapatkan prompt untuk memulai pemasangan dalam waktu sekitar 30 detik! Untuk beberapa alasan, itu tidak menunjukkan apa yang terjadi dengan cara yang baik, jadi saya memasang set echo off perintah. - Pastikan untuk tidak melewatkan sudo di perintah di atas, jika tidak, akan ada kesalahan izin saat menulis ke /mnt/.snapshots/...
Endeavouros
- Mulai proses boot dari file ISO
- Saat Grub diminta, tekan tombol 'E' dan kemudian berakhir untuk menambahkan 'tunggal' ke akhir parameter kernel. Saat diminta tentang mode penyelamatan, tekan ENTER.
- Ini akan menurunkan Anda ke mode pengguna tunggal alih -alih lingkungan desktop default
- Jika akses internet tidak tersedia, jalankan
sudo dhclient - Jika tidak, jika menginstal dari dalam lingkungan desktop, komentar "su" di endevouros_live.sh karena akan meminta kata sandi. Alih -alih jalankan skrip sebagai sudo.
Proxmox
- Gunakan debian live iso-hybrid
- Temukan versi terbaru dari PVE-Kernel _*-Pve dari http://download.proxmox.com/debian/dists/{release/pve-no-subscription/binary-amd64/ dan perbarui kernel_version.
-
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ proxmox "Proxmox VE" - Catatan untuk paket
postfix : Konfigurasikan paket yang memerlukan input pengguna pada instalasi sesuai dengan kebutuhan Anda. Jika Anda memiliki server email di jaringan Anda, Anda harus mengkonfigurasi postfix sebagai sistem satelit. Server email Anda yang ada kemudian akan menjadi host relay yang akan merutekan email yang dikirim oleh ProxMox VE ke penerima akhir mereka. Jika Anda tidak tahu apa yang harus dimasukkan di sini, pilih saja lokal dan tinggalkan nama sistem apa adanya.
Ubuntu
- Unduh Tautan: Tautan 1, Tautan 2
- Di Grub, Anda dapat meneruskan
single sebagai argumen ke kernel Linux untuk boot dalam mode tunggal dan tekan ENTER untuk pemeliharaan (karena tidak ada GUI yang diperlukan untuk penginstal ini, jauh lebih cepat untuk boot) - Pada Juli 2022, Debian ISO tidak dapat digunakan untuk bootstrap 'Jammy' (ZSTD Bug: https://bugs.debian.org/892664)
Proyek ini dilisensikan di bawah AGPLV3.