De fapt, recent am scris un script pe propria mașină care, în esență, face exact asta. O fac mai întâi prin conducta la sed 's/\/.*//g'
pentru a elimina totul după slash. Apoi ieșirea este transmisă la xargs /usr/bin/sudo apt install
.
După cum a menționat @N0rbert cu privire la soluția sa, principala slăbiciune aici este că este nevoie de un singur caz de eroare (cum ar fi un repo lipsă în surse.lista
) pentru a opri întreaga operațiune. Prin urmare, dacă utilizați un fișier sursă diferit de sistemul care a generat intrarea, soluția cu care mergeți va trebui să verifice mai întâi dacă pachetul este disponibil pentru sistemul dumneavoastră. În general, alegerea dvs. va depinde de cazul (cazurile) de utilizare vizate.
De exemplu, probabil că ați putea scăpa fără să treceți sed
, dar în cazul meu, scriptul folosește tee pentru a salva lista într-un fișier și apoi face procesări ulterioare folosind fișierul ca intrare.De fapt, lista în sine este tema centrală a acelui scenariu și a altor câteva care lucrează în tandem cu acesta.
Câteva note: nu trebuie să vă faceți griji pentru a verifica dacă pachetul este sau nu deja instalat pe computer. Dacă este, apt îl va omite pur și simplu. De asemenea, deoarece sunteți pe cale să instalați destul de multe pachete atunci când rulați, este o idee bună să începeți cu sudo apt update && sudo apt upgrade
comanda. Acest lucru vă va scuti de a descărca o mulțime de pachete doar pentru a ajunge să descărcați o versiune puțin mai nouă pentru multe dintre ele puțin mai târziu.