Chuyển đến nội dung chính

Bài 2: Ứng dụng trên linux


Có nhiều bạn khi lần đầu tiên đến với Linux cảm giác sự khó khăn và bất tiện của việc cài đặt các ứng dụng trên Linux, đặc biệt là các ứng dụng phải cài đặt từ mã nguồn như xine, openGL…

Trên Windows, bạn chỉ cần tải ứng dụng về, giải nén rồi click vào file setup là hoàn tất việc cài đặt, nhưng trên Linux đó là một chuyện hoàn toàn khác.
Bài viết này sẽ nhằm mục đích hướng dẫn bạn các thao tác cài đặt các phần mềm ứng dụng trên Linux và cung cấp các kiến thức căn bản giúp bạn có thể quản lý hệ thống của riêng mình

Bài viết sẽ giả sử rằng bạn đã biết cách sử dụng một số phần mềm quản lý gói như rpm (cái này đợi bài sau). Để dễ dàng thì bài viết sẽ gọi các phần mềm trên Linux là các gói (package). Thực tế tên gọi ‘gói’ đúng đắn hơn vì các gói trên Linux có thể không phải là một trình ứng dụng nào đó mà chỉ là các thư viện nền như thư viện đồ họa Gtk+ hoặc OpenGL…






1. Giới thiệu

Bạn có thể sẽ tự hỏi rằng tại sao các phần mềm trên Linux không tự đóng gói sẵn cho chúng ta rồi khi xuất bạn chỉ cần tải về và cài đặt nó. Câu trả lời nằm ở 2 vấn đề, vấn đề thứ 1 là các phần mềm viết trên Linux không hẳn chỉ có thể chạy trên Linux mà có thể chạy trên nhìều hệ thống khác nhau trong họ Unix như Solaris, AIX, HP-UX… thậm chí các phần mềm đó có thể chạy trên rất nhiều vi xử lý khác nhau như Intel, Motorola, PPC… Có được sự đa năng đó là nhờ vào tính đa nền (portable) của ngôn ngữ C/C++ nhưng đòi hỏi chúng ta phải biên dịch lại phần mềm từ mã nguồn cho hệ thống mà chúng vận hành. Bạn sẽ tự hỏi là tại sao các nhà phát triển lại không biên dịch sẵn cho chúng ta trên hệ thống thông dụng nào đó như Linux chẳng hạn.

Câu trả lời là bởi vì các phần mềm này là phần mềm mã nguồn mở và các nhà phát triển không có cách gì hơn là để lại phần biên dịch cho chúng ta. Tuy nhiên bạn đừng thất vọng vì có một số nhà phát triển rất là tốt bụng có thể biên dịch sẵn cho chúng ta ra các gói có dạng rpm và cùng với sự hỗ trợ của công ty Red Hat chúng ta cũng đã có những chương trình quản lý các phần mềm hiệu quả không kém gì trên Windows như RPM (Redhat Package Manager). Mặc dù là thế nhưng không phải lúc nào các gói mới nhất từ các nhà phát triển gốc đều có phiên bản biên dịch sẵn mà thường là một khỏang thời gian sau các phiên bản đó mới có được dưới dạng biên dịch sẵn. Bên cạnh đó còn có rất nhiều nhà phát triển không hề biên dịch sẵn sản phầm của mình mà đòi hòi người dùng phải biên dịch, điển hình là trình chơi phim và nhạc xine. Các gói biên dịch sẵn các bạn có từ xine đa số là từ các nhà phát triển khác. Do đó nếu bạn không bạn không biết cách cài đặt các gói từ nguồn là một trở ngại rất lớn cho việc hiểu và quản trị hệ thống của riêng mình.

2. Căn bản của việc cài đặt
Điều đầu tiên khi bạn tiến hành cài đặt là bạn phải có mã nguồn của gói đó trước. Hãy lên mạng search bất kì gói nào bạn thích như thư viện Gtk+ hoặcGnome… Sau khi tải về, thông thường có dạng là .gz hoặc .bz2, đây đều là 2 chuẩn nén khác nhau, sau khi giải nén bằng gunzip cho gz hoặc bunzip2 cho bz2 thì các gói sẽ có dạng mới là tar, cũng là một chuẩn nén khác, bạn có thể giải nén bằng lệnh, tar -xvf… Thế nhưng đế dễ dàng và tiết kiệm dung lượng ổ đĩa thì chúng ta có thể gộp các câu lệnh đó thành 1 như sau:

- Đối với gói .gz: # tar -zxvf tengoi.gz
- Đối với gói .bz2: # tar -jxvf tengoi.bz2
Sau khi giải nén xong và tìm tập tin INSTALL để đọc cụ thể cho phần hướng dẫn cài đặt. Thế nhưng hầu như các gói đều tuân theo các thao tác tuần tự sau:

# ./configure
# make
# make install

Chỉ có vài gói đặc biệt sẽ có riêng cách cài đặt nhưng khi bạn đã nắm vững nguyên tắc chung thì dù là cách thức nào bạn cũng có thể xoay xở được. Chúng ta hãy xét đến câu lệnh đầu tiên, ./configure… Thực chất configure là một shell script sẽ kiểm tra những yêu cầu của hệ thống của bạn có đáp ứng đủ để cài đặt gói lên không, ví dụ như một số gói đòi hỏi bạn phải có sẵn thư viện đồ họa Gtk 2.4 trở lên hoặc là thư viện để giải nén nhạc Mp3…

Rất nhiều gói có sự phụ thuộc như thế chứ các gói khi tải về không hề có sẵn các gói tương ứng cần thiết cho nó. Khi bạn chạy configure xong kết quả sẽ cho bạn biết các gói nào cần thiết để cài đặt. Nhiệm vụ của bạn không gì hơn là phải tìm các gói phụ thuộc đó cài lên máy rồi mới tiếp tục việc cài đặt. Nếu như hệ thống của bạn thỏa mãn đầy đủ các yêu cầu để cài đặt thì các Makefile sẽ được tạo ra. Makefile là một file đặc biệt của tiện ích make nhằm hướng dẫn biên dịch mã nguồn của gói ra dạng thực thi.

Sau khi bạn thực thi lệnh ‘make’ xong thì toàn bộ mã nguồn của gói đã được biên dịch sang dạng thực thi nhưng các file thực thi vẫn còn nằm trên thư mục hiện hành. Do đó bạn cần phải thực hiện thêm lệnh ‘make install’ để chép các file thực thi đó sang đúng vị trí của nó trên hệ thống. Nếu như không có thông báo lỗi gì xảy ra thì bạn đã hòan tất việc cài đặt gói lên hệ thống của mình.

3. Tổ chức các file trên hệ thống

Bạn hoàn toàn biết thư mục trên Linux thì thư mục /usr là thư mục quan trọng nhất vì nó sẽ chứa các chương trình và hàm thư viện trên đó. Trong thư mục/usr/bin là sẽ chứa các file thực thi cho các gói bạn đã cài đặt trên máy, các file trong thư mục này bạn sẽ thấy các file rất quen thuộc như mozilla, gedit .v.v… Thư mục /usr/lib sẽ chứa các hàm thư viện, bạn sẽ thấy rất nhiều files có phần mở rộng là .so (shared object) là các hàm thư viện liên kết động hoặc .a (archive) hoặc .la đều là các hàm thư viện liên kết tĩnh. Đặc tính căn bản của 2 dạng thư viện này là hàm thư viện liên kết tĩnh sẽ được liên kết thẳng với files thực thi luôn trong quá trình liên kết, còn hàm thư viện liên kết động thì sẽ được liên kết trong quá trình thực thi, cho nên sau khi chương trình đã được biên dịch và liền kết rồi các thư viên tĩnh chúng ta có thể bỏ đi nhưng thư viện liên kết động thì bắt buộc phải đi kèm với chương trình. Thư mục /usr/share sẽ chứa các icon, manual hoặc info của gói.

4. Loại bỏ một gói

Nếu bạn mong muốn lọai bỏ một gói đã cài đặt trên hệthống thì cách duy nhất là bạn phải vào lại thư mục mã nguồn của gói và gõ lệnh make ‘uninstall’… thông thường bạn sẽ có các câu lệnh sau: ‘make clean’ ‘make distclean’… Các câu lệnh có ý nghĩa rất tương đối và được định nghĩa trong tập tin Makefile, nên đầu tiên bạn cứ thử với ‘make uninstall’ rồi ‘make clean’ cái cuối cùng ‘make distclean’ là giúp bạn xóa hết các tập tin đã biên dịch ở thư mục nguồn và đồng thời xóa Makefile, bạn phải chạy lại ./configure để tạo lại Makefile.

5. Quản lý các gói

Do việc xóa bỏ một gói như trên rất là phiền phức đôi lúc bạn chẳng thể xóa bỏđược nếu như mất đi mã nguồn, cho nên bạn có thể thay vì cài nó vào thư mục mặc định là /usr thì bạn có thể cài vào các thư mục của riêng bạn, ví dụ như bạn có thể tạo thư mục ‘/soft‘… Sau đó để cài gói gedit thì bạn tạo thêm thư mục/soft/gedit và dùng lệnh ./configure… bạn thêm tùy chọn sau:

./configure –prefix=/soft/gedit

Thì khi bạn gõ make install sẽ copy toàn bộ sang thư mục /soft/gedit. Khi bạn muốn xóa toàn bộ gói thì chỉ đơn giản xóa đi thư mục đó thôi. Lưu ý là khi bạn cài vào thư mục riêng của mình rồi bạn phải tạo 2 đường dẫn cho 2 biến môi trường (environment variable) 


LD_LIBRARY_PATH vàPKG_CONFIG_PATH.

LD_LIBRARY_PATH sẽ có đường dẫn đến thư mục lib của gói vừa tạo (ví dụ như/soft/gedit/lib) còn PKG_CONFIG_PATH sẽ có đường dẫn đến thư mụcpkg_config trong thư mục lib (ví dụ như /soft/gedit/lib/pkg_config). Bên cạnh đó nếu bạn muốn chương trình gọi tự động thì bạn cũng nên thêm vào biếnPATH cho gói của mình.

6. Lời kết

Đối với cách cài trên thì bạn dể dàng quản lý các gói của mình nhưng đối với các dạng thư viện thì bạn nên cài nó vào thư mục /usr hơn là thư mục riêng của mình vì một số gói sẽ tìm các thư việc trên thư mục mặc định /usr và /usr/local hơn là các thư mục riêng người dùng nên nếu bạn cài lên thư mục riêng thì đôi lúc các thư viện đó sẽ không được tìm ra. Thông thường lệnh ./configure đi đôi với rất nhiều tùy chọn cho phép bạn lựa chọn nhiều tính năng khác nhau, bạn hãy gỏ ./configure –help để mà biết đầy đủ các tùy chọn của gói. Bài viết chắc chắn sẽ không tránh khỏi những thiếu sót bằng cách này hay cách khác, rất mong sự góp ý của các bạn, Xin cám ơn.

Nhận xét

Bài đăng phổ biến từ blog này

Backup and Restore MS SQL Server 2008 Database

  Backup and Restore MS SQL Server 2008 Database Bài viết này hướng dẫn các bạn backup và restore database sử dụng Microsoft SQL Server Management Studio. Công việc quản trị database đồi hỏi các bạn thật sự cẩn thận và phải có chiến lược backup hợp lý. vì lỡ một ngày đen đủi ổ cứng server die là coi như mình cũng die theo nó đối vế hệ thống server dữ liệu quan trọng thì việc backup database là vô cùng cần thiết. Sau đây mình hướng dẫn cách backup và restore database Mysql server 2008. 1. Backup database Sqlserver 2008. Step 1 : Open your Microsoft SQL Server Management Studio, whichever you prefer, standard or express edition. Step 2 : Dùng  User có quyền quản trị databse để login vào MS SQL server database. Step 3 : Select the database >> Right-click >> Tasks >> Back Up [xem hình bên dưới]: Bấm chọn  “ Backup ” hợp thoại backup xuất hiện Step 4 : chọn các loại backup. ở đậy mình chọn backup full. Backup type: F...

Hotswap và hot Plug là gì ?

Thuật ngữ Hot swap (tạm dịch: trao đổi nóng) là khả năng tháo gỡ và thay thế các bộ phận của một chiếc máy tính trong khi hệ thống vẫn đang chạy. Người ta còn dùng thuật ngữ Hot plug để chỉ khả năng này. Tháo lắp "nóng" thiết bị trong khi hệ thống vẫn đang hoạt động. Một khi phần mềm chuyên xử lý cái vụ hot swap được cài đặt vào máy tính, bạn có thể gắn vào và tháo ra thiết bị mà không cần phải tắt máy (shutdown, turn off) hay khởi động lại (reboot). Khả năng này cho phép bạn gắn hay tháo gỡ một cách dễ dàng các linh kiện ngoại vi như chuột, bàn phím, máy in,... Hồi xửa hồi xưa, chỉ có các hệ thống đắt tiền mới có khả năng này, vì việc hiệu chỉnh, cấu hình nó rất là nhiêu khê. Nguyên lý hoạt động của nó thế này: Các máy hỗ trợ hot swap cần phải có khả năng dò tìm và phát hiện có một bộ phận nào đó vừa được gỡ ra. Ngoài ra, tất cả các mối kết nối điện và cơ khí cũng cần phải được thiết kế làm thế nào để không làm tổn hại cho thiết bị cũng như người sử dụng mỗi ...

Hướng dẫn cài đặt Apache, MySQL, PHP, PhpMyAdmin trên CentOS 5.2

 Hướng dẫn cài webserver trên hệ điều hành Linux Centos Trong quá trình làm lab, test cho webserver chạy hệ điều hành linux dưới localhost, bài test đã hoàn thành đúng yêu cầu, nên mình viết lại các quá trình làm lab. Bài viết có gì thiếu xót mong các bạn bỏ qua. " Các bước cài đặt yêu cầu máy tính bạn được kết nối internet " Centos là một hệ điều hành mã nguồn mở mạnh mẽ với những tính năng quả trị rất mạnh, Nếu bạn muốn setup cho mình một hệ thống máy chủ webserver nhưng với chị phí hạn hẹp, trong khi đó server 2008/2003 thì chi phí quá cao. Thì Centos là một giải pháp cho các bạn đơn giản vì nó free và hiệu quả. Sau đây mình hướng dẫn các bạn các ứng dụng cơ bản ban đầu của Centos. TIẾN HÀNH CÀI ĐẶT NHÁ. 1. Cài đặt Apache server: Apache là chương trình máy chủ của HTTP . Apache chạy được trên các hệ điều hành như Unix, Window, Novell Netware và các hệ điều hành khác. Nó đóng vai trò quan trọng trong việc phát triển web.     Các bước cài đặt:  ...

Cài đặt phần mềm symantec backup exec 11d for windows server

1.    Tìm hiểu về ph ần mềm symantec backup exec 11d for windows server 1.1.               Giới thiệu Đây là giải pháp quản lý dữ liệu hiệu suất cao của symantec, được thiết kế theo mô hình client/server cung cấp khả năng backup và restore nhanh và tin cậy cho hệ thống server và workstation trên nền Windows. Bộ phần mềm symantec backup exec 11d có các version sau: ·          Symantec backup exec 11d for windows server ·          Small business server edition ·          Quickstart edition Tùy vào viersion khác nhau mà tính năng và số lượng agent được hỗ trợ khác nhau. 1.2.               Symantec backup exec 11d for windows server hoạt động như thế nào   1.1.       ...

Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server

    Xây dựng một hệ thống High Available (HA) là một nhiệm vụ sống còn dành cho doanh nghiệp hiện nay. Đã có những trường hợp đáng tiếc khiến cho doanh nghiệp phải chịu những thiệt hại lớn không đáng có, thậm chí là mất đi các khách hàng quan trọng – nguồn sống trong kinh doanh.  Trong bài “Để website luôn online với cluster Apache High Availability Linux” đăng trên một số trang web hiện nay tuy thuận tiện nhưng vẫn còn những nhược điểm đáng kể. Một trong những nhược điểm đó là hệ thống chỉ có tác dụng chịu lỗi (Fail Over) mà không thể cân bằng tải (Load Balancing). Do đó, hệ thống chỉ có thể thích hợp với những doanh nghiệp nhỏ lẻ, nhu cầu truy cập web của khách hàng không cao. Nếu sử dụng phương thức trên cho doanh nghiệp lớn thì sẽ gây hiện tượng thắt cổ chai (bottle neck) làm nghẽn lưu lượng truy cập. Mặt khác, doanh nghiệp muốn triển khai thêm nhiều dịch vụ khác thì đây không phải là một lựa chọn thật sự hiệu quả. Một giải pháp được  đưa ra l...

Lênh căn bản cho người bắt đầu dùng linux

 Những lệnh căn bản về Linux Khi bước chân vào Linux, các bạn nào mới tiếp xúc và lần đầu tiên làm quen với linux thì lúc đầu còn gặp nhiều bỡ ngỡi. hôm nay mình chia sẻ với các bạn vài lệnh căn bản để sử dụng và làm quen với hệ điều hành Linux. Lệnh cơ bản hệ thống. Lệnh change password root.   Passwd Lệnh mở thư mục # cd / var/www/html (câu l ệnh này dùng để mở thư mục html nằm trong www-var) L ệnh xem quyền hạn thư mục và file ll  ( Ví dụ ta muốn xem các tập tin và thư mục trong folder www quyền là gì, vào thư mục html và đánh lệnh ll để xem) 4.         Lệnh Rename tập tin, folder. # mv phpMyAdmin-3.2.4-english phpmyadm ( đ ổi tên thư mục phpMyAdmin-3.2.4-english thành phpmyadm) L ệnh xem dung lượng ổ cứng Df Xem dung l ượng sử dụng bộ nhớ (Ram) Free –m L ệnh xem ai đã login về hệ thống. Last ...

TỔNG QUAN MICROSOFT FOREFRONT THREAT MANAGEMENT GATEWAY

Vừa qua, Microsoft đã công bố sản phẩm Forefront Threat Management Gateway (Forefront TMG) Beta1, đây là sản phẩm cung cấp tính năng bảo mật tích hợp giữa Internet Security and Acceleration Server (ISA) , Forefront Client Security, Forefront Security for Exchange Server, Forefront Security for SharePoint. Các đặc điểm của Forefront TMG: - Bảo vệ hệ thống toàn diện - Quản lý đơn giản - Đơn giản giám sát hệ thống Forefront TMG cung cấp đầy đủ các tính năng của một Firewall: A. Các tính năng mới: Tính năng Mô tả Tương thích với Windows Server 2008, 64-bit TMG chỉ có thể chạy trên Windows Server 2008 64-bit Tùy chọn Antivirus, Antimalware - Quét những file bị lây nhiễm - Ngăn chặn những file bị nghi ngờ - Ngăn chặn những file tìm thấy đã bị hỏng - Ngăn chặn những file không thể scan - Ngăn chặn tất cả file đã được mã hóa - Ngăn chặn những file vượt quá thời gian admin qui định cho phép quét - Ngăn chặn những file có kích thước lớn do admin qui định ...

Scheduling automated backup using SQL server 2008

Ở bài trước mình đã hướng dẫn các bạn backup database Mysql server 2008 bằng cách thủ công là khi nào mình cần backup thì vào trong database chọn database backup lại, nhưng công việc này thì không mấy khả thi cho lắm, đối với những ai quản lý một lúc cùng nhiều con server database thì việc này vô cúng chiếm nhiều thời gian và lỡ như một ngày nào đó vô tình quên thì mọi chuyện trở nên rắc rối khi đúng ngày mình quên backup databse thì server die, lúc này không biết lấy gì lấy đâu database ngày đó restore lại. Các bạn đừng lo, trong bài viết này mình hướng dẫn các bạn xếp lịch backup database hoàn toàn một cách tự động. Ở bài này mình thực hiện việc backup định kỳ mỗi ngày vào lúc 12:00 AM. Các bước thực hiện Scheduling automated backup using SQL server 2008 :   1. Để bắt đầu tiến hành backup được Database chúng ta phải login vào Qsl server 2008 với quyền tài khoản quản trị. ớ đây mình dùng tài khoản mật định là Sa ( là tài khoản có quyền cao nhất trong sql server 2008). ...

Cài đặt VMware vSphere ESXi 5

Cài đặt VMware vSphere ESXi 5 Nghiên cứu vSphere cũng đã khá lâu, cũng có viết một số bài lab nhưng chưa publish lên. Thôi thì hôm nay dành ít thời gian để đăng tải loạt bài về VMware vSphere ESXi 5 lên blog, để nó mốc meo lâu quá rồi ^^! Mô hình mạng sẽ sử dụng trong các bài lab sắp tới như sau : Trong bài này, Tôi sẽ viết về quá trình cài đặt ESXi 5 và giới thiệu tổng quan một số thông tin, tùy chọn trên phiên bản ESXi 5. Đầu tiên là các bạn phải file .iso của ESXi 5 về và boot từ CD (.iso nếu cài trên máy ảo. Quá trình cài đặt: - Load các file cần thiết - Thông tin phần cứng - Nhấn [Enter] - Nhấn F11 để đồng ý các điều khoản - Quét kiểm tra phần cứng - Chọn ổ cứng để cài đặt vSphere ESXi 5.0 - Nhấn Enter để tiếp tục ( Default) - Nhập password cho quyền root. - Quá trình cài đặt bắt đầu. . - Việc cài đặt vSphere ESXi 5đã hoàn tất. - Khởi động lại server. Màn hình Console và các Option: Màn hình mặcđịnh kh...

File Monitoring and Auditing "Phần mềm giám sát try cập vào File server"

File Monitoring and Auditing PA File Sight is a file monitoring software that will help you determine who is reading from and writing to important files. It can tell you when a new file or folder is created or renamed. And, with our file watcher, when a file or folder gets deleted, PA File Sight can tell you who did it and what computer they did it from (IP address and computer name). Besides file access auditing and logging actions, the Ultra Edition helps you further by providing historical reports to help see what happened earlier, whether you chose to be notified or not. AND it lets you alert on user usage patterns (reading X files in Y time for example) to help detect file copying activity . Report from PA File Sight Ultra. Note: the Lite edition has alerting, but not reporting.