brewfiles、caskfiles、dockerfiles、package.jsonなどのパッケージファイルを使用して、新しいマシンにパッケージをインストールすると非常に便利です。
apt-getの代替手段はありますか?
コマンドラインで使用するだけなので、
apt-get install pkg1 pkg2 pkg3…
?
<はシェルのリダイレクトです。複数のファイルの場合、使用:cat file1 file2 .. | xargs -P1 apt-get install
brewfiles、caskfiles、dockerfiles、package.jsonなどのパッケージファイルを使用して、新しいマシンにパッケージをインストールすると非常に便利です。
apt-getの代替手段はありますか?
コマンドラインで使用するだけなので、
apt-get install pkg1 pkg2 pkg3…
?
<はシェルのリダイレクトです。複数のファイルの場合、使用:cat file1 file2 .. | xargs -P1 apt-get install
回答:
質問のコメントで指定されているように、packages.txtインストールするパッケージをリストしたと呼ばれる単純なテキストファイルを作成できます。
iceweasel
terminator
vim
次に、次のコマンドを実行します。
cat packages.txt | xargs sudo apt-get install
xargsは、packages.txtファイルからコマンドラインにパッケージ名を渡すために使用されます。manページから:
xargsは標準入力から項目を読み取り、ブランク(二重引用符または単一引用符またはバックスラッシュで保護できます)または改行で区切られ、コマンド(デフォルトは/ bin / echo)を1回以上実行します。標準入力から読み取られたアイテム。
@ ortomala-lokniの答えを少し改善して、ファイルを引数として直接与えることができますxargs:
xargs -a packages.txt sudo apt-get install
オプションでxargs、に空白以外の文字が含まれていない場合に-r、apt-get呼び出しがまったく実行されないようにするオプションを指定できますpackages.txt。
-aませんが、argは文書化されておらず、そこで機能しないようです:xargs: unrecognized option: a。示す私のバージョンの出力があるBusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
より一般的なスクリプトソリューションと同様に、debパッケージを作成できます。
必要になるだろう
equivs-build、debをビルドします。debには依存関係のみを含めることができます。これは単純化されたdebビルダーです。gdebi debをインストールします。これは、すべてのdebianベースのシステム(apt / deb-filesを使用するシステム)で機能します。
シェルスクリプトとは対照的に、debファイルでそれを行う利点は、元に戻すのがはるかに簡単で、debをアンインストールするか、debを再構成して再インストールできることです(これにより、ファイルが追加および削除)。
xargs:xargs -P1 apt-get install < list-of-packages。