Bạn muốn chuyển đổi gói Linux sang định dạng khác? Có thể gói bạn tìm không có cho distro của bạn nhưng bạn vẫn muốn nó. Hoặc bạn là nhà phát triển muốn tiết kiệm thời gian bằng cách đóng gói lại chương trình sang định dạng khác mà không phải build lại gói.
May mắn là Linux có công cụ bạn cần. Với Alien, bạn dễ dàng chuyển đổi gói Linux hiện có sang định dạng khác qua dòng lệnh. Hãy bắt đầu cài công cụ trên hệ thống.
Cách Cài Đặt Alien Trên Linux
Alien có trong kho universe Ubuntu. Để cài, trước tiên bật kho universe và cập nhật danh sách gói. Sau đó cài gói alien dùng APT như bình thường.
sudo add-apt-repository universe
sudo apt update
sudo apt install alien
Người dùng Debian chỉ cài gói dùng APT:
sudo apt install alien
Alien chưa có trong kho chính thức Arch. Tuy nhiên có thể cài từ AUR dùng AUR helper. Cho hướng dẫn này, dùng yay.
yay -S alien
Trên Fedora, CentOS và distro dựa trên RPM khác, cài Alien dùng DNF:
sudo dnf install alien
Xong, kiểm tra cài đặt bằng alien --version trong terminal. Nếu lệnh trả về thông tin phiên bản, cài thành công. Nếu không, làm lại bước cài.
Chuyển Đổi Giữa Các Gói Linux Dùng Alien
Dùng Alien chuyển đổi giữa nhiều gói Linux. Nêu một vài:
- DEB (distro dựa trên Debian)
- TAR.GZ (Archive nén)
- RPM (Fedora, CentOS và distro khác)
- PKG (định dạng gói Solaris)
- SLP
- LSB
Alien hiểu các tùy chọn sau:
- -d hoặc --to-dpkg: Chuyển gói chỉ định sang định dạng DEB
- -r hoặc --to-rpm: Chuyển gói sang định dạng RPM
- -t hoặc --to-tgz: Tạo file archive TAR.GZ từ gói chỉ định
- -l hoặc --to-lsb: Tạo gói LSB (Linux Standard Base)
- -p hoặc --to-pkg: Chuyển gói chỉ định sang định dạng PKG
- --to-slp: Tạo gói SLP
Cách Dùng Alien Trên Linux
Cú pháp cơ bản:
sudo alien options filename
...nơi options là các cờ dùng với lệnh và filename là đường dẫn tuyệt đối hoặc tương đối đến gói muốn chuyển.
Chuyển gói RPM sang DEB:
sudo alien --d file.rpm
sudo alien --to-deb file.rpm
Để demo chuyển gói sang tất cả định dạng khác, chuyển file DEB sang các gói Linux khác.
DEB sang RPM:
sudo alien -r file.deb
sudo alien --to-rpm file.deb
DEB sang TAR.GZ:
sudo alien -t file.deb
sudo alien --to-tgz file.deb
DEB sang LSB:
sudo alien -l file.deb
sudo alien --to-lsb file.deb
DEB sang PKG:
sudo alien -p file.deb
sudo alien --to-pkg file.deb
DEB sang SLP:
sudo alien --to-slp file.deb
Lưu ý bạn cũng chuyển bất kỳ định dạng gói nào sang định dạng khác. Ví dụ: RPM sang LSB, SLP sang PKG, PKG sang DEB, v.v.
Chuyển gói sang nhiều định dạng dùng một lệnh cũng có thể. Chỉ cần chỉ định cờ chuyển đổi:
sudo alien --to-deb --to-rpm --to-tgz file.pkg
sudo alien -d -r -p file.tar.gz
Nếu gói chứa script riêng cho định dạng, chuyển script đó dùng cờ --scripts hoặc -c.
sudo alien --scripts --to-deb file.rpm
sudo alien -c --to-deb file.rpm
Cài Gói Sau Khi Chuyển Đổi
Ngoài chuyển đổi gói, Alien cũng cài gói cho bạn. Thêm cờ --install hoặc -i để cài ngay sau 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 Khi Chuyển Đổi
Mặc định Alien tự động tăng chi tiết phiên bản gói. Nếu chuyển gói phiên bản 1.17.1 dùng Alien, gói tạo ra sẽ có phiên bản 1.17.2.
Bạn ghi đè hành vi mặc định dùng cờ -k hoặc --keep-version:
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 Gói Trên Linux
Là nhà phát triển, build lại gói cho distro Linux khác nhau có thể khó. Để giải quyết, dùng Alien chuyển gói sang định dạng Linux khác dễ dàng.
Mặc dù Alien tiện lợi, không khuyến khích nếu muốn phát triển gói gốc cho distro đúng cách. Cũng khi phát hành gói, luôn liệt kê phụ thuộc chương trình yêu cầu.