Giới thiệu cách cài đặt phần mềm từ gói tarbal

SysVN đã giới thiệu bài viết cách cài đặt phần mềm trên CentOS từ lệnh yum và rpm các bạn có thể xem lại tại đây. Nay SysVN tiếp tục giới thiệu cách cài đặt phần mềm trên Linux bằng gói tarbal. Trước khi đến với bài viết này, mời các bạn xem bài viết nén và giải nén trên Linux.

  1. Giới thiệu

Thường khi cài một gói RPM nào đó, đòi hỏi phải cài thêm các gói phụ thuộc, bạn phải đi tìm và cài đặt các gói phụ thuộc trước khi cài được gói phần mềm trên. Hoặc cũng có thể gộp chung lại trên một dòng lệnh với lệnh RPM một danh sách các file RPM, được cách nhau bởi dấu khoảng trắng. Trong Redhat hoặc Mandrake ở các phiên bản mới, Software Package Installation cũng tương tự như trình Add/Removed Software trong Windows vậy. Các tiện ích đi kèm trong bộ cài đặt được liệt kê đầy đủ theo từng nhóm để tiện theo dõi. Khi cài đặt một phần mềm, chương trình sẽ tự động kiểm tra các gói phụ thuộc và sẽ yêu cầu bạn đưa các CD cần thiết vào trong quá trình cài đặt. Một kiểu cài đặt phần mềm phổ biến khác là bạn cài đặt từ các gói mã nguồn, thường được viết bằng ngôn ngữ C. Các gói này có dạng file nén *.TAR.GZ, *.BZ hoặc *.SRC.RPM. Trong trường hợp này, máy tính của bạn phải có sẵn các bộ công cụ biên dịch và các thư viện lập trình. Sở dĩ phải có dạng TAR vì các file phải được gói lại thành một file trước khi nén thành GZ hoặc BZ, chứ không thể nén trực tiếp từ nhiều file thành một file nén được. Bản thân file *.TAR không phải là một file nén mà chỉ là một file chứa một tập các file khác gom lại mà thôi. Lợi thế của việc cài đặt từ gói tarball là chúng ta có thể tinh chỉnh lại các thông số của phần mềm theo ý của mình như đường dẫn cài đặt. Trong khi đó cài từ gói rpm chúng ta không thể tinh chỉnh các thông số, nhà phát triển cung cấp thế nào thì mình sử dụng.

Một tarball (thường là các file .tar , .tar.gz , .tgz , .tar.bz2 , .tbz2 ) gồm có mã nguồn cho chương trình mà bạn phải tự biên dịch, trình biên dịch (compile) như GCC… thì thường có sẵn trong Linux . Các bước cài đặt Tarball về cơ bản như sau

2. Cài đặt phần mêm

Giải nén tarball

Với những người còn mới với Linux thì tarball là một thuật ngữ được sử dụng chung nhằm ám chỉ một file có chứa các file khác. Nó gần giống như một file nén ZIP hoặc RAR trong Windows, ngoại trừ chương trình tar không nén các file . Tar làm việc với một chương trình nén như gzip để nén các file, đây là lý do tại sao bạn thấy hai đuôi mở rộng (.tar và .gz). Các đuôi mở rộng này đôi khi còn được viết tắt là .tgz Tuy nhiên không cần phải chạy hai chương trình riêng biệt để bung các file mà chúng ta chỉ cần lệnh cho tar chạy các file thông qua gzip để giải nén. Bạn có thể sử dụng tiện ích đồ họa để bung các file này bằng cách kích đúp vào tarball từ bộ quản lý file của mình, hoặc có thể thực hiện điều đó bằng dòng lệnh:

# tar zxvf file.tar.gz hoặc

# tar zxf file.tar.gz

# tar zxf file.tgz

# tar jxf file.tar.bz2

# tar jxf file.tbz2

Các tùy chọn chúng ta cung cấp cho tar được mô tả bên dưới:
 -z để lệnh cho tar chạy file này thông qua gzip để giải nén (sử dụng –j cho các file bzip)
 -x để bung các file
 -v cho “verbose”, để chúng ta có thể thấy danh sách các file đang bung
 -f để lệnh cho tar rằng chúng ta đang làm việc với một file

Configure
Khi các file được bung ra, mở một command terminal và vào thư mục nơi các file được giải nén trong đó. Trước khi biên dịch, chúng ta cần chạy kịch bản cấu hình. Công việc của kịch bản cấu hình là kiểm tra hệ thống của bạn về tất cả những gì phần mềm cần thiết để biên dịch chương trình từ mã nguồn thành chương trình nhị phân có thể sử dụng được. Nó sẽ tìm kiếm những thứ như phiên bản GCC và các công cụ cần thiết khác để xây dựng phần mềm. Khi bạn đứng trong thư mục với tất cả các file đã được bung từ tarball, hãy đánh vào ./configure. Nếu tất cả đều diễn ra tốt đẹp, lệnh trên sẽ kiểm tra một loạt các phần khác nhau của hệ thống bạn. Vấn đề gây ra lỗi chung nhất trong bước này là mất dependency. Hãy quan sát bất cứ lỗi nào mà bạn gặp phải để xác định xem gói phần mềm nào bị thiếu.

Make

Đây là phần cốt lõi của quá trình – nơi chúng ta biên dịch mã nguồn thành một chương trình có khả năng chạy. Đây là bước đơn giản nhất, chỉ yêu cầu một lệnh đơn giản. Nếu bước cấu hình hoàn tất mà không có lỗi, bạn chỉ cần đánh vào make. Đối với các chương trình lớn, bước này có thể mất đến vài phút. Khi quá trình kết thúc, bạn sẽ được đưa quay trở lại shell nhắc lệnh. Chương trình của bạn lúc này đã hoàn toàn sẵn sàng cho sử dụng. Mặc dù vậy bạn vẫn nên chạy thêm một bước nữa để chương trình có thể được cài đặt hoàn toàn vào đúng vị trí cần cài và có thể chạy từ bất cứ đâu.

Make install

Tất cả những gì cần thiết lúc này là copy chương trình vừa được biên dịch vào các thư mục hệ thống như /usr/bin để có thể chạy từ bất cứ thư mục nào mà không cần chỉ định đường dẫn đến các file. Do nó sẽ copy đến một thư mục bên ngoài thư mục chủ nên bạn có thể cần đến các đặc quyền root. Nếu bước này được hoàn tất mà không có lỗi, bạn hãy chạy sudo make install để copy các file. Đến đây, bạn đã hoàn thành xong phần việc của mình. Chương trình mới của bạn có thể được sử dụng giống như bất cứ chương trình nào đang chạy khác.

3. Các mẹo

Bạn có thể biên dịch từ mã nguồn nhiều lần (nhất là với những người muốn sử dụng các chương trình mới nhất) nên để làm cho quá trình biên dịch đó dễ dàng hơn, bạn hãy mở file .bashrc của mình từ thư mục chủ và bổ sung thêm các alias dưới đây vào phần cuối của nó:
alias ungz=”tar -zxvf” alias unbz=”tar -jxvf” alias cmi=”./configure && make &&make install”
Xem thêm phần Read INSTALL / README file đi kèm tarball nếu gói phải được build và install theo cách riêng
#vi INSTALL (hoặc Readme)
(Vim là Text Editor, trên Ubuntu thay bằng gedit, nano,… )
Để gỡ bỏ phần mềm khỏi hệ thống bạn chuyển tới folder chứa source của phần mềm bạn download về và gõ #make uninstall

4. Ví dụ cài đặt web server Apache

Đường dẫn để tải phần mềm máy chủ Web Apache

wget http://mirrors.viethosting.vn/apache//httpd/httpd-2.4.12.tar.gz

Đường dẫn để tải hai gói phụ thuộc apr và apr-util

wget http://mirrors.digipower.vn/apache//apr/apr-1.5.1.tar.gz

wget http://mirrors.digipower.vn/apache//apr/apr-util-1.5.4.tar.gz

Bắt đầu cài đặt, sử dụng chương trình ssh client để kết nối vào máy chủ như putty, secuCRT, Private Shell,…

Giải nén ba gói bằng lệnh

# tar -zxvf apr-1.5.1.tar.gz

# tar -zxvf apr-util-1.5.4.tar.gz

# tar -zxvf httpd-2.4.12.tar.gz

Do Apache được viết bằng ngôn ngữ C nên trước tiên phải cài các trình biên dịch C như gcc bằng lệnh

# yum –y install gcc* make*

Do phần mềm máy chủ web apache có hai gói phụ thuộc apr và apr-util nên phải cài trước hai gói này.

Cài apr

Tạo đường dẫn nơi cài đặt

mkdir –p /build/apr

Di chuyển vào nơi chứa source code

# cd /usr/local/src/apr-1.5.1

Gõ lệnh

# ./configure –prefix=/build/apr

Tham số –prefix=/build/apr có nghĩa là đường dẫn cài đặt apr là /build/apr. Sau khi gõ lệnh “./configure –prefix=/build/apr” nếu không thành công thì kiểm tra lại xem lỗi gì, thường thì do thiếu thư viện, ta tiến hành cài thư viện còn thiếu đó rồi gõ lại lệnh “./configure –prefix=/build/apr”. Nếu thành công thì tiếp tục gõ hai lênh:

# make

# make install

Quá trình cài đặt apr thành công, tương tự cài đăt gói apr-util

# mkdir /build/apr-util

# cd /usr/local/src/apr-util-1.5.4

# ./configure –prefix=/build/apr-util/ –with-apr=/build/apr

# make

# make install

Cuối cùng là cài httpd

Cài thêm các thư viện cần thiết cho httpd

# yum –y install pcre pcre-devel openssl openssl-devel

# mkdir /build/httpd

# cd /usr/local/src/httpd-2.4.12

./configure –prefix=/build/httpd  –with-apr=/build/apr –with-apr-util=/build/apr-util –with-mpm=worker –enable-mods-shared=most –with-ssl –enable-ssl –with-program-name=httpd_server

# make

# make install

5. Gỡ bỏ phần mềm

Đối với phần mềm đóng gói nhị phân rpm có hai lệnh thông dụng để xóa
# yum remove tenphanmem
# rpm –e tenphanmem
Nếu phần mềm cần xóa có những phần mềm phụ thuộc, để xóa phần mềm đó trước hết phải xóa những phần mềm phụ thuộc. Điều này làm mất thời gian và có thể gây ảnh hưởng đến hệ thống. Để xóa phần mềm mà ko cần xóa các gói phụ thuộc thì dùng lệnh
# rpm –e tenphanmem –nodeps
Đối với các phần mềm cài đặt từ source code, để xóa có hai cách. Cách thứ nhất là vào nơi chứa source code cài đặt ban đầu và gõ lệnh
# make uninstall
Cách thứ hai chỉ cần xóa thư mục cài đặt đi là xong