Cài đặt apt-get trên redhat


9

Có thể cài đặt apt-gettrên redhat? Tôi có ấn tượng rằng bạn không thể, nhưng tôi chỉ muốn chắc chắn. Nếu có thể, cuộc sống sẽ dễ dàng hơn khi cài đặt các chương trình khác nhau, đặc biệt là vì yumthực sự không có sẵn nhiều chương trình như vậy.

Đây là những gì tôi đã thử (chỉ để ghi lại):

Tôi đã cố gắng cài đặt apt-get theo các hướng dẫn này, nhưng không có dpkg, vì vậy tôi quay lại quảng trường 1.

Tôi đang đặt câu hỏi này vì tôi gặp một số khó khăn khi cài đặt plugin cho pidgin (pidgin-sipe) vì yum install libglib2.0-devkhông thành công, đó là bằng chứng cho tôi thấy rằng có apt-get có thể là một khoản đầu tư đáng giá.

Bất kỳ đề xuất?


3
Để tham khảo trong tương lai, tôi cũng phát hiện ra rằng yum install pidgin-sipehoạt động là tốt. Hóa ra tôi không cần cài đặt thủ công, nhưng dù sao đó cũng là một trải nghiệm học tập tuyệt vời.
ajsmart

Câu trả lời:


10

Bạn không cần thay thế công cụ quản lý gói của mình chỉ vì một gói dường như bị thiếu.

Mỗi công cụ quản lý gói được tích hợp chặt chẽ với phân phối của nó và điều này không khác với CentOS. aptđược tích hợp tốt với Debian và các dẫn xuất của nó và ngay cả khi chúng (Debian, Ubuntu, Mint, Knoppix ...) sử dụng cùng một công cụ để quản lý gói, các gói của chúng được liên kết và định cấu hình với các phiên bản gói cụ thể mà trong một số trường hợp sẽ chỉ hoạt động với sự phụ thuộc cụ thể mà phân phối đó có.

Những gì bạn cần là cài đặt gói dev glibdành riêng cho các hệ điều hành tương tự:

yum install glib2-devel.x86_64

Thông báo trước ở đây là bạn sẽ phải tìm một gói tương đương, có thể có một tên khác trên bản phân phối của bạn. Biết cách tìm kiếm các gói trên bản phân phối bạn đang sử dụng là một số thời gian dành cho kiến ​​thức.

Làm thế nào tôi tìm thấy rằng đây là tên:

[root@ftp ~]# yum search glib2| grep dev
glib2-devel.i686 : A library of handy utility functions
glib2-devel.x86_64 : A library of handy utility functions
spice-glib-devel.i686 : Development files to build Glib2 applications with
spice-glib-devel.x86_64 : Development files to build Glib2 applications with

Và hiển thị thông tin gói, bạn có thể thấy rằng nó dường như là gói dev của thư viện:

[root@ftp ~]# yum info glib2-devel.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.brisanet.com.br
 * extras: centos.brisanet.com.br
 * rpmforge-extras: apt.sw.be
 * updates: centos.brisanet.com.br
Available Packages
Name        : glib2-devel
Arch        : x86_64
Version     : 2.28.8
Release     : 9.el6
Size        : 300 k
Repo        : base
Summary     : A library of handy utility functions
URL         : http://www.gtk.org
License     : LGPLv2+
Description : The glib2-devel package includes the header files for the GLib library.

Ngoài ra, nếu bạn không quen với tìm kiếm gói, công cụ trực tuyến này có thể giúp bạn tìm các gói trên các bản phân phối Linux phổ biến nhất: Tìm kiếm gói Linux


Tôi gặp phải vấn đề này rất nhiều, nhưng liệu có tương đương cho tất cả mọi thứ? Ý tôi là, nếu các repos khác nhau, thì nó ngụ ý rằng mỗi cái sẽ có các chương trình / tính năng mà cái kia không có.
ajsmart

1
Hầu hết các gói cli chung ( glib, linux-utils, iputils2, dos-utils, nmap, tcpdumpvà rất nhiều nhiều hơn nữa) và giao diện đồ họa được đóng gói trên các bản phân phối, vì vậy yeah, cơ hội là rất lớn rằng nếu bạn có một gói phần mềm có sẵn trên Debianbạn có thể có nó trên CentOShoặc trên nó Repos cộng đồng;)

Đó là trường hợp các bản phân phối Linux khác nhau có các ưu tiên khác nhau và điều này được phản ánh trong các gói có sẵn. Nếu đây là vấn đề bạn gặp phải nhiều, thì đó có thể là trường hợp một bản phân phối Linux khác có mức độ ưu tiên giống như của bạn. distrowatch.com có ​​thể hữu ích để so sánh.
bgvaughan

Nhưng trong trường hợp cụ thể của câu hỏi này, glibnội dung liên quan đến nhà phát triển là thứ bạn có thể tìm thấy trên hầu hết các bản phân phối ...

@bgvaughan Tôi đã chọn một bản phân phối khác, nhưng đây là công việc liên quan. Đáng buồn thay, tôi thực sự không có lựa chọn. Phiên bản Linux công ty được hỗ trợ duy nhất là RHEL, nhưng nếu tôi có lựa chọn, tôi sẽ chọn Ubuntu hoặc một trong những công cụ phái sinh của nó.
ajsmart

12

TL; DR apt thường không hoạt động tốt với các bản phân phối dựa trên Enterprise Linux và bạn sẽ không tìm thấy nhiều repos phù hợp với mình.

Nếu bạn gặp khó khăn khi tìm phần mềm bạn muốn trên Red Hat, đó là vì kho của bạn không có các gói. Những gì bạn muốn xem xét là thêm các kho khác nhau. Đối với Red Hat Enterprise Linux, repo đầu tiên thường được thêm là Gói bổ sung cho Enterprise Linux (EPEL) được lưu trữ tại Dự án Fedora. Bạn có thể sẽ tìm thấy RẤT NHIỀU những gì bạn đang thiếu trong repo đó.

Thêm thông tin:

Mặc dù chắc chắn có thể cài đặt các apttiện ích quản lý gói trên hệ thống Enterprise Linux, điều đó không có nghĩa là bạn sẽ có thể làm bất cứ điều gì với nó sau khi bạn hoàn thành.

Vấn đề ở đây là apttiện ích là một chương trình hoạt động với các thư mục được xuất bản của các gói phần mềm (kho lưu trữ là tên thông thường đối với tôi, nhưng nó có thể thay đổi). Yum, rpm, dnf, emerge, Vv là tất cả các tiện ích trên khác nhau phân phối * NIX mà làm điều tương tự. Nhưng họ không tự cung cấp phần mềm, họ được cấu hình để truy vấn các kho lưu trữ và cung cấp các gói từ chúng. Vấn đề khác là các kho lưu trữ phổ biến bạn tìm thấy trực tuyến thường được tạo với cấu hình để hoạt động với các tiện ích quản lý gói gốc cho HĐH mà chúng đang cung cấp phần mềm. Bạn có thể có thể cấu hìnhapttrên hệ thống RHEL7 của bạn để truy vấn các kho lưu trữ Debian, nhưng phần mềm có thể sẽ không tương thích với hệ thống của bạn do sự khác biệt trong cách xây dựng, bố cục, cấu trúc và cấu hình hệ điều hành của Debian và Red Hat. Giống như cố gắng cài đặt phần mềm Mac OS X trên hệ thống Linux của bạn. Chúng đều dựa trên kỹ thuật * NIX, nhưng chúng khác nhau rất nhiều về cách chúng hoạt động.


1
Vì vậy, để làm rõ, về cơ bản, bạn đang nói rằng tôi không cần apt NẾU tôi có kho lưu trữ được thêm vào hệ thống của mình? (Cảm ơn vì liên kết!)
ajsmart

Bạn chỉ cần tìm gói "tương đương" với bản phân phối của bạn. Hãy xem câu trả lời của tôi @ajsmart

Chính xác! Apt là một công cụ để kéo các gói, thường được sử dụng bởi các distro dựa trên Debian. Rpm, Yum và Dnf là một nhóm các công cụ được sử dụng bởi Enterprise Linux. Các repos họ sử dụng cũng khác nhau, nhưng không phải vì các công cụ mà vì họ hệ điều hành, các repos đang phục vụ phần mềm cho. Chúc may mắn và cho chúng tôi biết nếu bạn cần thêm.
0xSheepdog

2

Tôi đang hỏi câu hỏi này vì tôi gặp một số khó khăn khi cài đặt plugin cho pidgin (pidgin-sipe) vì yum cài đặt libglib2.0-dev không thành công, đó là bằng chứng cho tôi rằng có apt-get có thể là một khoản đầu tư đáng giá.

Câu trả lời ngắn gọn: không thực sự, không.

Có một cổng aptcho rpm, cụ thể là apt-vòng / phút . Nó có thể sử dụng được cho đến gần đây, nhưng theo tôi biết, Red Hat và các công cụ phái sinh của nó không hỗ trợ nó, vì vậy có thể không phải như vậy bây giờ. Sự phát triển dường như bị đình trệ từ năm 2008, điều này không hứa hẹn. Ngoài ra, apt-rpmkhông thể được sử dụng với các kho lưu trữ yum, vì vậy nó không hữu ích trừ khi ai đó đã xây dựng các rpmkho lưu trữ có thể được sử dụng apt.

Ngoài ra còn có một biến thể gọi là apt4rpm được tạo bởi Connectiva, nhưng dường như nó thậm chí còn ít được sử dụng hơn apt-rpm.

Tự cài đặt Debian apttrên hệ thống Red Hat là một sự lãng phí thời gian, ngay cả khi nó cài đặt thành công. dpkgcó sẵn cho Red Hat, hoặc ít nhất là nó đã từng. Nhưng tôi cố gắng thiết lập một hệ thống giống như Debian song song bằng cách sử dụng dpkgaptsẽ hoàn toàn không khởi động, tôi nghĩ vậy.

Tôi nhớ lại việc sử dụng apt-rpmtrên hệ thống Red Hat vào khoảng năm 2006 để quản trị hệ thống cơ bản. Nếu bộ nhớ phục vụ, đó là cài đặt CentOS. Nó vẫn hoạt động khá tốt sau đó. Nhưng đây là năm 2017, và tôi đoán apt-rpmlà bây giờ đã chết một cách hiệu quả.

Trong mọi trường hợp, tôi nghi ngờ sử dụng apttrên hệ thống Red Hat, ngay cả khi nó có sẵn và hoạt động, sẽ tạo ra nhiều khác biệt cho trải nghiệm của bạn. Lý do tại sao apthoạt động tốt trên Debian và các dẫn xuất của nó không phải vì bất kỳ chất lượng ma thuật nào aptsở hữu. Phần lớn là do kiểm soát chất lượng nổi tiếng của Debian, mặc dù các công cụ quản lý gói Debian ( dpkg, aptv.v.) có thể lấy một số tín dụng để được thiết kế và triển khai tốt.

Nếu bạn muốn "trải nghiệm apt", hãy sử dụng Debian.


Nhưng điều này sẽ không thay đổi nhu cầu op cho libglib2.0-devgói ... và cài đặt aptsẽ không làm cho tên thay đổi gói ... Nó vẫn sẽ apt-get install glib2-devel.x86_64, và nỗ lực dành cho cài đặt aptcó thể được sử dụng tốt hơn để tìm kiếm gói ...

Quan tâm để giải thích các downvote?
Faheem Mitha

Đã gỡ bỏ downvote. Phiên bản đầu tiên của câu trả lời của bạn bằng cách nào đó dẫn đến việc cài đặt apt-rpmcó thể là một giải pháp;)

@nwildner: Tôi không thấy nơi tôi từng ngụ ý điều đó.
Faheem Mitha

1

Có thể làm điều này, nhưng rất khó, thường được đề nghị chống lại, và gần như chắc chắn là không cần thiết.

Những gì bạn đã hỏi là làm thế nào để cài đặt hệ thống quản lý gói Debian trên hệ thống Red Hat.

Hệ thống quản lý gói theo dõi những gói nào được cài đặt trong một hệ thống, tạo điều kiện cho việc cài đặt và cập nhật các gói, theo dõi các phụ thuộc và tránh xung đột giữa các gói. Riêng hai lý do sau, các hệ thống quản lý gói khác nhau về cơ bản không tương thích với nhau; cố gắng sử dụng đồng thời hai hệ thống khác nhau, mà không có sự giám sát cẩn thận, sẽ nhanh chóng khiến hệ thống của bạn không sử dụng được, bởi vì bạn thực sự sẽ cố gắng cài đặt hai bản phân phối Linux khác nhau lên nhau.

Khi một bản đồ cây phân phối Linux của gia đình, điểm phân nhánh chính là sự lựa chọn của hệ thống quản lý gói. Hai hệ thống phổ biến nhất là hệ thống quản lý gói Debian, DPKG và hệ thống quản lý gói Red Hat, RPM. "apt-get" là một giao diện người dùng để sử dụng hệ thống DPKG và nó yêu cầu phần còn lại của bộ công cụ hoạt động; tương tự, "yum" là một giao diện người dùng để sử dụng hệ thống RPM.

Đôi khi có thể chuyển đổi một gói từ hệ thống này sang hệ thống khác. người ngoài hành tinh là một ứng dụng để làm điều này. Lưu ý rằng nó hầu như không bao giờ được đề cập mà không cảnh báo rằng nó không đáng tin cậy.

Nếu vấn đề bạn muốn giải quyết là bạn muốn cài đặt một ứng dụng cụ thể trên hệ thống Red Hat, thì bạn có thể thấy nó hoạt động tốt hơn khi sử dụng gói từ một bản phân phối Linux khác sử dụng RPM; rpmfind có thể giúp bạn tìm kiếm. Đáng tin cậy hơn một chút để tìm RPM nguồn và xây dựng lại nó trên hệ thống của bạn; làm giảm khả năng xảy ra sự cố với sự phụ thuộc vào các tệp nhị phân được biên dịch cụ thể. Hoặc, bạn có thể bỏ qua việc quản lý gói bằng cách tìm tarball nguồn cho ứng dụng và biên dịch nó.

Nếu vấn đề bạn muốn giải quyết là có nhiều gói có sẵn nói chung, thì bạn nên nhớ rằng Red Hat Enterprise Linux, theo thiết kế, chú trọng đến tính ổn định và kho lưu trữ chính thức của nó tương đối hạn chế. Bạn có thể thích sử dụng Fedora Linux có liên quan chặt chẽ, có nhiều lựa chọn gói hơn trong kho chính thức của nó, hoặc bạn có thể muốn chuyển sang Debian hoặc một trong các công cụ phái sinh của nó.


0

Như những người khác đã nói trong các câu trả lời ở trên, các bản phân phối và quản lý gói của họ rất chặt chẽ. Nếu bạn cần cài đặt mọi thứ từ repos Debian hoặc Ubuntu trong bản phân phối dựa trên RPM của mình, tôi tin rằng cách tốt nhất của bạn là thiết lập một chroot tương ứng (thông qua debootstrap) và cài đặt bất cứ thứ gì bạn cần trong đó. Về cơ bản, bạn sẽ có một Debian chạy "cùng" bản phân phối của bạn.

Sau đó, bạn có thể thiết lập các liên kết tượng trưng và / hoặc tập lệnh chạy bất kỳ ứng dụng nào bạn đã cài đặt từ chroot - và điều này cũng hoạt động cho các ứng dụng đồ họa. Tôi đã làm điều đó vì lý do hộp cát với các ứng dụng khác nhau, nhưng ứng dụng của bạn cũng là một lý do hợp lệ. Một Debian trong một Docker container là một tùy chọn tương tự mà bạn có thể thử - về cơ bản, một chroot hộp cát tốt hơn nhiều.


-2

Hướng dẫn này dường như hiển thị nó: http://everyday-tech.com/apt-get-on-centos/

Tuy nhiên, vấn đề bạn gặp phải với các gói ít hơn là do bạn không có nhiều kho lưu trữ hoặc tên của các gói khác nhau (ví dụ: apache2 dựa trên debian và httpd dựa trên mũ đỏ).

Bạn có thể sử dụng: yum searchđể tìm gói

Dưới đây là tài liệu về cách thêm kho yum:

https://access.redhat.com/documentation/en-US/Red_Hat_ Entryprise_Linux / 6 / html / Document_Guide / sec-Manager_Yum_Repositories.html

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.