Tôi muốn cài đặt sqldeveloper từ Oracle trên Arch Linux. Tùy chọn tải xuống Linux duy nhất là RPM. Tôi không quan tâm đến việc sử dụng kho lưu trữ để cài đặt sqldeveloper. Tôi chỉ có thể sử dụng những gì nhà cung cấp cung cấp.
Tôi muốn cài đặt sqldeveloper từ Oracle trên Arch Linux. Tùy chọn tải xuống Linux duy nhất là RPM. Tôi không quan tâm đến việc sử dụng kho lưu trữ để cài đặt sqldeveloper. Tôi chỉ có thể sử dụng những gì nhà cung cấp cung cấp.
Câu trả lời:
Jasonwryan (như thường lệ) đã đúng về nhận xét ban đầu của mình.
Các gói của Arch được cho là càng gần "vanilla" càng tốt. Bây giờ, trong khi bạn có thể sử dụng rpmextract
hoặc alien
, thực sự không có lý do chính đáng để làm điều đó. Những gì bạn nên làm là tạo một PKGBUILD
tệp sử dụng RPM làm tệp nguồn và sau đó cài đặt mọi thứ cần thiết ở nơi cần có trong package()
hàm. Nếu bạn không chắc chắn về cách thực hiện việc này, hãy xem một số gói trên Kho lưu trữ người dùng ArchLinux ; Có rất nhiều điều làm những điều tương tự.
Bây giờ, vì bsdtar
(trình trích xuất mặc định được sử dụng trên các tệp nguồn bằng cách makepkg
) hỗ trợ trích xuất RPM mà không gặp vấn đề gì, không có lý do gì để sử dụng rpmextract
thêmitititit mà không cần thêm bất kỳ chức năng thực sự nào.
Một số bài đọc liên quan từ wiki:
rpmextract
trên Arch Linux chỉ là một trình bao bọc xung quanh bsdtar
.
Công cụ dành riêng cho Arch là rpmextract. https://www.archlinux.org/packages/extra/any/rpmextract/
Có một công cụ được gọi là alien
có thể (cố gắng) để xây dựng deb
từ rpm
. Đôi khi nó hoạt động; đôi khi nó làm cho một mớ hỗn độn ... tốt nhất là một quá trình không hoàn hảo. alien
có thể được sử dụng để giải nén đơn giản rpm
vào một deb
thư mục định dạng (nghĩa là làm mọi thứ trừ xây dựng deb
) nơi bạn có thể tự cài đặt (sao chép) mọi thứ.
Tùy chọn khác là cài đặt các công cụ vòng / phút dưới vòm và buộc cài đặt rpm
. Điều này sẽ giúp nó được cài đặt, nhưng không phải là một bản phân rpm
phối riêng, nó sẽ không có kiến thức về các deb
gói trên hệ thống. Do đó, việc đáp ứng các phụ thuộc sẽ tùy thuộc vào bạn. Ngoài ra, bất kỳ rc
tập lệnh nào nó cài đặt sẽ phải được chuyển đổi thành systemd
.
rpmextract
. Nó tạo ra một cấu trúc thư mục của /opt/sqldeveloer/...[prebuilt and ready to run..
... Nhưng bạn đang nói rằng đối với các rpms yêu cầu xây dựng, đây không phải là nhiệm vụ dễ dàng?
alien
có thể chuyển đổi một vòng / phút sang gói gỡ lỗi - hoặc ít nhất là thử vì rpms có thể có các tập lệnh cài đặt / gỡ bỏ phức tạp. alien
có thể được yêu cầu làm mọi thứ trừ việc xây dựng deb, nơi bạn có thể nhìn vào những gì vòng tua cố gắng làm và có thể dọn sạch nó trước khi xây dựng deb. Nếu rpmextract
đã lừa, thì đừng lo lắng alien
.
deb
tệp có vẻ không hữu ích vì Arch Linux không sử dụng trình quản lý gói dựa trên deb.
tgz
sau đó (sẽ gần với những gì pacman sử dụng, nhưng không giống nhau) A deb
có thể dễ dàng trích xuất bằng cách sử dụng cpio
. (và tgz
, trực tiếp với tar.) RPM là một kho lưu trữ cpio bastardized - nó có một đống rác trước luồng cpio gzip'd.
Tôi không chắc liệu những thứ này có hiệu quả với tất cả mọi người không, nhưng đó là cách nhanh nhất nếu bạn không quan tâm đến những gì nó có thể hoặc không thể làm
Tôi đã làm những điều này để khiến skype hoạt động trên vòm, về cơ bản mở tệp .rpm, sau đó xem bạn có thể tìm thấy tệp có tên "." Nếu bạn làm như vậy thì sao chép các tệp trong "." tập tin vào thư mục gốc của bạn (AKA "/")
Tôi không khuyến nghị những điều này trừ khi bạn biết chính xác những gì bạn đang làm
pacman
,makepkg
và PKGBUILDs làm việc.