Kiến Thức Cơ Bản Slackware Linux

5.9 Quản Lý Packages Slackware

Packages là những gói chương trình đã được kiểm tra và sẵn sàng cho cài đặt.Khi bạn tải những chương trình mã gốc trên internet về ở dạng nến(.zip,.rar,.tag,.gz...)thì bạn cần phải biên dịch nó lại và cài đặt bằng tay. Packages là những chương trình đã được làm sẵn rồi.Tất cả công việc của bạn là cài đặt.Một vấn đề nữa là các packages rất rễ cài đặt,xóa bỏ,nâng cấp khi bạn muốn.

5.9.1 Dạng format packages
Trước khi bạn học các công cụ làm việc với packages  thì bạn hãy làm quen với dạng format packages của Slackware.Nó là tập hợp các dạng lưu trữ  tar,hoặc nén dạng gzip.Packages được xây dựng để cho nó có thể bung ra ở catalog gốc của hệ thống.
Đây là ví dụ về một ứng dụng và cấu trúc packages của nó:
./
usr/
usr/bin/
usr/bin/makehejaz
usr/doc/
usr/doc/makehejaz-1.0/
usr/doc/makehejaz-1.0/COPYING
usr/doc/makehejaz-1.0/README
usr/man/
usr/man/man1
usr/man/man1/makehejaz.1.gz
install/
install/doinst.sh


Hệ thống quản lý packages sẽ bung files này vào catalog gốc  để cài đặt nó. Công việc sẽ tiến hành theo những cấu trúc trên cơ sở dữ liệu của packages,bao gồm cả nội dung của nó để sau này có thể nâng cấp hoặc là xoá đi.

Chú ý ở catalog con INSTALL/. Đây là một catalog đặc biệt chứa các Script(đoạn mã)mà sẽ được thi hành sau khi sao chép tập tin.Script có tên là doinst.sh.Nếu như chưong trình tìm thấy script trên thì nó sẽ thực hiện sau khi cài đặt packages.

5.9.2 Công cụ làm việc với packages

Có bốn công cụ chính dùng để quản lý packages.Với các công cụ này chúng ta có thể cài đặt,xoá bỏ,nâng cấp các packages.

pkgtool

pkgtool(8) là một trình quản lý menu,cho phép cài đặt hoặc xoá bỏ các packges.
 
Cài đặt có thể thực hiện ở catalog hiện hành hoặc từ các catalog khác hoặc từ floppy.Chỉ đơn giản chọn phương pháp mà bạn thích và pkhtool sẽ  làm việc với packages của bạn.
Bạn có thể nhìn thấy danh sách các packages như sau:

Nếu như bạn muốn xoá packages thì  hãy chọn tham biến  xoá packages.Bạn sẽ nhìn thấy danh sách các packages đã được cài  đặt.Và tất nhiên là có thể  xóa bỏ đi một vài packages mà bạn cảm thấy không cần thiết.Chọn packages mà bạn định xoá và nhấn phím OK.Sau đó pkgtool sẽ xoá bỏ nó đi ra hỏi hệ thống.

installpkg

installpkg  thực hiện công việc cài đặt những packages mới lên hệ thống của bạn.Cấu trúc của nó như sau:

#[ROOT=<path>]installpkg [option]<packages name>.....

installpkg có ba tham biến chính.Chỉ có một trong chung được sử dụng khi gọi chương trình.
Tham biến
Tác Động
-m
Thực hiện makepkg ở catalog hiện hành
-warn
Cho biết chuyện gì sẽ sảy ra khi bạn cài đặt Packages
-r
Cài đặt packages theo trình tự từ catalog hiện hành.

Nếu như bạn chỉ ra môi trường tạm thời  ROOT trước khi thực hiện installpkg thì đường dẫn sẽ sử dụng  tạm thời là catalog gốc của HĐH. Điều này có lợi cho cấu hình hệ thống với các đĩa cứng khác bởi vì thông thường nó hay sử dụng mount tới /mnt hay chỗ khác... nhưng khác với /
Thông tin dữ liệu về các packages đã cài đặt được nằm ở files /var/log/packages.
Đối với một packages ở đây sẽ tạo ra một tập tin văn bản.Bạn có thể tìm thấy những thông tin khác về packages mình đã cài đặt tại đây.
Chú ý rằng installpkg không thông báo cho bạn về việc ghi lại lên packages đã cài rồi.Nó đơng giản là cài lên trên packages cũ.Nếu bạn muốn chắc chắn là packages cũ đã bị xoá đi ra khỏi hệ thông thì hãy dùng upgradepkg

removepkg

removepkg(8) thực hiện công việc xoá packages ra khỏi hệ thống của bạn.Cấu trúc như sau:

#  [ROOT=<path>]removepkg [option] <package name>...

Đối với removepkg có bốn chọn lựa chính:

Tham biến
Tác Động
-copy
Packages sẽ được sao chép vào catalog lưu trữ.Nó được tạo ra từ packages  gốc trên cây catalog(Đừng có xoá nó)
-keep
Lưu lại files thời gian được tạo ra khi xóa packages.Nó có lợi khi bạn kiểm tra lại hệ thống
-preserve
Packages bị xóa ngay ra khỏi hệ thống và ngay lúc đó bản sao của nó được lưu lại ở catalog lưu trữ
-warn
Thông báo cho bạn biết chuyện gì sảy ra khi xóa packages

Nếu như bạn chỉ ra môi trường tạm thời  ROOT trước khi thực hiện removepkg thì đường dẫn sẽ sử dụng  tạm thời là catalog gốc của HĐH. Điều này có lợi cho cấu hình hệ thống với các đĩa cứng khác bởi vì thông thường nó hay sử dụng mount tới /mnt hay chỗ khác...nhưng khác với /
Trong thời gian xóa packages thì sẽ hiển thị trạng thái làm việc,cở sở dữ liệu được ghi chép về files /var/log/remove_packages
Giống như installpkg,bạn có thể chỉ ra một vài packages để xoá hoặc có thể dùng tập hợp tên đại diện.

upgradepkg

upgradepkg(8) dùng để nâng cấp packages đã được cài vào trong máy tính của bạn.Cấu trúc như sau:

# [ROOT=<path>] upgradepkg <package name>...
hoặc là
 [ROOT=<path>] upgradepkg \
<old package name>%<new package name>

upgradepkg  đầu tiên là tiến hành cài đặt packages mới à sau đó xóa đi packages cũ theo cách sau:"Files từ  packages cũ không bị chết ở trong catalog của bạn".Nếu như tên của packages nâng cấp biến đổi thì hãy sử dụng phương án thứ hai là làm việc trực tiếp với chương trình,chỉ rõ tên của packages cũ(đã cài vào hệ thống) và sau dấu % là tên của packages mới(bạn sẽ cài đặt).

Nếu như bạn chỉ ra môi trường tạm thời  ROOT trước khi thực hiện upgradepkg thì đường dẫn sẽ sử dụng  tạm thời là catalog gốc của HĐH. Điều này có lợi cho cấu hình hệ thống với các đĩa cứng khác bởi vì thông thường nó hay sử dụng mount tới /mnt hay chỗ khác...nhưng khác với /
Giống như installpkg,removerpkg,bạn có thể chỉ ra một vài packages để xoá hoặc có thể dùng tập hợp tên đại diện.

rpm2tgz/rpm2targz

Red Hat Package Manager là một trong những định dạng packages rầt là phổ biến.Có rất nhiều nhà lập trình định dạng sản phẩm của mình ở dạng .rpm format.Nhưng đó không phải là dạng chuẩn format của Slackware Linux.Chính vì thế chúng tôi không khuyến khích các bạn sử dụng chúng.Tuy nhiên vẫn có các công cụ cho phép sử dụng được cả mã nguồn của RPM.Chúng ta giới thiệu ứng dụng chuyển đổi từ dạng RPM(.rpm) sang TGZ(.tgz) có tên là rpm2tgz và rpm2targz dùng để chuyển RPM(.rpm) sang TAR.GZ(.tar.gz).

5.9.3 Tạo packages

Việc tạo packages có thể nói rất đơn giản và cũng rất phức tạp.Không có một phương pháp nào chuẩn mực cả.Tuy nhiên yêu cầu chung là packages cần phải ở dạng tar gziped nếu cần script-install thì nó nhất thiết phải ở catalog /install/doinst.sh.
Nếu như bạn thích tạo một packages cho hệ thống của bạn hoặc mạng thì bạn cần phải xem xét tới những script-build khác nhau ở catalog gốc hệ thống Slackware.Tuy nhiên vẫn còn có một vài phương pháp khác để tạo packages.

explodepkg

explodepkg(8) được coi là như installpkg dùng để bung packages ra nhưng mà không tiến hành cài đặt.Không có bất cứ một thay đổi nào về cơ sở dữ liệu packages.Nó chỉ đơn giản bung packages ra catalog hiện hành.

Nếu như bạn để ý vào cây catalog gốc Slackware thi bạn sẽ nhận thấy chúng tôi sử dụng nó cho  khung cấu hình của packages.Những packages  này chứa  những  khung bao giống như vẻ bên ngoài của nó.Nó lưu lại tất cả các thông tin cần thiết,tên files,quền hạn,buid-script..

makepkg

makepkg(8) được  chạy từ catalog hiện hành bên trong Slackware package.Nó tìm hết những liên kết kí tự(link simbol) và bổ sung vào chúng script-build package.Chương trình đưa ra thông báo khi mà  xác định được  những file zero-lenght(độ dài không) ở cây catalog trong package.
Chương trình này thường được thực hiện sau khi bạn đã tạo ra cây catalog trong package của bạn.

5.9.4 Tạo  tags và  tagfiles(cho chương trình  cài đặt)

Chương trình  cài đặt Slackware thực hiện cài đặt packages  vào hệ thống của bạn.Tuy nhiên có những tập tin mà  các ứng dụng cài đặt thường nói:"Những files này nhất định phải cài vào,những files này không nhất thiết,loại nào theo ngầm định..."
tagfile sẽ tìm kiếm ở  catalog  những  bộ tập tin mà gọi là tagfile.Nó sẽ đếm những packages trên những đĩa khác nhau và trạng thái của nó.Trạng thái có thể là:

ADD
Package cần thiết cho hệ thống làm việc bình thường
SKP
Package cần thiết cho tự động thực thi
REC
Package không nhất định cần thiết nhưng mà khuyến khích
OPT
Package không nhât định cần thiết
Dạng cấu trúc đơn giản như sau:

<package name>: <status>

Một package trên một dòng.Dạng chuẩn tagfiles cho mỗi loại chương trình được lưu lại ở tagfile.org. Vì vậy nếu như bạn cảm thấy có gì không ổn thì có thể khôi phục lại dạng chuẩn của nó.Có rất nhiều nhà quản lý(Administrators) thích viết ra những tagfiles riêng cho chính mình và sau đó khi cài đặt chỉ đơn giản chon "full".Chưong trình cài đặt tìm tagfiles và thực hiện cài đặt với tương ứng nội dung trong nó.Nếu như bạn chọn REC hoặc OPT thì xuất hiện hộp thoại hỏi bạn về việc có cài tiếp package hay không.Chính vì thế khuyến khích chọn lựa dùng ADD và SKP nếu như bạn tự mình tạo ra tagfiles cho quá trình tự động cài đặt.

Chú ý  tập tin tagfiles của bạn sẽ cần phải  nằm ở vị trí tiêu chuẩn  hoặc là bạn có thể chỉ đường dẫn cho nó bằng cách  sử dụng tagfile.

Mục Lục

Biên dịch: Vũ Dũng(vudung@mail.ru)
website:http://khigiacmoquayve.narod.ru
1-9-2005 Voronezh Russian
Hosted by uCoz