ARCHINSTALL(1) python-archinstall ARCHINSTALL(1)

archinstall - documentație archinstall

archinstall este o bibliotecă care poate fi utilizată pentru a instala Arch Linux. Biblioteca vine împachetată cu diferite instalatoare pre-configurate, cum ar fi programul de instalare implicit Guided installation.

Un demo al programului de instalare Guided installation poate fi văzut aici: https://www.youtube.com/watch?v=9Xt7X_Iqg6E.

Unele dintre caracteristicile lui archinstall sunt:

  • Context amiabil Biblioteca execută întotdeauna apelurile în ordine secvențială pentru a se asigura că etapele de instalare nu se suprapun sau nu se execută în ordinea greșită. De asemenea, acceptă (și utilizează) învăluitoare de context pentru a se asigura că sarcinile de curățare și cele finale, cum ar fi mkinitcpio, sunt apelate atunci când este necesar.
  • Transparență totală Jurnalele și informațiile pot fi găsite la /var/log/archinstall atât în ISO-ul live, cât și parțial pe sistemul instalat.
  • Accesibilitate ușoară Archinstall funcționează cu espeakup și alte instrumente de accesibilitate datorită utilizării unei interfețe tactile cu utilizatorul („touch user interface”: TUI).

Archinstall este livrat cu un program de instalare ghidat Guided Installer pre-programat care vă ghidează prin pașii obligatorii, precum și prin unele configurații opționale care pot fi efectuate.

NOTĂ:

Alte scripturi preprogramate pot fi invocate executând archinstall <script> (fără .py). Pentru a vedea o listă completă de scripturi, executați archinstall --script list sau verificați codul sursă din directorul scripts.

NOTĂ:

Este recomandat să rulați archinstall din ISO-ul oficial Arch Linux.

AVERTISMENT:

Programul de instalare nu va configura WiFi înainte de începerea instalării. Trebuie să citiți despre conectarea la rețea în Arch Linux (Arch Linux networking) înainte de a continua.

Pentru a porni programul de instalare, rulați următoarele în cea mai recentă versiune ISO Arch Linux:

archinstall

Deoarece Guided Installer este scriptul implicit, acesta este echivalentul executării archinstall guided

Instalarea ghidată permite, de asemenea, instalarea cu răspunsuri preconfigurate la toți pașii ghidați. Aceasta poate fi o modalitate rapidă și convenabilă de a relua una sau mai multe instalări.

Există două fișiere de configurare, ambele sunt opționale.

--config

Acest parametru ia ca argument un fișier .json local sau la distanță și conține configurația generală și răspunsurile la meniul pentru programul de instalare ghidat.

NOTĂ:

Puteți obține întotdeauna cele mai recente opțiuni pentru acest fișier cu archinstall --dry-run, care execută programul de instalare ghidat într-un mod sigur, în care nu se vor efectua acțiuni permanente pe sistemul dumneavoastră, ci se va simula o execuție și se va salva configurația pe disc.

archinstall --config https://domain.lan/config.json

Conținutul lui https://domain.lan/config.json:

{
    "__separator__": null,
    "additional-repositories": [],
    "archinstall-language": "English",
    "audio_config": null,
    "bootloader": "Systemd-boot",
    "config_version": "2.6.0",
    "debug": false,
    "disk_config": {
        "config_type": "manual_partitioning",
        "device_modifications": [
            {
                "device": "/dev/sda",
                "partitions": [
                    {
                        "btrfs": [],
                        "flags": [
                            "boot"
                        ],
                        "fs_type": "fat32",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "B",
                            "value": 99982592
                        },
                        "mount_options": [],
                        "mountpoint": "/boot",
                        "obj_id": "369f31a8-2781-4d6b-96e7-75680552b7c9",
                        "start": {
                            "sector_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 512
                            },
                            "total_size": null,
                            "unit": "sectors",
                            "value": 34
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [],
                        "flags": [],
                        "fs_type": "fat32",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "B",
                            "value": 100000000
                        },
                        "mount_options": [],
                        "mountpoint": "/efi",
                        "obj_id": "13cf2c96-8b0f-4ade-abaa-c530be589aad",
                        "start": {
                            "sector_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 512
                            },
                            "total_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 16106127360
                            },
                            "unit": "MB",
                            "value": 100
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [],
                        "flags": [],
                        "fs_type": "ext4",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "B",
                            "value": 15805127360
                        },
                        "mount_options": [],
                        "mountpoint": "/",
                        "obj_id": "3e75d045-21a4-429d-897e-8ec19a006e8b",
                        "start": {
                            "sector_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 512
                            },
                            "total_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 16106127360
                            },
                            "unit": "MB",
                            "value": 301
                        },
                        "status": "create",
                        "type": "primary"
                    }
                ],
                "wipe": false
            }
        ]
    },
    "disk_encryption": {
        "encryption_type": "luks",
        "partitions": [
            "3e75d045-21a4-429d-897e-8ec19a006e8b"
        ]
    },
    "hostname": "archlinux",
    "kernels": [
        "linux"
    ],
    "locale_config": {
        "kb_layout": "us",
        "sys_enc": "UTF-8",
        "sys_lang": "en_US"
    },
    "mirror_config": {
        "custom_mirrors": [],
        "mirror_regions": {
            "Sweden": [
                "https://mirror.osbeck.com/archlinux/$repo/os/$arch",
                "https://mirror.bahnhof.net/pub/archlinux/$repo/os/$arch",
                "https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch",
                "https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch",
                "https://ftp.ludd.ltu.se/mirrors/archlinux/$repo/os/$arch",
                "https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch",
                "http://mirror.bahnhof.net/pub/archlinux/$repo/os/$arch",
                "http://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch",
                "http://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch",
                "http://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch",
                "http://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch"
            ]
        }
    },
    "network_config": {},
    "no_pkg_lookups": false,
    "ntp": true,
    "offline": false,
    "packages": [],
    "parallel downloads": 0,
    "profile_config": null,
    "save_config": null,
    "script": "guided",
    "silent": false,
    "swap": true,
    "timezone": "UTC",
    "version": "2.6.0"
}

opțiuni „--config”

AVERTISMENT:

Toate intrările de chei și valori trebuie să fie conforme cu standardul JSON. Mai jos sunt prezentate exemple ușor de citit de către om, cu trimiteri, rupând efectiv sintaxa. Adaptați descrierile de mai jos pentru a se potrivi nevoilor dvs. și formatului JSON.

NOTĂ:

Derulați la dreapta în tabel pentru a vedea opțiunile necesare.

opțiuni JSON

Cheie Valoare(i) Descriere Necesar
additional-repositories [ multilib, testing ] Activează unul sau mai multe dintre depozitele de testare și multilib înainte de a continua cu instalarea Nu
archinstall-language lang Stabilește limba utilizată de TUI (asigurați-vă că utilizați valoarea ``lang`` și nu valoarea ``abbr``) Nu
audio_config pipewire, pulseaudio Serverul audio care urmează să fie instalat Nu
bootloader Systemd-boot, grub Încărcătorul de pornire care trebuie instalat (grub fiind obligatoriu pe mașinile cu BIOS) Da
debug true, false Activează ieșirea de depanare. Nu
disk_config Citiți mai multe la Configurare disc Conține configurația de disc dorită pentru a fi utilizată în timpul instalării Nu
disk_encryption Citiți mai multe la Criptare disc Parametrii pentru criptarea discului aplicată peste disk_config Nu
hostname șir Un șir de caractere care definește numele de gazdă al mașinii dvs. în rețea (implicit ``archinstall``) Nu
kernels [ linux, linux-hardened, linux-lts, linux-rt, linux-rt-lts, linux-zen ] Definește ce nuclee ar trebui instalate și configurate în opțiunile încărcătorului de pornire Da
custom-commands Citiți mai multe la Comenzi personalizate Comenzi personalizate care vor fi executate post-instalare cu «chroot» în interiorul sistemului instalat Nu
locale_config {kb_layout: lang, sys_enc: Character encoding, sys_lang: locale} Definește aranjamentul tastaturii, codificarea sistemului și limba sistemului Nu
mirror_config {custom_mirrors: [ https://... ], mirror_regions: { "Worldwide": [ "https://geo.mirror.pkgbuild.com/$repo/os/$arch" ] } } Definește diferite oglinzi (valoarea implicită este ``/etc/pacman.d/mirrors`` din ISO dacă nu este definită) Nu
network_config `consultați opțiunile din secțiunea Configurare rețea` Stabilește ce tip de configurație de rețea (dacă există) trebuie să fie utilizat Nu
no_pkg_lookups true, false Dezactivează verificarea pachetelor în raport cu https://archlinux.org/packages/ Nu
ntp true, false activează sau dezactivează NTP în timpul instalării Nu
offline true, false activează sau dezactivează anumite verificări ale serviciilor din rețea, cum ar fi disponibilitatea de acces la oglindă etc. Nu
packages [ <pachet1>, <pachet2>, ... ] O listă de pachete pentru instalare în timpul instalării Nu
parallel downloads 0-∞ stabilește un număr dat de descărcări paralele care urmează să fie utilizate de pacman Nu
profile_config `citiți mai multe în secțiunea profiluri` Instalează un profil dat, dacă este definit Nu
script guided (implicit), minimal, only_hdd, unattended Atunci când este utilizat pentru a lansa automat o instalare, stabilește scriptul cu care urmează să fie lansat automat Nu
silent true, false dezactivează sau activează întrebările utilizatorului folosind TUI Nu
swap true, false activează sau dezactivează spațiul de interschimb (swap) Nu
timezone timezone stabilește un fus orar pentru sistemul instalat Nu

NOTĂ:

Dacă nu sunt găsite intrări în disk_config, instalarea ghidată archinstall va utiliza orice este montat în prezent în /mnt/archinstall fără a efectua nicio operație pe disc.

Creds este un fișier de configurare separat pentru a separa opțiunile normale de datele mai sensibile, cum ar fi parolele. Mai jos este prezentat un exemplu de definire a parolei root, iar mai jos sunt descrise alte valori care pot fi definite.

{
    "!root-password" : "SecretSfânt2022"
}

opțiuni „--creds”

Cheie Valori Descriere Necesar
!encryption-password șir Parola pentru criptarea discului, nu este criptat dacă nu este furnizată parola Nu
!root-password șir Parola contului de root Nu
!users 0.0 3.5 { "username": "<UTILIZATOR>", "!password": "<PAROLĂ>", "sudo": false } 168u 168u Lista acreditărilor utilizatorului obișnuit, a se vedea configurația pentru referință Poate că

NOTĂ:

!users este opțional numai dacă !root-password a fost definit. În caz contrar, !users va fi impus, iar numărul minim de utilizatori cu privilegii sudo necesar va fi fixat la 1.

NOTĂ:

Cheile încep cu ! deoarece funcțiile interne de jurnalizare vor masca orice cheie care începe cu exclamație din jurnale și din configurațiile nerestricționate.

Unele probleme nu fac parte din sfera de aplicare a proiectelor archinstall, iar cele despre care știm sunt enumerate mai jos.

Cauza principală obișnuită a acestei situații este topologia rețelei. Mai precis, timedatectl show nu poate efectua o sincronizare corectă a orei cu serverele implicite.

Repornirea systemd-timesyncd.service ar putea funcționa, dar cel mai adesea trebuie să configurați /etc/systemd/timesyncd.conf pentru a se potrivi cu structura rețelei dumneavoastră.

NOTĂ:

Dacă știți că ora este corectă pe mașină, puteți rula archinstall --skip-ntp pentru a ignora sincronizarea cu ora.

În unele cazuri, este posibil ca controlorul nvidia să nu aibă instalate toate pachetele necesare. Acest lucru se datorează selecției nucleului și/sau configurațiilor de componente ale mașinii care necesită pachete suplimentare pentru a funcționa corect.

O soluție comună este să instalați pachetul linux-headers și pachetul nvidia-dkms

Acesta este un fel de problemă cunoscută. Oficial x86_64 este acceptat doar de Arch Linux. Prin urmare, puține eforturi au fost depuse pentru a sprijini alte platforme.

În teorie, alte arhitecturi ar trebui să funcționeze, dar pot apărea mici ciudățenii.

PR-urile (pull-requests) sunt binevenite, dar vă rugăm să respectați întârzierile în fuzionare. Alte remedieri, probleme sau caracteristici vor fi prioritizate conform motivelor de mai sus.

Problemele cheie care lipsesc tind să fie faptul că pachetul archlinux-keyring nu este actualizat, de obicei ca urmare a unei ISO învechite. Există o încercare din partea upstream de a rezolva această problemă, și aceasta este archlinux-keyring-wkd-sync.service

Serviciul pornește aproape imediat în timpul pornirii, iar dacă rețeaua nu este configurată la timp - serviciul va eșua. Ulterior, execuția archinstall ar putea funcționa pe un inel de chei vechi, în ciuda existenței unui serviciu de actualizare pentru acesta.

Nu există nicio modalitate fiabilă de a rezolva în timp această problemă în archinstall. În schimb, eforturile pentru serviciul din amonte ar trebui să fie considerate calea de urmat. Și / sau chei care nu expiră între o cantitate rezonabilă de ISO-uri.

NOTĂ:

Problema poate apărea și la noile ISO-uri, chiar și la câteva zile după lansare, deoarece unele chei pot expira imediat după ce inelul de chei este „inscripționat” în ISO.

NOTĂ:

O altă problemă frecventă legată de faptul că rețeaua nu este configurată este că ora poate să nu fie configurată corect, ceea ce face ca inelul de chei să nu poată fi actualizat. Consultați „se așteaptă pentru sincronizara orei”Waiting for time sync #2144.

Aceasta este, de asemenea, o problemă generală. AUR nu este admis, și până când acest lucru nu se schimbă nu putem folosi pachetele AUR pentru a rezolva cererile de caracteristici în archinstall.

Acest lucru înseamnă că cererile de caracteristici, cum ar fi suportul pentru sisteme de fișiere precum ZFS nu pot fi adăugate, iar problemele nu pot fi rezolvate nici prin utilizarea pachetelor AUR.

NOTĂ:

Dar în spiritul oferirii de opțiuni comunității, archinstall acceptă module Python Python Plugins, ceea ce înseamnă că puteți rula archinstall --plugin <url> și puteți găsi sursa unui modul AUR.

torxed/archinstall-aur este o implementare de referință pentru module:

# archinstall --plugin https://archlinux.life/aur-plugin

phisch/archinstall-aur este o altă alternativă:

# archinstall --plugin https://raw.githubusercontent.com/phisch/archinstall-aur/master/archinstall-aur.py

AVERTISMENT:

Acest lucru va permite utilizarea fără suport a AUR în timpul instalării.

Problemele și erorile ar trebui raportate la https://github.com/archlinux/archinstall/issues.

Întrebările generale, îmbunătățirile și problemele de securitate pot fi raportate și acolo. Pentru rezolvări rapide sau dacă aveți nevoie de ajutor, accesați serverul Discord, care are un canal de ajutor.

Atunci când trimiteți un tichet de ajutor, vă rugăm să includeți /var/log/archinstall/install.log. Acesta poate fi găsit atât pe ISO-ul live, dar și în sistemul de fișiere instalat dacă pachetele de bază au fost atașate.

SFAT:

O modalitate ușoară de a trimite jurnale este curl -F'file=@/var/log/archinstall/install.log' https://0x0.st.
Fiți precauți atunci când trimiteți alte fișiere jurnal, dar archinstall promite să păstreze install.log în siguranță pentru postarea publică!

Există fișiere jurnal suplimentare sub /var/log/archinstall/ care pot fi utile:

  • /var/log/archinstall/user_configuration.json - Stochează majoritatea răspunsurilor ghidate din programul de instalare
  • /var/log/archinstall/user_credentials.json - Stochează orice nume de utilizator sau parole, care pot fi pasate la --creds
  • /var/log/archinstall/user_disk_layouts.json - Stochează discurile alese și dispunerea lor
  • /var/log/archinstall/install.log - Un fișier jurnal despre pașii parcurși de archinstall
  • /var/log/archinstall/cmd_history.txt - Un istoric complet al comenzilor, comandă cu comandă în ordine
  • /var/log/archinstall/cmd_output.txt - O ieșire brută din toate comenzile care au fost executate de archinstall

AVERTISMENT:

Încercăm doar să garantăm că /var/log/archinstall/install.log este lipsit de informații sensibile. Orice alt fișier jurnal trebuie lipit cu cu cea mai mare atenție!

Există un canal discord care este frecventat de unii contributors.

Pentru a vă alătura serverului, mergeți la https://discord.gg/aDeMffrxNg și alăturați-vă. Nu există multe reguli, în afară de bunul simț și tratarea celorlalți cu respect. Discuția generală este, de asemenea, pentru lucruri care nu țin de subiect.

Există rolul @Party Animals dacă doriți notificări cu privire la noile lansări care sunt publicate în canalul #Release Party. Un alt lucru este rolul @Contributors care poate fi activat de către contributori scriind !verify și urmând procesul de verificare.

Intrați, sperăm să vă vedem acolo! : )

Archinstall se livrează pe PyPi ca archinstall. Dar biblioteca poate fi instalată și manual.

AVERTISMENT:

Acești pași nu sunt necesari dacă doriți să utilizați archinstall pe ISO-ul oficial Arch Linux.

Archinstall se află în official repositories. Și va instala de asemenea archinstall ca o bibliotecă python.

Pentru a instala atât biblioteca, cât și scriptul archinstall:

pacman -S archinstall

Alternativ, puteți instala doar biblioteca și nu executabilul ajutător utilizând pachetul python-archinstall.

Conceptul de bază al PyPi se aplică folosind pip.

pip install archinstall

De asemenea, puteți instala folosind codul sursă. Din motive de simplitate, vom utiliza git clone în acest exemplu.

git clone https://github.com/archlinux/archinstall

Puteți fie să mutați dosarul în proiectul dvs. și să faceți pur și simplu

import archinstall

Sau puteți folosi build și installer de la PyPa pentru a-l instala în ruta modulelor python.

$ cd archinstall
$ python -m build .
$ python -m installer dist/*.whl

Archinstall acceptă rularea în module (modul de modul). Modul în care biblioteca este invocată în modul modul este limitat la executarea scripturilor din dosarul scripts.

Prin urmare, este important să plasați orice script sau profil pe care doriți să îl invocați în dosarul „examples” înainte de compilare și instalare.

Vom presupune că ați urmat metoda Instalare folosind codul sursă. Înainte de instalarea efectivă a bibliotecii, va trebui să plasați scripturile de instalare personalizate sub scripts ca fișier python.

Mai multe despre modul de creare a acestora în secțiunea următoare.

AVERTISMENT:

Acest lucru se poate schimba în viitor, deoarece această metodă este în prezent un pic rigidă. Ruta scriptului va deveni un parametru. Dar, pentru moment, acest lucru este de la nivel de concepție.

Să creăm un program de instalare test_installer - ca exemplu. Aceasta presupunând că dosarul ./archinstall este o clonă git a depozitului principal. Începem prin a crea „scripts/test_installer.py”. Plasarea aici este importantă mai târziu.

Acest script poate fi acum deja apelat folosind python -m archinstall test_installer după o instalare reușită a bibliotecii în sine. Dar scriptul nu va face prea multe. Așa că vom face ceva simplu, cum ar fi listarea tuturor discurilor dure, ca exemplu.

Pentru a face acest lucru, vom începe prin a importa archinstall în „scripts/test_installer.py” și vom apela o funcție în archinstall.

import archinstall
print(archinstall.disk.device_handler.devices)

Acum, continuați și faceți referire la metoda de instalare Instalarea folosind codul sursă. După rularea python -m archinstall test_installer ar trebui să apară ceva asemănător:

[
    BDevice(
        disk=<parted.disk.Disk object at 0x7fbe17156050>,
        device_info=_DeviceInfo(
            model='PC801 NVMe SK hynix 512GB',
            path=PosixPath('/dev/nvme0n1'),
            type='nvme',
            total_size=Size(value=512110190592, unit=<Unit.B: 1>,
            sector_size=SectorSize(value=512, unit=<Unit.B: 1>)),
            free_space_regions=[
                <archinstall.lib.disk.device_model.DeviceGeometry object at 0x7fbe166c4250>,
                <archinstall.lib.disk.device_model.DeviceGeometry object at 0x7fbe166c4c50>,
                <archinstall.lib.disk.device_model.DeviceGeometry object at 0x7fbe166c4a10>],
            sector_size=SectorSize(value=512, unit=<Unit.B: 1>),
            read_only=False,
            dirty=False
        ),
        partition_infos=[
            _PartitionInfo(
                partition=<parted.partition.Partition object at 0x7fbe166c4a90>,
                name='primary',
                type=<PartitionType.Primary: 'primary'>,
                fs_type=<FilesystemType.Fat32: 'fat32'>,
                path='/dev/nvme0n1p1',
                start=Size(value=2048, unit=<Unit.sectors: 'sectors'>, sector_size=SectorSize(value=512, unit=<Unit.B: 1>)),
                length=Size(value=535822336, unit=<Unit.B: 1>, sector_size=SectorSize(value=512, unit=<Unit.B: 1>)),
                flags=[
                    <PartitionFlag.BOOT: flag_id=1, alias=None>,
                    <PartitionFlag.ESP: flag_id=18, alias=None>
                ],
                partn=1,
                partuuid='a26be943-c193-41f4-9930-9341cf5f6b19',
                uuid='6EE9-2C00',
                disk=<parted.disk.Disk object at 0x7fbe17156050>,
                mountpoints=[
                    PosixPath('/boot')
                ],
                btrfs_subvol_infos=[]
            ),
            _PartitionInfo(...)
        ]
    )
]

Aceasta înseamnă că scriptul dvs. se află în locul potrivit, iar archinstall funcționează conform planului.

NOTĂ:

Majoritatea apelurilor, inclusiv cel de mai sus, necesită privilegii root.

archinstall acceptă module prin două metode.

Prima metodă este direct prin parametrul --plugin atunci când rulează ca instrument CLI. Aceasta va încărca un anumit modul plugin local sau de la distanță prin intermediul unei rute.

A doua metodă este prin intermediul lui Python construit în plugin discovery folosind entry points clasificat ca archinstall.plugin.

--plugin parametru

Parametrul are avantajul de a fi stocat în starea --conf, ceea ce înseamnă că atunci când se rulează din nou o instalare - modulul va fi încărcat automat. Limitarea sa este că necesită ca o rută inițială să fie cunoscută și scrisă și să fie complicată.

Această metodă permite încărcarea mai multor module, cu dezavantajul că acestea trebuie să fie instalate în prealabil în sistemul care rulează archinstall. Acest lucru îi vizează în principal pe cei care își construiesc propriile ISO-uri și pachete de configurare specifice pentru nevoile lor.

În prezent, documentația pentru acest lucru este săracă. Până la rezolvarea acestei probleme, cel mai bun mod de a găsi caracteristicile acceptate este de a căuta în codul sursă plugin.on_, deoarece acest lucru va oferi o indicație clară a apelurilor efectuate către module.

Modulele archinstall utilizează o abordare bazată pe descoperire în care modulele sunt interogate pentru anumite funcții. Ca exemplu, dacă un modul plugin are următoarea funcție:

def on_pacstrap(*packages):
    ...

Funcția archinstall.Pacman().strap([„unele pachete”]) este codificată pentru a itera modulele și pentru a căuta on_pacstrap în modul. Dacă funcția există, .strap() va apela funcția modulului și va înlocui lista inițială de pachete cu rezultatul din modul.

Cel mai bun mod de a documenta aceste apeluri este în prezent nedecis, deoarece este greu de documentat acest comportament dinamic.

Cea mai simplă modalitate actuală este de a consulta o implementare de referință sau comunitatea. Două dintre acestea sunt:

Și căutați plugin.on_ în codul de bază pentru a afla ce va căuta archinstall. PR-urile „pull-requests” sunt binevenite pentru a lărgi suportul pentru acest lucru.

Programul de instalare este clasa principală pentru accesarea unei instanțe de instalare. Puteți considera această clasă ca fiind instalația pe care ați efectuat-o sau o veți efectua.

Orice este legat de în interiorul instalației, va fi găsit în această clasă.

Anton Hvornum

2022, Anton Hvornum

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

23 ianuarie 2025