Uważam, że bardzo wygodne jest instalowanie pakietów na nowej maszynie za pomocą plików pakietów, takich jak pliki brewfile, pliki beczek, pliki dockerfiles, package.json itp.
Czy istnieje alternatywa dla apt-get, ponieważ nadal używam go
za pomocą wiersza poleceń z
apt-get install pkg1 pkg2 pkg3…
?
xargs
:xargs -P1 apt-get install < list-of-packages
.<
jest powłoka przekierowania. W przypadku wielu plików użyj:cat file1 file2 .. | xargs -P1 apt-get install
Odpowiedzi:
Jak określono w komentarzach do twojego pytania, możesz zbudować prosty plik tekstowy o nazwie
packages.txt
, zawierający listę pakietów do zainstalowania:a następnie uruchom następujące polecenie:
xargs służy do przekazywania nazw pakietów z
packages.txt
pliku do wiersza poleceń. Ze strony podręcznika:źródło
Poprawiając nieco odpowiedź @ ortomala-lokni, możesz podać plik bezpośrednio jako argument do
xargs
:Ewentualnie można dać
xargs
się-r
opcja, aby zapobiecapt-get
połączenia z bycia prowadzony w ogóle jeślipackages.txt
nie zawiera żadnych znaków spoza spacji.źródło
-a
arg nie został udokumentowany i nie wydają się działać tam:xargs: unrecognized option: a
. Pokazane wyniki mojej wersji toBusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
działa dla mnie w obie strony, upewnij się, że masz najnowsze xargs, lub w inny sposób sprawdź, czy ma opcję -a, czy nie z opcją pomocy (xargs --help)
źródło
Oprócz bardziej ogólnych rozwiązań skryptowych możesz utworzyć pakiet deb.
będziesz potrzebować
equivs-build
, aby zbudować deb. Deb może zawierać tylko zależności. To jest uproszczony kreator debów.gdebi
zainstalować deb.Działa to na wszystkich systemach opartych na Debianie (systemach korzystających z plików apt / deb).
Zaletą robienia tego z plikami deb, w przeciwieństwie do skryptu powłoki, jest to, że o wiele łatwiej jest cofnąć, można odinstalować deb, ponownie skonfigurować deb i ponownie go zainstalować (spowoduje to, że pliki będą dodane i usunięte).
źródło