CentOS: Cài đặt các gói được liệt kê trong một tệp văn bản?


16

Tôi có bản cài đặt CentOS hiện có mà tôi muốn cài đặt các gói bổ sung. Các gói được cài đặt được cung cấp cho tôi trong một danh sách, một gói trên mỗi dòng, trông giống như:

....
Cluster_Administration-en-US.noarch
ElectricFence.x86_64
GConf2.i386
GConf2.x86_64
GConf2-devel.i386
GConf2-devel.x86_64
Global_File_System-en-US.noarch
ImageMagick.i386
...

Sử dụng tệp văn bản này, có cách nào để cài đặt mọi gói được liệt kê không? Tôi nghi ngờ danh sách này thực sự là một danh sách các gói 'tất cả' có thể đã được cài đặt khi hệ điều hành ban đầu được thiết lập.

Câu trả lời:


28

Vâng, làm điều này:

yum -y install $(cat file_name)


Điều này là tốt hơn nhiều, vì nó sẽ xem xét tất cả các phụ thuộc cùng một lúc, thay vì tìm ra chúng cho mỗi gói duy nhất.
Marcin

Vâng đó là sự thật.
hộp sơn

Đây là một câu hỏi thực sự cũ, nhưng điều này chắc chắn đã giúp tôi. Nếu bạn có một tệp với các gói được phân tách bằng nguồn cấp dữ liệu, bạn cần phải thực hiện các thao tác sau: yum -y install $ (tên tệp mèo cat | tr '\ n' '')
SteveM

Ồ Đơn giản đến mức tôi chỉ có thể google nó thay vì tự nghĩ ra.
bgStack15

2
Than ôi điều này sẽ không hoạt động quá tốt nếu danh sách các gói vượt quá độ dài tối đa của dòng lệnh.
Chris Cogdon

3

Hãy thử với xargs:

cat textfile | xargs yum -y install

 


2
Không có gì để nối - do đó, < textfile xargs yum -y installlà tương đương và tiết kiệm một fork / exec.
maxschlepzig

0

Bạn cũng có thể thử điều này trong dòng lệnh.

for i in `cat textfile` ; do yum -y install $i; done

Đối với mỗi i trong textfile, nó cài đặt yum -y.


2
như Mafcin đã nêu ở trên, điều này sẽ kiểm tra sự phụ thuộc vào mỗi gói tức là. cho mỗi dòng.
hộp sơn

0

cat YOURFILE | xargs yum -y install

Điều này gần giống như giải pháp của @ daisy, ngoại trừ nếu danh sách các gói quá dài cho dòng lệnh, nó sẽ chia nó thành yum installcác lệnh riêng biệt .


Điều này trùng lặp câu trả lời của @ JucaPirama - đã được đăng 1 năm trước.
maxschlepzig
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.