Ngoài bản chất mã nguồn mở, tùy biến là lý do khác nhiều user yêu Linux: bạn có thể sửa và cấu hình hầu như mọi file để đáp ứng nhu cầu và phong cách cụ thể. Bao gồm khả năng rebuild package từ source.
Khả năng rebuild package từ source có lợi cho bất kỳ power user Linux nào vì cho phép thay đổi package, bật/tắt tính năng, hoặc áp dụng sửa đổi tùy chỉnh.
Bài viết mô tả các bước đơn giản rebuild package từ source.
1. Bật Source Repositories
Bước đầu trước rebuild source package là bật source repositories cho distro. Bật source repos cho phép tìm và tải source package dùng apt package manager mặc định.
Trong hệ thống Debian, thêm source package bằng cách chỉnh file "/etc/apt/sources.list".
Ví dụ, sau là nội dung "sources.list" cho Debian buster với source package bật.
deb https://deb.debian.org/debian buster main deb-src https://deb.debian.org/debian buster main deb https://deb.debian.org/debian-security/ buster/updates main deb-src https://deb.debian.org/debian-security/ buster/updates main deb https://deb.debian.org/debian buster-updates main deb-src https://deb.debian.org/debian buster-updates main
Dòng deb-src bật source package, báo cho package manager cho source package thay vì file binary thường.
Sau khi bật, lưu file và cập nhật hệ thống:
sudo apt-get update
2. Tải Source Package
Sau chạy update, bạn tải source package để sửa đổi hệ thống.
Ví dụ, dùng package tar. Tạo thư mục lưu source package:
mkdir apt-rebuilds cd apt-rebuilds
Tải source package:
apt-get source tar
Xem file trong thư mục:
ls -la
3. Kiểm tra và cài Build Dependencies
Bước tiếp theo kiểm tra và cài build dependencies cần cho package muốn rebuild.
Trong thư mục source package, nhập lệnh kiểm tra unmet build dependencies.
sudo dpkg-checkbuilddeps
Lệnh hiển thị tất cả unmet dependencies. Mặc dù cài thủ công, cách đơn giản hơn dùng apt cài source package.
Để làm vậy, dùng lệnh:
sudo apt-get build-dep tar
Lệnh trên fetch dependencies và cài cho bạn.
4. Sửa đổi Package
Giai đoạn này bạn muốn thay đổi package và bật/tắt tính năng cần. (Việc này rộng, không thể cover mọi thay đổi cho mỗi package.)
Sau khi thay đổi và tweak cá nhân, recompile source và lưu với số phiên bản khác. Làm bằng lệnh:
dch --local tar
Chạy lệnh sẽ nhắc editor mong muốn và mở changelog để chỉnh.
Bạn thêm vài dòng mô tả thay đổi và đổi version.
5. Build Package
Bước cuối build source package. Đảm bảo ở thư mục source package và chạy:
dpkg-buildpackage --force-sign
Lệnh khởi tạo quá trình build dùng tất cả thay đổi bước trước.
Tùy thay đổi và package, quá trình mất vài phút hoặc lâu hơn.
6. Cài Package
Sau build xong, nó tạo binary package ở thư mục cha. Để cài, dùng dpkg:
sudo dpkg -i *.deb
Kết thúc
Build package là kỹ năng bắt buộc cho Linux admin và kỹ năng tốt cho user thường. Bây giờ bạn biết build package từ source, cũng học cách đổi tên file dễ dàng và dùng/sửa file Hosts trong Linux.