Sao chép cài đặt Linux dựa trên Yum


20

Được cài đặt dựa trên Yum (cụ thể là trong trường hợp của tôi, bản cài đặt Science Linux 5.1 x86_64), làm cách nào để sao chép các chương trình và tiện ích đã cài đặt vào một máy mới dựa trên Fedora Core x86_64? Phần cứng rất giống nhau nhưng không giống nhau, và có sự khác biệt rõ ràng rằng SL5 dựa trên EL, không phải trên Fedora; Tôi chủ yếu hướng tới việc nhân đôi trải nghiệm người dùng từ hộp ban đầu (SL) sang hộp mới (FC).


chỉ là một lưu ý phụ trong trường hợp bạn chưa biết: bạn có thể lấy danh sách các chương trình để cài đặt trên hệ thống mới, sau đó sao chép các cài đặt trong thư mục nhà của bạn (các tệp và thư mục có tên bắt đầu bằng một .)
phunehehe

Chỉ cần cẩn thận về phiên bản không phù hợp. Tôi đã phá hỏng cài đặt do không tương thích cấu hình trong thư mục nhà của tôi làm điều đó. Thông thường nó hoạt động ok di chuyển sang các phiên bản mới hơn, nhưng đôi khi có những khó khăn.
Matt Simmons

Câu trả lời:


18

Bạn có thể tạo một danh sách các phần mềm đã cài đặt với:

$ rpm -qa > installed-software.log

Vì chúng dựa trên các bản phát hành khác nhau, tôi không chắc bạn sẽ cài đặt như thế nào.

Nếu tôi đã sao chép nó vào một bản cài đặt mới của cùng một bản phân phối, tôi sẽ chạy lệnh sau với quyền root

# yum -y install $(cat /home/user/installed-software.log)

8

Nhận danh sách các RPM đã cài đặt trên hộp RHEL của bạn:

yum list installed |tail -n +3|cut -d' ' -f1 > installed_packages.txt

Cài đặt gói lên Fedora:

yum -y install $(cat installed_packages.txt)

Lưu ý: Fedora là dự án R & D cho RHEL và bạn sẽ có thể cài đặt hầu hết các gói này trong Fedora.

Phương pháp Steves liệt kê số phiên bản và bạn muốn tránh điều đó.


Fedora là một bản phân phối theo cách riêng của nó, với lập trường mạnh mẽ là người đầu tiên có phần mềm miễn phí / nguồn mở tốt nhất. Red Hat Enterprise Linux là một bản phân phối rất bảo thủ, gần như là đối diện. Red Hat lấy (các gói được chọn) một phiên bản của Fedora và sau khi ổn định và QA cắt Red Hat Enterprise Linux khỏi nó. Gọi Fedora là "một dự án R & D" là sai khi nói rằng Debian thực hiện R & D cho Fedora (vâng, Fedora thực hiện các bản vá và thậm chí hoàn thành các gói từ Debian và ngược lại).
vonbrand

2

Bạn có thể thử Kickstart hoặc bạn có thể muốn thiết lập máy chủ cài đặt / khởi động PXE cho nhiều bản phát hành. Hoặc nếu một số máy của bạn không có đĩa, bạn có thể thử phương pháp LTPS (đây là cái thường được gọi là - máy khách mỏng - IIRC), cũng xem tại đây

EDIT: Nếu đó là trường hợp thấy điều này


1
Tôi nghĩ rằng câu hỏi được hỏi nhiều hơn là làm thế nào để có được danh sách các ứng dụng đã cài đặt trên một hộp / bản phân phối và cài đặt chúng trên một hộp / bản phân phối khác, thay vì cách cài đặt tự động.
Frozenkys

Điều thứ hai là chính xác, và chính xác là những gì tôi cần.
Wesley Burr

0

Tôi tin rằng câu trả lời của Dejan /unix//a/25729/346788 là câu trả lời tốt nhất cho yumhệ thống dựa trên. Tuy nhiên, nó có thể không hoạt động khi bạn ssh vào máy chủ do bộ đệm. Chi tiết tại Làm thế nào để có đầu ra `yum list` ở trên một dòng khi nhận đầu ra thông qua lệnh ssh từ xa?

Vì vậy, để cải thiện một chút, để có được danh sách đầy đủ của gói:

yum list installed | xargs -n3 | column -t  | tail -n +3 |cut -d' ' -f1

Để có được danh sách các gói được cài đặt từ rpm:

yum list installed | xargs -n3 | column -t | grep -v "@" | tail -n +3 |cut -d' ' -f1

Để có được danh sách các gói được cài đặt từ yum:

yum list installed | xargs -n3 | column -t | grep "@" | tail -n +3 |cut -d' ' -f1

Trong khi điều này là - tôi đoán? - một câu trả lời hữu ích cho câu trả lời của Dejan cho câu hỏi này, nó không phải là câu trả lời cho câu hỏi này. Có lẽ bạn có thể viết một câu hỏi tương ứng với bài viết trên, sau đó gửi (tức là hỏi) như một câu hỏi mới. Ngoài ra, các câu trả lời như thế này sẽ giải thích những gì họ đang làm (và làm thế nào) và hiển thị đầu ra ví dụ.
G-Man nói 'Phục hồi Monica'
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.