– 38 –
11.2 Tải, xả và vá
Các miếng vá thường được nén ở hai dạng:
.gz
hoặc
.bz2
như gói mã nguồn. Bạn có
thể tùy chọn và có thể tải các miếng vá này về bất cứ nơi nào trên máy. Sau khi tải chúng
về, bạn có thể thực hiện quy trình tương tự như sau:
Giả định các bản vá được nén ở dạng
.bz2
, nơi chứa mã nguồn của nhân Linux ở
/usr/src
và thực tính của các miếng vá này đã được kiểm tra. Trong ví dụ này, giả định
phiên bản đang dùng trên máy là 2.4.20 và phiên bản cần được vá sẽ là 2.4.26.
Chuyển vào thư mục
/usr/src
:
$ cd /usr/src
xả nén các miếng vá ở dạng
.bz2
vào thư mục
/usr/src
. Lặp lại cho đến khi xả hết
các miếng vá:
$ tar xfvj /path/to/patch/patch-x.xx.xx ./
Dọn dẹp sạch sẽ mã nguồn nhân hiện có trên máy, giả định phiên bản mã nguồn hiện có
là 2.4.20:
$ cd ./kernel-2.4.20
$ make mrproper
Lưu một bản mã nguồn kernel 2.4.20 trong thư mục
/usr/src
đề phòng cho sự cố trong
quá trình vá (nếu bạn không lưu một bản mã nguồn nguyên thủy của nhân 2.4.20 trên
máy, hoặc bản mã nguồn 2.4.20 này cũng đã được vá trước đây).
$ tar cvf ../linux-2.4.20.tar ./
Vá các miếng vá theo đúng thứ tự và theo dõi bất cứ lỗi nào được báo:
$ patch -p1 < ../patch-2.4.21
$ patch -p1 < ../patch-2.4.22
$ patch -p1 < ../patch-2.4.23
$ patch -p1 < ../patch-2.4.24
$ patch -p1 < ../patch-2.4.25
$ patch -p1 < ../patch-2.4.26
hoặc thực hiện kiểu "lười" như sau: tạo một biến môi trường
PATCH
tạm thời chứa tên
các miếng vá theo đúng thứ tự, tách rời bằng khoảng trống
việc định nghĩa biến PATCH trong 2 dòng chỉ là thuận tiện khi dàn trang, tác giả dùng duy nhất 1 hàng.
Kết quả hoàn toàn như nhau.
space