Bạn có muốn chuyển đổi một gói Linux sang một số định dạng khác không? Có lẽ gói bạn đang tìm kiếm không có sẵn cho bản phân phối của mình. Hoặc có thể bạn là nhà phát triển và muốn tiết kiệm thời gian bằng cách nhanh chóng đóng gói lại chương trình của mình sang các định dạng khác mà không cần phải xây dựng lại gói.
May mắn là Linux đã có công cụ bạn cần. Với Alien, bạn có thể dễ dàng chuyển đổi gói Linux hiện có của mình sang các định dạng khác thông qua dòng lệnh. Hãy bắt đầu bằng cách cài đặt công cụ này trên hệ thống của bạn.
Cách cài đặt Alien trên Linux
Alien có sẵn trong kho lưu trữ universe của Ubuntu. Để cài đặt nó, trước tiên hãy bật kho lưu trữ universe và cập nhật danh sách gói hệ thống của bạn. Sau đó, cài đặt gói alien bằng APT.
sudo add-apt-repository universe
sudo apt update
sudo apt install alien
Người dùng Debian có thể chỉ cần cài đặt gói này bằng APT:
sudo apt install alien
Alien chưa có sẵn trong kho lưu trữ chính thức của Arch. Tuy nhiên, bạn có thể cài đặt nó từ AUR bằng trình trợ giúp AUR. Trong hướng dẫn này, chúng tôi sẽ sử dụng yay.
yay -S alien
Trên Fedora, CentOS và các bản phân phối dựa trên RPM khác, bạn có thể cài đặt Alien bằng DNF với lệnh:
sudo dnf install alien
Sau khi hoàn tất, hãy xác minh cài đặt bằng cách nhập – alien –version vào terminal. Nếu lệnh trả về thông tin phiên bản cho gói tức là quá trình cài đặt thành công. Nếu không, bạn hãy thử thực hiện lại các bước cài đặt.
Chuyển đổi giữa các gói Linux bằng Alien
Sử dụng Alien, bạn có thể chuyển đổi giữa một số gói Linux, ví dụ như
- DEB (bản phân phối dựa trên Debian)
- TAR.GZ (Kho lưu trữ được đóng gói)
- RPM (Fedora, CentOS và các bản phân phối khác)
- PKG (định dạng gói Solaris)
- SLP
- LSB
Alien có thể đọc các tùy chọn sau:
- -d hoặc –to-dpkg: Chuyển đổi gói sang định dạng gói DEB
- -r hoặc –to-rpm: Chuyển đổi gói sang định dạng RPM
- -t hoặc –to-tgz: Tạo tệp lưu trữ TAR.GZ từ gói được chỉ định
- -l hoặc –to-lsb: Tạo gói LSB (Linux Standard Base, hay Cơ sở tiêu chuẩn Linux)
- -p hoặc –to-pkg: Chuyển đổi gói được chỉ định sang định dạng PKG
- –to-slp: Tạo gói SLP
Cách sử dụng Alien trên Linux
Cú pháp cơ bản của tiện ích là:
sudo alien options filename
trong đó options (các tùy chọn) là các cờ (flag) khác nhau mà bạn có thể sử dụng với lệnh và filename (tên tệp) là đường dẫn tuyệt đối hoặc tương đối đến gói bạn muốn chuyển đổi.
Để chuyển đổi một gói RPM thành DEB, hãy gõ:
sudo alien --d file.rpm
sudo alien --to-deb file.rpm
Để chứng minh cách bạn có thể chuyển đổi một gói sang tất cả các định dạng khác, chúng tôi sẽ chuyển đổi tệp DEB sang các gói Linux khác.
DEB thành RPM:
sudo alien -r file.deb
sudo alien --to-rpm file.deb
DEB thành TAR.GZ:
sudo alien -t file.deb
sudo alien --to-tgz file.deb
DEB thành LSB:
sudo alien -p file.deb
sudo alien --to-pkg file.deb
DEB thành SLP:
sudo alien --to-slp file.deb
Hãy lưu ý rằng bạn cũng có thể chuyển đổi bất kỳ định dạng gói nào sang bất kỳ định dạng nào khác. Ví dụ: RPM thành LSB, SLP thành PKG, PKG thành DEB, v.v.
Bạn cũng có thể chuyển đổi một gói sang nhiều định dạng bằng một lệnh duy nhất. Tất cả những gì bạn phải làm là chỉ định các cờ cho chuyển đổi như sau:
sudo alien --to-deb --to-rpm --to-tgz file.pkg
sudo alien -d -r -p file.tar.gz
Nếu gói chứa các tập lệnh cụ thể cho định dạng, bạn có thể chuyển đổi các tập lệnh đó bằng cách sử dụng cờ –scripts hoặc -c.
sudo alien --scripts --to-deb file.rpm
sudo alien -c --to-deb file.rpm
Cài đặt các gói sau khi chuyển đổi
Ngoài việc chuyển đổi các gói, Alien cũng có thể cài đặt các gói cho bạn. Bạn có thể thêm cờ –install hoặc -i bằng lệnh để cài đặt ngay gói sau khi chuyển đổi.
Ví dụ:
sudo alien --to-rpm --install file.deb
sudo alien -r -i file.deb
Xử lý thông tin phiên bản trong quá trình chuyển đổi
Theo mặc định, Alien tự động tăng chi tiết phiên bản của gói. Nếu bạn chuyển đổi gói có số phiên bản 1.17.1 bằng Alien, gói được tạo sẽ có số phiên bản 1.17.2 .
Bạn có thể thay đổi mặc định này bằng cách sử dụng cờ -k hoặc –keep-version như sau:
sudo alien --to-rpm -k file.deb
sudo alien --to-rpm --keep-version file.deb
Bây giờ bạn có thể chuyển đổi các gói trong Linux
Là một nhà phát triển, việc xây dựng lại một gói cho các bản phân phối Linux khác nhau có thể khó khăn. Để giải quyết vấn đề này, bạn có thể sử dụng Alien để chuyển đổi gói của mình sang các định dạng Linux khác một cách dễ dàng.
Mặc dù Alien là một tiện ích đáng tin cậy, nhưng bạn không nên dùng nó nếu muốn phát triển đúng các gói gốc (native package) cho các bản phân phối. Ngoài ra, trong khi xuất bản một gói, bạn phải luôn liệt kê ra các phần phụ thuộc (dependencies) mà chương trình yêu cầu.
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/how-to-convert-between-linux-packages-using-alien/







Bình luận (0
)