Astos (OS Pohon Snapshot Arch)
Distribusi berbasis lengkungan yang tidak dapat diubah menggunakan snapshot BTRFS

Daftar isi
- Apa itu Astos?
- Astos dibandingkan dengan distribusi serupa lainnya
- dokumentasi ast dan astos
- Instalasi
- Pasca instalasi
- Manajemen dan penyebaran snapshot
- Manajemen paket
- Dokumentasi tambahan
- Memperbarui Kunci Pacman
- Menyimpan perubahan konfigurasi di /dll secara terus -menerus
- Mengkonfigurasi Dual Boot
- Memperbarui ast itu sendiri
- Debugging Ast
- Menyiapkan AUR
- Bug yang dikenal
- Berkontribusi
- Masyarakat
Astos Development saat ini tidak aktif, lihat #33 (komentar)
Apa itu Astos?
Astos adalah distribusi modern berdasarkan Arch Linux.
Tidak seperti Arch, ia menggunakan sistem file root yang tidak dapat diubah (hanya baca).
Perangkat lunak diinstal dan dikonfigurasi ke pohon snapshot individual, yang kemudian dapat digunakan dan di -boot.
Itu tidak menggunakan format paket sendiri atau manajer paket, alih -alih mengandalkan Pacman dari Arch.
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, Astos dapat mengirimkan perangkat lunak canggih tanpa menjadi tidak stabil
- Astos membutuhkan sedikit pemeliharaan, 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
- Astos memungkinkan Anda untuk menginstal perangkat lunak dengan chrooting ke dalam snapshot, oleh karena itu Anda dapat menggunakan perangkat lunak seperti AUR untuk menginstal paket tambahan
- Astos, sama seperti lengkungan, sangat dapat disesuaikan, Anda dapat memilih dengan tepat perangkat lunak mana yang ingin Anda gunakan
Berkat keandalannya dan peningkatan otomatis, Astos 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
Astos dibandingkan dengan distribusi serupa lainnya
- Nixos - Dibandingkan dengan Nixos, Astos adalah sistem yang lebih tradisional dengan cara pengaturan dan dipertahankan. Sementara NIXOS sepenuhnya dikonfigurasi menggunakan bahasa pemrograman NIX, Astos menggunakan Pacman Manager Pacman Arch. Astos mengkonsumsi lebih sedikit penyimpanan, dan mengkonfigurasi sistem Anda lebih cepat dan lebih mudah (namun kurang dapat direproduksi), itu juga memberi Anda lebih banyak opsi penyesuaian. Astos sesuai dengan FHS, memastikan kompatibilitas perangkat lunak yang tepat.
- Astos memungkinkan konfigurasi deklaratif menggunakan ansible, untuk fungsionalitas yang agak mirip dengan nixos
- Fedora Silverblue/Kinoite - Astos lebih dapat disesuaikan, tetapi memang membutuhkan lebih banyak pengaturan manual. Astos mendukung boot ganda, tidak seperti Silverblue.
- OpenSUSE Microos - Astos adalah sistem yang lebih dapat disesuaikan, tetapi sekali lagi membutuhkan sedikit lebih banyak pengaturan manual. Microos bekerja sama dalam cara menggunakan snapshot BTRFS. Astos memiliki pemasangan KDE resmi, tetapi juga mendukung lingkungan desktop lainnya, sementara mikroo hanya mendukung GNOME dengan benar. Astos mendukung boot ganda, serta pemotongan langsung sistem dan menginstal paket tanpa reboot.
Instalasi
- Astos diinstal dari ISO LIVE Arch Linux resmi yang tersedia di https://archlinux.org/
- Jika Anda mengalami masalah menginstal paket selama instalasi, pastikan Anda menggunakan ISO Arch terbaru, dan jika perlu memperbarui keyring Pacman
- Anda memerlukan koneksi internet untuk menginstal Astos
- Saat ini Astos mengirimkan 4 profil instalasi, satu untuk pemasangan minimal dan dua untuk desktop, satu dengan lingkungan desktop gnome, satu dengan plasma kde, dan satu dengan pasangan, tetapi dukungan untuk lebih banyak de akan ditambahkan
- 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/lambdanil/astOS"
cd astOS
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> )
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 main.py /dev/<partition> /dev/<drive> /dev/<efi part> # Skip the EFI partition if installing in BIOS mode
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 ast clone 0 - Chroot di dalam snapshot baru ini (
ast 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 0 - Kemudian Anda dapat menggunakannya dengan
ast deploy <snapshot>
Dokumentasi tambahan
- Disarankan untuk merujuk ke wiki lengkung untuk dokumentasi bukan bagian dari proyek ini
- Laporkan Masalah/Bug di Halaman Masalah GitHub
- Petunjuk: Anda dapat menggunakan
ast help untuk mendapatkan lembar cheat cepat dari semua perintah yang tersedia
Snapshot dasar
- Snapshot
0 dicadangkan untuk snapshot sistem dasar, itu tidak dapat diubah dan hanya dapat diperbarui menggunakan ast base-update
Manajemen Snapshot
Tampilkan pohon sistem file
- Output dapat terlihat misalnya seperti ini:
root - root
├── 0 - base snapshot
└── 1 - multiuser 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
ast 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 menjalankan AST 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 0 , jika tidak perubahan yang dilakukan tidak akan disimpan - Untuk membuang perubahan yang dibuat, gunakan
exit 1 sebagai gantinya - Jika Anda tidak keluar dari cara "bersih" dengan
exit 0 , disarankan untuk menjalankan ast 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
ast run <snapshot> <command>
- Menjalankan perintah yang ditentukan di dalam snapshot dan semua cabangnya
ast tree-run <tree> <command>
Klon Snapshot
- Ini mengkloning snapshot sebagai pohon baru
Kloning pohon secara rekursif
- Ini mengklon seluruh pohon secara rekursif
ast clone-tree <snapshot>
Buat Cabang Pohon Baru
- Menambahkan cabang baru ke snapshot yang ditentukan
ast branch <snapshot to branch from>
Snapshot klon di bawah orang tua yang sama
Snapshot klon di bawah induk yang ditentukan
- Pastikan untuk menyinkronkan pohon setelahnya
ast 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
- 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
ast 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
Pengaturan AUR
- Astos juga mendukung AUR secara asli
- Sebelum kami dapat mengaktifkan dukungan AUR, pertama -tama kami harus memastikan
paru tidak diinstal:
ast remove <snapshot> paru
- Untuk menggunakan fitur ini, pertama -tama kita harus mengaktifkan dukungan AUR dalam konfigurasi snapshot:
EDITOR=nano ast edit-conf <snapshot> # set the EDITOR variable
- Sekarang kita perlu menambahkan baris berikut ke dalam file:
- Simpan dan Berhenti
- Dukungan AUR sekarang diaktifkan -
ast install dan operasi lainnya sekarang dapat menginstal paket AUR seperti biasa
Menghapus perangkat lunak
ast remove <snapshot> <package or packages>
ast 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 AST 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
Tambahan
Memperbaiki paket Pacman korup / masalah utama
- Manajer paket Pacman Arch terkadang membutuhkan penyegaran kunci PGP
- Untuk memperbaiki masalah ini, kita dapat dengan mudah menginstal ulang mereka melengkung keyring
ast install <snapshots> archlinux-keyring
Menyimpan perubahan konfigurasi yang dibuat di /etc
- Biasanya konfigurasi harus dilakukan dengan
ast 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 mengonfigurasi sistem Anda dengan memodifikasi
/etc seperti biasa, dan kemudian menyimpan perubahan ini
Boot ganda
- Astos 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 :
ast install <snapshot> os-prober
- Sekarang kita harus mengkonfigurasi grub
ast chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit 0
- Sekarang cukup gunakan snapshot untuk mengkonfigurasi ulang bootloader
Jika Windows terdeteksi, AST 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.
Memperbarui ast itu sendiri
- AST tidak diperbarui di samping sistem saat
ast upgrade digunakan - Terkadang mungkin perlu memperbarui ast itu sendiri
- AST dapat diperbarui dengan satu perintah
Debugging Ast
- Terkadang mungkin perlu untuk men -debug ast
- Salin
ast ke lokasi mana pun:
cp /usr/local/sbin/ast astpk.py
- Perintah berikut berguna karena menunjukkan output perintah saat menjalankan astpk.py:
sed -i -e s, 2>&1> /dev/null,,g astpk.py
Jika Anda telah memodifikasi file AST asli (mungkin tetapi tidak disarankan), pastikan untuk mengembalikannya saat selesai!
Bug yang dikenal
- Saat menjalankan AST tanpa argumen - IndexError: Daftar indeks di luar jangkauan
- Menjalankan AST tanpa izin root menunjukkan izin yang ditolak kesalahan alih -alih pesan kesalahan
- 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
- 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
Masyarakat
- Silakan bergabung dengan kami di Discord untuk diskusi dan dukungan lebih lanjut!
- Snapshotting bebas khawatir!
Proyek dilisensikan di bawah lisensi AGPLV3