Voordat u een communityscript op uw Proxmox-host draait: vijf dingen om te lezen
Communityscripts dragen echte kennis en besparen echte uren. Ze worden ook meestal als root gedraaid op de ene machine die u niet kunt missen, vanuit één geplakte regel die niemand heeft gelezen. De oplossing is niet ze mijden, maar ze lezen.
AtlasPVE ·
Dit artikel beantwoordt
- zijn proxmox community scripts veilig
- proxmox community scripts
- helper script installeren proxmox
- curl bash script risico
- script installeren op proxmox host
Communityscripts zijn echt goed. Ze dragen kennis waar iemand met verloren avonden voor betaald heeft, ze vangen de vervelende gevallen op waar u om middernacht tegenaan zou zijn gelopen, en voor veel taken is het script beter dan wat u zelf had geschreven. Dit artikel is geen pleidooi ertegen.
Het gaat over één specifiek gat. Een pakketinstallatie en een geplakt eenregelig script zien er op het scherm even alledaags uit, en ze zijn totaal niet hetzelfde.
Wat een pakket geeft en een geplakte regel niet
Een handtekening. Pakketten zijn ondertekend en de handtekening wordt gecontroleerd. Een adres wordt alleen gecontroleerd tegen uw aanname dat het adres klopt.
Een versie. U kunt zeggen welke versie u hebt, en degene die u helpt ook. "Het script uit de handleiding, een paar weken geleden" is geen versie.
Een verwijderpad. Pakketten houden bij wat ze hebben geplaatst en kunnen het weghalen. Een script plaatst vaak bestanden op zes plekken en herinnert zich dat niet.
Een relatie met een onderhouder. Verandert een pakket van gedrag, dan is er een wijzigingslogboek. Een script kan onder hetzelfde adres veranderen zonder iets achter te laten om te lezen.
Niets hiervan maakt scripts slecht. Het maakt ze een ander soort ding, dat een andere gewoonte verdient.
De vijf dingen om te lezen
Niet het hele script, en niet regel voor regel. Deze vijf antwoorden zijn meestal in één keer zichtbaar.
① Wat raakt het buiten zijn eigen map? Een script dat alleen onder zijn eigen map schrijft, is makkelijk te overzien. Een script dat bestanden in systeemconfiguratiemappen bewerkt, maakt wijzigingen die het overleven.
② Voegt het een repository of een sleutel toe? Dat is in de meeste scripts de regel met de zwaarste gevolgen en hij schiet in een seconde voorbij. Een pakketbron toevoegen betekent dat elke toekomstige update op die machine een nieuwe partij vertrouwt. Dat kan volkomen redelijk zijn en het hoort een beslissing te zijn, geen bijeffect.
③ Raakt het opstart, kernel of netwerk? Dit zijn de drie die een host onbereikbaar of onstartbaar kunnen maken, en op een hypervisor betekent dat alles erop meegaat. Een script dat een webtoepassing installeert heeft niets te zoeken in de bootloaderconfiguratie, en als het dat wel doet, is het de moeite waard dat vooraf te begrijpen.
④ Is er een weg terug? Zoek naar een verwijderroutine of anders naar een lijst van wat het heeft aangemaakt. Ontbreken beide, dan is uw weg terug een vooraf gemaakte snapshot, wat betekent dat u er een moet maken.
⑤ Wat gebeurt er als het twee keer draait? Veel scripts zijn geschreven voor een schone machine, en een tweede ronde verdubbelt regels, zet configuratie terug die u had aangepast, of struikelt halverwege en laat een halve toestand achter. U gaat het ooit twee keer draaien, meestal omdat de eerste keer leek te mislukken.
De geplakte regel, specifiek
Het patroon van een script ophalen en meteen in een shell pijpen heeft één eigenschap die het benoemen waard is: u kunt niet lezen wat u hebt uitgevoerd. Niet "u deed het niet", u kunt het niet, want het is nooit een bestand geweest.
Er is ook een subtielere variant. Het script in uw browser lezen en het ophaal-en-pijp commando uitvoeren zijn twee losse verzoeken. Niets garandeert dat ze dezelfde bytes teruggaven.
De oplossing kost één extra stap. Download het bestand, kijk ernaar, draai dan de lokale kopie. Nu weet u wat er draaide, kunt u later exact hetzelfde opnieuw draaien, en als er iets breekt hebt u de echte tekst in plaats van de herinnering aan een webpagina.
Een hypervisor is geen plek om te proberen
Dit is wat een Proxmox-host van een laptop scheidt. Al het andere op de machine ligt eronder. Een script dat een laptop in een rare toestand achterlaat kost u een avond; hetzelfde script op een host neemt elke virtuele machine mee.
Twee gewoonten maken bijna dit alles veilig:
Draai het eerst in een virtuele machine als dat aannemelijk kan. De meeste scripts die een dienst installeren hoeven helemaal niet op de host te staan. Dat is geen omweg, dat is meestal de juiste plek.
Moet het echt op de host draaien, eerst een snapshot. Niet omdat het script verdacht is, maar omdat "ik probeer het even" precies de zin is die voorafgaat aan het nodig hebben van een weg terug.
Wat dit artikel niet is
Geen reden om de community te wantrouwen. De gedeelde scripts horen bij het beste van dit ecosysteem, en de auteurs zijn meestal zorgvuldiger dan de mensen die ze draaien.
Geen reden om elke regel te lezen. Vijf vragen in één keer volstaan om de soort verrassing te vangen die echt pijn doet.
Wat Atlas doet
Atlas maakt een snapshot vóór bewerkingen die de hosttoestand veranderen, zodat de weg terug bestaat zonder dat u eraan hoeft te denken hem te maken. Dat dekt stap vier van de lijst hierboven, precies de stap die wordt overgeslagen.
Het auditlogboek noteert wie wat, wanneer, waarop en met welk resultaat heeft uitgevoerd, waarmee "er is vorige dinsdag iets veranderd" een leesbaar antwoord wordt in plaats van een onderzoek.
De bronketen helpt meer achteraf dan bij het besluit: gedraagt iets zich na een installatie anders, dan laat de kaart zien hoe de machine er nu werkelijk uitziet, van de gasten tot de fysieke schijven.
En waar Atlas zelf software installeert, via de toepassingscatalogus, ligt de versie vast, is de bron vast en wordt vóór het begin een herstelpunt genomen. Dat is een bewust smal, samengesteld pad en het vervangt communityscripts niet. Het zijn simpelweg dezelfde vijf vragen, vooraf beantwoord voor de toepassingen die het draagt.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.