Debian システムで BASH を使用したバッチ .debs のインストール

Debian システムで BASH を使用したバッチ .debs のインストール

背景:MX 19.3システムにWINEをオフラインでインストールする方法を学びます。私は大きな困難を経験しました。私はソースからビルドできないようです(私は決して好きではありません)。私はサイズを気にせずに独自のオフラインストアを維持し、可能であれば必要なすべてのDLLをダウンロードして、必要に応じてオフラインでインストールできます。私が見つけた最も近い方法は、MXパッケージインストーラを使用して/var/cache/apt/archives/.debsをオフラインシステムにコピーすることです(このdebsを/ etc / apt / sourcesにコピーする場所を追加します) 。オフラインPCでlist.d/mysources.listを実行し、sudo apt-get updateを実行します)とMXインストーラによって生成されたファイルのリストを見ると、以下のように145があります。

libaom0:i386 (1.0.0-3)
libasound2-plugins:i386 (1.1.8-1)
libasound2:i386 (1.1.8-1)
libasyncns0:i386 (0.8-6)
libatomic1:i386 (8.3.0-6)....

これで、MXパッケージインストーラの出力からコピーしたリストを使用して、オフラインPC(例えば、sudo apt-get install libaom0:i386)の端末から1つずつインストールすると、正しくインストールされているようです。ところで一度に全てインストールしようとするとうまくいきませんね。何らかの理由でオンラインストアにもアクセスしようとしているようです。ターミナルに1つずつ貼り付けることは実際には実用的な解決策ではありません。私が試した3つの例は次のとおりです。

sudo apt-get install libaom0:i386 && \
libasound2-plugins:i386 && \ 
libasound2:i386 && \
libasyncns0:i386 && \
libatomic1:i386 .....


sudo apt-get install libaom0:i386 \
sudo apt-get install libasound2-plugins:i386 \ 
sudo apt-get install libasound2:i386 \
sudo apt-get install libasyncns0:i386 \
sudo apt-get install libatomic1:i386 .....


sudo apt-get install libaom0:i386 && \
sudo apt-get install libasound2-plugins:i386 && \ 
sudo apt-get install libasound2:i386 && \
sudo apt-get install libasyncns0:i386 && \
sudo apt-get install libatomic1:i386 .....

しかし、上記のすべてに問題があります。私はまだBASHがうまくいきません。各行を端末に新しく貼り付けたものとして扱うようにループを繰り返す方法はありますか?あるいは、より良い方法は、コンテンツ全体を端末に貼り付けることができるように上記の内容を調整することです。ターミナル各ラインを個別に処理するように切り離すと、すべてインストールされそうな感じがするからです。実際、私はMXパッケージインストーラの機能を再構築したいと思います。

よろしくお願いします!

ベストアンサー1

awk '{print $1}' file |
    while read -r package
    do
        sudo apt -y install "$package"
    done

file確認を要求せずにパッケージを 1 つずつ読み込んでインストールする while ループです (-yオプションが適切です)。

または:

xargs sudo apt install -y < <(awk '{print $1}' file)

おすすめ記事