Tôi có một mong muốn cháy bỏng là cài đặt RPM vào cài đặt Ubuntu của mình - điều này có thể không? Tôi có thể sử dụng Yum - hoặc một công cụ quản lý gói RPM khác không?
Tôi có một mong muốn cháy bỏng là cài đặt RPM vào cài đặt Ubuntu của mình - điều này có thể không? Tôi có thể sử dụng Yum - hoặc một công cụ quản lý gói RPM khác không?
Câu trả lời:
Tôi có thể sử dụng Yum không
Tôi sẽ không đề nghị nó. Bạn có thể có thể biên dịch nó nhưng bạn sẽ không có bất kỳ kho lưu trữ gói tương thích với Ubuntu nào để xử lý.
Bạn có thể chuyển đổi các tệp RPM đơn thành DEB bằng Alien:
sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb
Lưu ý: Nó có thể thay đổi tên tệp nhiều hơn một chút so với phần mở rộng.
Điều này sẽ không hoạt động cho tất cả mọi thứ khi các gói liên kết với các gói khác để thực hiện các phụ thuộc. Rõ ràng Red Hat / Fedora / CentOS sử dụng các tên gói khác nhau cho Ubuntu để bạn có thể gặp phải vô số nỗi đau.
Rất có thể nếu DEB không tồn tại, bạn sẽ tốt hơn nếu chỉ lấy nguồn và biên dịch nó.
make install
và rất tiện dụng để có xung quanh. Có thể loại bỏ các gói chắc chắn là một lợi thế!
checkinstall
là tuyệt vời để duy trì tự xây dựng trong một môi trường đóng gói nhưng nó có một số điểm kỳ lạ đôi khi có nghĩa là thứ gì đó sẽ cài đặt thông qua make install
sẽ không cài đặt. Tôi sử dụng nó khi tôi có thể.
alien --install my_package.rpm
.
error while loading shared libraries: libreadline.so.7
Bạn sẽ cần alien
phải làm điều đó.
sudo apt-get install alien
Điều này sẽ cài đặt tất cả các gói cần thiết. Bây giờ bạn có thể bắt đầu chuyển đổi các tệp .rpm của mình sang các gói .deb.
Tùy chọn có sẵn cho alien
:
Chuyển đổi gói.rpm thành gói.deb
sudo alien -d package-name.rpm
Chuyển đổi package.rpm
thành một package.deb
và cài đặt gói được tạo.
alien -i package-name.rpm
Nếu bạn muốn ngăn người ngoài thay đổi số phiên bản, hãy sử dụng lệnh sau
alien -k rpm-package-file.rpm
Câu trả lời ngắn gọn là, Đừng!
Nếu bạn có một RPM quan trọng đến mức bạn cần phải có nó, thì có lẽ cũng có một gói Ubuntu; và, nếu không, có lẽ đáng để trải qua sự cố khi biên dịch nó từ nguồn thành định dạng gói Debian (mà Ubuntu cũng sử dụng). Bây giờ, có những thời điểm nhất định khi bạn không thể biên dịch lại phần mềm (nếu nó không mở được thì không thể) và trong trường hợp đó bạn có thể sử dụng alien
chương trình. Nhưng, cài đặt từ RPM giống như đổ xăng vào xe diesel - nó có thể hoạt động, nhưng bạn sẽ không được hưởng lợi từ nó trong thời gian dài!
Để xây dựng một gói từ nguồn, có một hướng dẫn trên Ubuntu Wiki; cũng có một chương trình gọi là checkinstall có thể thực hiện một số thủ thuật với cây nguồn mặc định mà không cần thiết lập hướng dẫn xây dựng cho gói. Nếu bạn nghĩ rằng người khác có thể hưởng lợi từ các chương trình mà bạn biên dịch, bạn có thể thiết lập một kho lưu trữ trên launchpad và chia sẻ sự tốt đẹp của gói!
Nếu bạn thực sự cần cài đặt RPM trên hệ thống của mình, bạn thực sự nên thử chuyển đổi chúng bằng cách sử dụng 'người ngoài hành tinh'.
Xin lưu ý rằng theo mặc định, 'người ngoài hành tinh' sẽ can thiệp vào số phiên bản của gói. Nếu bạn muốn số phiên bản giữ nguyên, hãy chuyển tùy chọn '-k' khi chuyển đổi.
Bạn không nên cố gắng sử dụng Yum hoặc bất kỳ cách cài đặt RPM nào khác, chẳng hạn như apt-rpm, bên cạnh các gói DEB hiện có. Các hệ thống DEB và RPM quản lý danh sách các phần mềm được cài đặt riêng biệt và do đó không biết gói nào đã được cài đặt trước đó bởi hệ thống khác. Ví dụ: nếu bạn cố gắng cài đặt ứng dụng mang GUI với hệ thống quản lý gói dựa trên RPM, thì nó sẽ cố gắng tự cài đặt các thành phần hệ thống quan trọng, vì nó nghĩ rằng chúng chưa được cài đặt. Điều này sẽ làm cho việc cài đặt thất bại khủng khiếp hoặc ghi đè lên các tệp hệ thống quan trọng.
Có trình quản lý gói GUI có tên SmartPM trên Repos, nó có thể xử lý .deb AND .RPM. Canonical đã đóng góp cho dự án này cho đến tháng 11 năm 2009.
Trang chủ của dự án ở đây https://github.com/smartpm/smart
Alien là một công cụ chuyển đổi từ một định dạng (.deb hoặc .rpm) sang định dạng khác (.deb, .rpm hoặc tarball)
Người ngoài hành tinh không nên sử dụng trong việc chuyển đổi từ .deb sang .rpm hoàn hảo để sử dụng trong việc chuyển đổi .deb sang tarball
Mặc dù Alien cố gắng bảo toàn dữ liệu meta khi chuyển đổi nhưng nó vẫn có vấn đề về Siêu dữ liệu & phụ thuộc làm cho gói trở nên kém tin cậy hơn và do đó sẽ xung đột khi thêm hoặc xóa các gói phân biệt trong tương lai.
Thực tế lựa chọn ngắn nhất là
sudo alien -i -k packagename.rpm
Đừng có người ngoài hành tinh? Lấy một cái!
sudo apt-get install alien
Alien sẽ chuyển đổi gói vòng / phút thành gói deb, tùy chọn -i có nghĩa là cài đặt gói đã chuyển đổi sau khi được chuyển đổi và tùy chọn -k đảm bảo phiên bản không +1 sau khi chuyển đổi.
Làm theo những chỉ dẫn này:
alien -k avg71lms-r30-a0782.i386.rpm
Bây giờ bạn nên có avg71lms-r30-a0782.i386.deb
tập tin.
Để cài đặt tệp .deb:
dpkg -i avg71lms-r30-a0782.i386.deb
Nếu bạn không sử dụng -k
tùy chọn, bạn sẽ thấy avg71lms_r30-1_i386.deb
tệp khác biệt là nó sẽ thêm 1.
Cài đặt người ngoài hành tinh trong Ubuntu:
sudo apt-get install alien
Bạn có thể kiểm tra phần trên cho các tùy chọn có sẵn
Với người ngoài hành tinh, tôi chỉ có thể chuyển đổi tệp .rpm thành tệp .deb và chỉ cần cài đặt tệp đó.
Alien có sẵn trong kho Debian bình thường, vì vậy chúng ta có thể cài đặt nó như thế này:
sudo apt-get install alien
Để chuyển đổi nó thành một gói .deb, chúng ta chỉ cần chạy
alien *.rpm
--scripts
(hoặc -c
)
sử dụng người ngoài hành tinh chuyển đổi vòng / phút thành deb và sau đó cài đặt deb.
Đây là GUI cho Alien (Alien là một ứng dụng để chuyển đổi vòng / phút sang deb)