
[čeština] | [中文] | [پارم]
このreadmeを翻訳するためにあなたの助けが必要です。ここを見てください!
このプロジェクトの目的のために、「Pythonic」の方法に準拠することは、将来のように目標ではなかったため、実装は錆、C、C ++などに変わる可能性があることに注意してください。
あなたはいつもFedora rawhideを試してみたいと思っていましたが、数日後、その脆弱性はあなたの神経になりました。その後、Fedora Silverblue Rawhideを試したかもしれませんが、その後、その複雑でゆっくりとしたGitのようなOstree操作があなたの気分を殺しました!まあ、もう!これで、この出血エッジディストリビューション(およびDebian Sidのような多くのディストリビューション)を試してみることができます。 Ashosは、オペレーティングシステムをインストールするための究極の柔軟性を提供します。たとえば、不変のProxmox Veを簡単にセットアップできます。
Ashosは、次のようなユニークなメタ分布です。
最初はArch Linuxに触発されたAshosは、不変(読み取り専用の)ルートファイルシステムを使用して、他のどのディストリビューションからも際立っています。ソフトウェアがインストールされ、個々のスナップショットツリーに構成されているため、展開して起動できます。さらに別のパッケージ形式やパッケージマネージャーを発明するのではなく、ArchのPacmanなどのネイティブパッケージマネージャーに依存しています。
灰は世界で最も古い木の1つであり、アシュスの命名に影響を与えました。
Ashosには、いくつかのキーワードがあります。
これにはいくつかの利点があります。
安全
安定性と信頼性
構成可能性
その信頼性と自動アップグレードのおかげで、Ashosは単一使用または組み込みデバイスに適しています
また、開発コンテナとデスクトップアプリケーション用のフラットパックを利用して、優れたワークステーションまたは一般的な配信を実現します
重要なメモ:最初に仮想マシンでAshosを試してから、それを快適に取り付けてから、ベアメタルに取り付けます。 Ashosインストーラーは *冷酷であり、ユーザーが自分が何をしているかを知っていると想定しています。ディスクを拭くようにインストーラーを実行します!
Ashosは最小限の固体であり、LEGOのような構造に従うよう努めているため(小さなスタート、カスタマイズのようにカスタマイズ)、主にベースに開発を集中します。これは、チームが多くのディストリビューションで多くのDESをサポートする必要があるため、設計によるものです。提供されるのはprofilesです。 DES/WMSは単なるパッケージであり、スナップショットの力があるため、ASHを使用して目的のDE/WMをインストールできます。たとえば、snapshot 1にgnomeをインストールするには:
`ash clone 0` : create snapshot #1
`ash install 1 -P gnome` : install gnome in snapshot #1
`ash deploy 1`
`reboot`
./src/prep/のスクリプトを実行すること(ライブ環境とパーティション/フォーマットの準備)のスクリプトを実行することが非常に重要です。そうしないと、デフォルトではインストーラーがこれらのスクリプトを呼び出すため、エラーがあります。# Fix signature invalid errorでコマンド./src/prep/arch-live.sh実行します。 ash branch 0 # This produces node #N
ash install N --profile gnome
ash deploy N
最初にgitをインストールする - これにより、インストールスクリプトをダウンロードできます
pacman -Sy git
クローンリポジトリ
git clone "https://github.com/ashos/ashos"
cd ashos
パーティションおよびフォーマットドライブ
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.
四角い括弧内の引数はオプションです。 4番目の議論について:Arch Linux ISOを使用してAlpine Linuxをインストールする場合は、 python3 setup.py /dev/vda2 /dev/vda /dev/vda1 alpineを実行します。
ash clone 0を使用してbaseから新しいスナップショットを作成することから始めますash chroot <snapshot> )内のChrootとセットアップを開始しますuseradd usernamepasswd usernameを設定しますpasswd rootの新しいパスワードを設定しますexitでクルートを終了しますash deploy <snapshot>で展開できますash --helpを使用して、利用可能なすべてのコマンドのクイックチートシートを取得できます0ベースシステムスナップショット用に予約されており、変更することはできず、 ash base-updateを使用してのみ更新できます ash tree
root - root
├── 0 - base snapshot
└── 1 - multi-user system
└── 4 - applications
├── 6 - MATE full desktop
└── 2*- Plasma full desktop
アスタリスクは、どのスナップショットがデフォルトとして選択されているかを示しています
また、現在起動されているスナップショットの数のみを取得することもできます
ash current
ash desc <snapshot> <description>
ash del <tree>
/etc/default/grubを編集してから、スナップショットを展開して再起動します--chrootがあります。exitで適切に終了する必要があります。そうしないと、行われた変更は保存されませんexitで「クリーン」の方法を出場しない場合は、残された一時ファイルをクリアしてash tmpを実行することをお勧めします ash chroot <snapshot>
ash live-chroot
ash run <snapshot> <command>
ash tree-run <tree> <command>
ash clone <snapshot>
ash clone-tree <snapshot>
ash branch <snapshot-to-branch-from>
ash cbranch <snapshot>
ash ubranch <parent> <snapshot>
ash new
ash deploy <snapshot>
ash base-update
/.snapshots/rootfs/snapshot-0 rootfs/snapshot-0にある特定の/varファイルと/etcにある/.snapshots/var/var-0および/.snapshots/etc/etc-0にあります。 ash deploy <snapshot>実行して再起動し、変更が適用されるために新しいソフトウェアをインストールした後(ライブインストールを使用しない限り、以下の詳細)これはデフォルトでは必要ありません。 ash install <snapshot> <package>
ash sync <tree>
ash sync <tree> -f
ash install <snapshot> -p <package> --live
ash remove <snapshot> <package or packages>
ash tree-rmpkg <tree> <pacakge or packages>
更新する前にスナップショットをクローンすることをお勧めしますので、失敗の場合にロールバックできます
このアップデートは、ASH自体を更新するためにシステムパッケージのみを更新しますこのセクションを参照してください
単一のスナップショットを更新します
ash upgrade <snapshot>
ash tree-upgrade <tree>
これは、簡単で安全な自動更新のために、スクリプト(つまり、crontabスクリプト)で構成できます
更新後にシステムが起動できなくなった場合、最後の作業展開(Grubメニューで選択)を起動してから、ロールバックを実行できます
ash rollback
ステップ0:
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
ash edit <snapshot>
/etc /sudoersのラインをスキップできることに注意してくださいが、代わりに「sudo -e ash edit」と入力してsudoで環境変数を渡す必要があることに注意してください。
/etcで作成された構成の変更を永続的に保存しますash chrootで実行する必要がありますが、ブートシステムに行った変更を永続的に適用する場合があります ash etc-update
/etcを変更して、これらの変更を保存してシステムを構成できます。 os-proberパッケージをインストールすることから始めなければなりません。 ash install <snapshot> os-prober
ash chroot <snapshot>
echo 'GRUB_DISABLE_OS_PROBER=false' >> /etc/default/grub
exit
ash deploy <snapshot>
Windowsが検出された場合、Ashは、 Found Windows Boot Manager on...のラインに沿って出力を返す必要があります。 Windowsエントリが表示されない場合は、最初にntfs-3gをインストールし、再デプロイする必要がある場合があります。 ### Review_later
ash upgradeを使用すると、ASHはシステムと一緒に更新されません ash upself
ファイルシステムのさまざまな部分への読み取りワイトアクセス: /.snapshots/rootfs/snapshot-*:ro /.snapshots/etc/etc-*:ro /var:rw /:roとしてマウントされていますが、スナップショット自体はRW /USR:RO /などです:RW
GNOMEおよびKDEプロファイルの場合、ユーザーはデフォルトとして物事を機能させるだけであると仮定しているため、デフォルトのログインマネージャーをインストールしています。他のプロファイルについては、ミニマリズムに焦点を当て、TBSMをインストールするだけです。選択した場合、明らかにこれを簡単に変更できます。
古いISOファイルを使用する場合は、対応するディストリビューション用のPREPスクリプトのfixdb行を必ず確認してください。それ以外の場合は、インストールが成功したとしても、ディストリビューションで起動すると同期パッケージマネージャーのDBエラーを取得できる場合があります。このFIXDBは、インストールプロセスの最初の部分を非常に遅くすることができますが、それだけの価値があるかもしれません。
これらはいくつかの高度な機能であり、破損、データのバックアップ、時折の修正の準備ができている場合にのみ使用することをお勧めします。彼らはプライムタイムの準備ができていないかもしれません。
異なるディストリビューションをマルチブートするには、通常、この手順に従います。
LUKS2を使用したフルディスク暗号化が実装されています。これは、V2.06以降のGRUBの実験的特徴である暗号化 /ブートも意味します。現在、主流では、PBKDF2のみをサポートしており、デフォルトのArgon2ではありません。たとえば、Cryptomount Decryptionが8kbのキーファイルで約30秒であるため、これによりブートが大幅に遅くなります。他のOSでマルチブートする予定がある場合は、この機能をまだ使用しないでください! Grubのモニター開発を緊密に開発し、できるだけ早く更新します。
Ashosのカスタマイズ可能性の美しさは、不変と不明瞭なノードを組み合わせてできることです!アシュスの森の森の中で、スナップショット(ベース0以外)の可変を作ることができます。たとえば、Node 9 Mutable Run sudo ash immen 9を作成します。これにより、ノードと子供(後に作成された)が変動します。
sed -e 's| >/dev/null 2>&1||g' /usr/bin/ash > ashpk.py
quiet削除しますjournalctl -b実行して報告しますremove ioctl device or resource busy警告があります。彼らは無視することができます。最も可能性の高い原因:SystemD-Journald sudo chmod 666 /var/run/docker.sock
./src/profiles/の下をご覧になり、欠落している場合はデスクトップ環境またはWindowsマネージャーを追加してください。可能な限り最小限でバニラになるようにしてください。パッケージが異なるディストリビューションに異なる名前がある場合(ArchのNetworkManagerやDebianのネットワークマネージャーなど、gnome:packages-arch.txt vs. packages-debian.txtの下のプロファイルのディストリビューションサフィックスを備えたファイルを作成します。# 1.から# 6. )のみを新しいOSに適応させる必要があります。 ashpk.pyの場合、コマンドを新しいパッケージマネージャーに変換します。### YOUR_COMMENTでそれを示しますash remove <snapshot> paru EDITOR=nano ash edit-conf <snapshot> # set the EDITOR variable
aur::True
ash installとash upgradeを使用できます ash install <snapshots> archlinux-keyring
これが問題を解決しなかった場合、実行してください。
ash refresh <snapshots>
そして最後の手段として、実行:(注意:これは望ましくない効果があるかもしれません)
ash fixdb <snapshots>
ash inも失敗します。これを修正するには、実行してください。 ash un -p grub-efi grub -s <snapshot-number>
ash in -p grub-efi -s <snapshot-number>
sudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZを発行すると、インストーラーが冷凍しているように見えるかもしれませんが、実際にそのことをしています!我慢してください。約30秒でインストールを開始するためのプロンプトが表示されます。何らかの理由で、それは良い方法で何が起こっているかを示していなかったので、私はset echo offコマンドを置きました。sudo dhclientを実行しますsudo python3 setup.py /dev/sdXY /dev/sdX /dev/sdXZ proxmox "Proxmox VE"postfixに注意:ニーズに応じてインストール時にユーザー入力が必要なパッケージを構成します。ネットワークにメールサーバーがある場合は、Postfixを衛星システムとして構成する必要があります。既存のメールサーバーは、ProxMox VEから送信された電子メールを最終受信者にルーティングするリレーホストになります。ここに何を入力するかわからない場合は、ローカルのみを選択し、システム名をそのまま残してください。 singleを渡してシングルモードで起動し、Enterを押してメンテナンスを行うことができます(このインストーラーにはGUIが必要ないため、起動する方がはるかに高速です)このプロジェクトは、AGPLV3の下でライセンスされています。