Arch-Linux

如何從包含在文本文件中的列表中安裝帶有 Pacman 的軟體包?

  • September 20, 2020

我安裝了 Manjaro Cinnamon 版的最小版本,現在想將其升級到完整版。此文本文件中提供了軟體包列表。

如何用 Pacman 安裝它們而不用痛苦地輸入數百個包的名稱?為方便起見,我附上了文件的前 5 行。

a52dec 0.7.4-10
aalib 1.4rc5-13
accountsservice 0.6.55-2
acl 2.2.53-3
acpi 1.7-3

做就是了:

$ sudo sh -c 'cat input_file | cut "-d " -f1 |  xargs pacman -S'

或更簡單的版本:

$ awk '{print $1}'  input_file |  xargs pacman -S

或者

$ sudo pacman -S $(awk '{print $1}'  input_file)

whereinput_file包含所有要安裝的包,一個到一行。

注意事項:您無疑知道,Archlinux 是一個滾動發布包,因此不建議

指定要安裝的版本,這意味著您實際上可能會破壞依賴關係,最終破壞整個系統。僅出於這個原因,我在…中刪除了您的包記錄中的版本資訊input_file

如果您堅持使用某個包的回滾(即“舊”)版本,您可以在 Arch Linux 上回滾,但我建議您手動執行此操作,而不是自動執行,前提是您確切知道自己得到了什麼進入。

HTH。

我現在不在linux上,所以我無法測試它,但這應該可以工作……

pacman -S $(cat yourfilename | cut -d' ' -f1)

如果這不起作用,那麼這應該

pacman -S $(echo $(cat yourfilename | cut -d' ' -f1))

這裡的目標是給 pacman 文件的輸出作為一行,沒有版本號,每行用空格分隔。

引用自:https://unix.stackexchange.com/questions/587630