Linux Toan Tap Qua Hay

115
Các lệnh căn bản trong linux Lệnh thống kê dung lượng thư mục Linux [root@unix1 webhostings]# du -sh * Bài viết này không nói về cách cài đặt mà đi vào chi tiết, sau khi cài đặt xong sử dụng như thế nào.Đầu tiên bạn cần login vào hệ thống, bạn login vào với user root, mật khẩu do bạn đặt lúc cài đặt.User root là user có quyền tối cao (hay quyền cao nhất đối với một hệ thống Unix).Để xử dụng dòng lệnh bạn cần bật command shell lên, cái này tương tự như MS DOS của windows. [root@hautp ~]# Bạn xem thông tin về user mình đang login bằng lệnh: id [root@hautp ~]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(di sk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh Các chỉ số uid và gid sẽ cho biết quyền hạn của bạn trên hệ thống. 0 là quyền cao nhất rồi.Bây giờ bạn muốn login với user mới bạn sử dụng lệnh : useradd [root@hautp ~]# useradd quantrihethong vậy là bạn đã có user mới là quantrihethong trong hệ thống.Lệnh useradd có rất nhiều tham số khác nhau, để xem chi tiết bạn dùng lệnh man [quantrihethong@hautp root]$ man useradd Lúc trước khi tạo user quantrihethong chúng ta chưa tạo mật khẩu, bây giờ tạo mật khẩu cho user này, bằng lệnh passwd. [root@hautp ~]# passwd quantrihethong Changing password for user quantrihethong . New UNIX password: Sau đó nhập mật khẩu vào.Để chuyển sang user này bạn dùng lệnh : su

description

Linux toan tap

Transcript of Linux Toan Tap Qua Hay

Page 1: Linux Toan Tap Qua Hay

Các lệnh căn bản trong linux

Lệnh thống kê dung lượng thư mục Linux[root@unix1 webhostings]# du -sh *Bài viết này không nói về cách cài đặt mà đi vào chi tiết, sau khi cài đặt xong sử dụng như thế nào.Đầu tiên bạn cần login vào hệ thống, bạn login vào với user root, mật khẩu do bạn đặt lúc cài đặt.User root là user có quyền tối cao (hay quyền cao nhất đối với một hệ thống Unix).Để xử dụng dòng lệnh bạn cần bật command shell lên, cái này tương tự như MS DOS của windows.[root@hautp ~]#

Bạn xem thông tin về user mình đang login bằng lệnh: id

[root@hautp ~]# iduid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(di sk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Các chỉ số uid và gid sẽ cho biết quyền hạn của bạn trên hệ thống. 0 là quyền cao nhất rồi.Bây giờ bạn muốn login với user mới bạn sử dụng lệnh : useradd

[root@hautp ~]# useradd quantrihethong

vậy là bạn đã có user mới là quantrihethong trong hệ thống.Lệnh useradd có rất nhiều tham số khác nhau, để xem chi tiết bạn dùng lệnh man

[quantrihethong@hautp root]$ man useradd

Lúc trước khi tạo user quantrihethong chúng ta chưa tạo mật khẩu, bây giờ tạo mật khẩu cho user này, bằng lệnh passwd.

[root@hautp ~]# passwd quantrihethong

Changing password for user quantrihethong .

New UNIX password:

Sau đó nhập mật khẩu vào.Để chuyển sang user này bạn dùng lệnh : su

[root@hautp ~]# su quantrihethong

bạn kiểm tra lại bằng cách đánh lệnh : id

[quantrihethong@hautp root]$ iduid=501(quantrihethong) gid=501(quantrihethong) groups=501(quantrihethong) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Tiếp theo là các lệnh cơ bản với thư mục :Bạn cần biết hiện tại đang ở thư mục nào bạn dùng : pwd

[quantrihethong@hautp root]$ pwd/root

Page 2: Linux Toan Tap Qua Hay

Vậy là user quantrihethong đang ở thư mục /root.Các lệnh về thư mục ở trên unix tương tự như trên MS DOS của windows, chỉ có một số điểm khác biệt.Lệnh ls sẽ tương đương với dir.

rm : xóa file

rmdir : xóa thư mục

mv : di chuyển hoặc đổi tên file

cp : copy file, thư mục

cd : chuyển thư mục

Thực hành :

[quantrihethong@hautp root]$ lsls: .: Permission denied

Vậy là lỗi rồi, user quantrihethong không có quyền sử dụng lệnh ls. Lúc trước khi tạo user tôi chưa thêm shell cho user nên user sẽ không có quyền sử dụng lệnh này. Bây giờ tôi sẽ thêm shell cho user.Trước tiên cần chuyển về user root bằng lệnh : su root, nó sẽ hỏi mật khẩu --> nhập mật khẩu của root vào.Bạn dùng lệnh : usermod để thay đổi thông tin người dùng, cú pháp như sau:

SYNTAXusermod [options] [user]

Bạn chưa biết shell nằm ở đâu, nên cần dùng lệnh whereis để xem vị trí của shell

[root@hautp ~]# whereis bashbash: /bin/bash /usr/share/man/man1/bash.1.gz

[root@hautp ~]# usermod -s /bin/bash quantrihethong

Tiếp theo lại su về user quantrihethong

[quantrihethong@hautp root]$ lsls: .: Permission denied

a ah, vẫn bị lỗi. Vậy là không phải rồi, lúc này ta đã hiểu sai. Không phải user quantrihethong không có quyền dùng shell,vì vẫn dùng được lệnh pwd,... Mà là user quantrihethong không có quyền đối với thư mục /root

Đây là điểm rất khác biệt với windows, ở Unix phân quyền rất chặt chẽ dựa theo các quyền :

Read - Write - Execute (Đọc - Ghi - Thực thi)

Các quyền này được thể hiện bằng ký hiệu : r - w - x hoặc 4 - 2 -1

Page 3: Linux Toan Tap Qua Hay

Và với một thư mục quyền sẽ được phân cho : Owner - Group - others (người sử hữu - nhóm - người khác)

Để xem quyền của thư mục root ta dùng lệnh ls với tham số al:

[root@hautp /]# ls -al...drwxr-x--- 20 root root 4096 Nov 28 14:35 root...

Nhìn vào dòng trên ta sẽ nhận được thông tin như sau :

Owner là root

Group là root

drwxr-x--- : quyền đối với người dùng, chữ d ở đầu có nghĩa đây là thư mục, tiếp theo là quyền của owner :

rwx :--> owner có toàn quyền trên thư mục này, owner là root nên user root có toàn quyền trên thư mục này.

r-x :--> group có quyền đọc và chạy file, không có quyền ghi vào thư mục này.

--- :--> others không có quyền gì đối với thư mục này.

quantrihethong không thuộc group root nên không có quyền gì.

Nói thêm về cách thể hiện quyền đối với thư mục, như ở trên cói nói về cách thể hiện các quyền.drwxr-x--- sẽ tương đương 740, khi thư mục để quyền tự do nhất là rwxrwxrwx - 777 tức là bất kỳ ai cũng có đầy đủ các quyền với thư mục đó.Để thay đổi quyền bạn dùng lệnh CHMOD, để thay đổi owner bạn dùng lệnh chown, để thay đổi group bạn dùng lệnh chgroup.Việc đặt quyền hạn đúng sẽ là cực kỳ quan trọng đối với một hệ thống, không chỉ UNIX.

Hệ thống thư mục trên * NIX, bài này tôi lấy ví dụ cụ thể là Fedora 6.

Khi ở thư mục gốc / bạn đánh ls sẽ nhận được:

[root@hautp ~]# cd /[root@hautp /]# lsbin boot dev etc home lib lost+found media misc mnt net opt proc root sbin selinux srv sys tmp usr var

Đó là các thư mục trên một hệ thống Unix.

* Thư mục /bin

Đây là thực mục cực kỳ quan trong của 1 hệ thống unix, thư mục này chứa gần như tất cả các lệnh của hệ thống.

* Thư mục /etc

Page 4: Linux Toan Tap Qua Hay

Thư mục này chứa các các file con file của hệ thống, cũng như chứa thông tin về các service cần khỏi động khi hệ điều hành chạy.

Đối với hệ điều hành Linux thì các service chạy lúc khởi động sẽ được đặt trong thư mục init.d.

Đối với hệ điều hành SUN Solaris thì các service chạy lúc khởi động sẽ được đặt trong thư mục rc2.d.

Các thư mục trên sẽ thay đổi tùy hệ thống.

*Thư mục /usr

Thư mục này chứa file và chương trình của các user trên hệ thống.

Một điều thú vị trên hệ thống Unix là tất cả đều là file, kể cả cái gọi là thư mục cũng là file.smile_regular

*Thư mục /dev

Khi vào thư mục này đánh lệnh ls bạn sẽ thấy rất nhiều file màu vàng.

Đó chính là tất cả các thiết bị phần cứng mà hệ điều hành dùng, trên hệ thống Unix tất cả đều là file, như tôi đã nói ở trên.

Ví dụ : ổ cứng sẽ là /dev/hda, có thể có 2 loại ổ cứng IDE và SCSI, ổ ở nhà bạn dùng thông thường là IDE, ổ SCSI thường được dùng cho các máy chủ và dung lượng thường là 36GB, 72GB,...

*Thư mục /boot

Thư mục này chứa "lõi" của hệ điều hành hay còn gọi là kernel. Ví dụ đây là kernel máy của tôi :

Trên hệ điều hành SUN nó sẽ không phải là thư mục /boot, nó là thư mục /platform

Để biết thông tin về kernel bạn dùng lệnh : uname -an

[root@hautp /]# uname -anLinux hautp 2.6.17-1.2157_FC5 #1 Tue Jul 11 22:55:46 EDT 2006 i686 i686 i386 GNU/Linux

* Thư mục root - thư mục của user root

Khi bạn dùng một user khác truy nhập vào thư mục này, bạn sẽ không có quyền gì với thư mục này, giống như user quantrihethong ở phần trước.

Đây chính là "Users home directory" thư mục riêng của user. Trên hệ thốnh Unix khi một user mới tạo ra nó sẽ tạo kèm theo 1 thư mục cho user đó. Thông thường các thư mục này sẽ nằm trong thư mục /home. Nhân tiện đây tôi nói luôn về thư mục /home.

Thư mục /home là thư mục chứa các thư mục của người dùng:

* Thư mục /sbin

Page 5: Linux Toan Tap Qua Hay

Thư mục này là một thư mục giới hạn quyền hạn, nó chứa các chương trình kiểu như thư mục /bin. Nhưng bạn không thể làm gì đến nó được. Chỉ những user có quyền root mới có thể Shutdown các chương trình ở đây.

* Thư mục /tmp

Thư mục này đúng như tên của nó, nó chứa các file tạm do hệ thống sinh ra. Vì để chia sẻ cho bất kỳ chương trình nào nên thư mục này được đặt quyền hạn rất thoải mái :

drwxrwxrwt 11 root root 4096 Nov 29 04:05 tmp

Chức năng của nó cũng giống như thư mục temp của windows.

* Thư mục /var

Thư mục này để chứa các file có thể thay đổi kích thước (variable size), nên thông thường trong thư mục này sẽ chứa các database như : mysql,.. hay mail server,...

* Thư mục /lib

Lib là viết tắt của library. Thư mục /lib chứa các file thư viện chương trình. Mỗi một chương trình sẽ có thư viện riêng của mình.

* Các thư mục khác :

- /mnt

- /cdrom

- /floppy

Ban đầu tất cả các thư mục này đều rỗng. Khi bạn cắm USB vào nó sẽ nằm trong /mnt hoặc bạn cần mount nó vào trong /mnt (cái này nói sau happy). Khi cho đĩa CDROM vào thì dữ liệu sẽ được tự động mount vào thư mục /cdrom. Tương tự đối với floppy.Phần này nói về cách : tắt máy như thế nào ? khởi động như thế nào ?

* Lệnh : shutdown

Sử dụng lệnh : man shutdown để xem thông tin về lệnh này

SYNTAXshutdown [options] when [message]

OPTIONS-c Cancel a shutdown that is in progress.

-f Reboot fast, by suppressing the normal call to fsckwhen rebooting.

Page 6: Linux Toan Tap Qua Hay

-h Halt the system when shutdown is complete.

-k Print the warning message, but suppress actual shutdown.

-n Perform shutdown without a call to init.

-r Reboot the system when shutdown is complete.

-t sec

Ví dụ :Tắt ngay lập tức :shutdown -h now

Khởi động lại ngay lập tức:shutdown -r now

Tắt máy vào lúc 8 tối (pm):shutdown -h 20:00

Sau 10 phút thì tắt máy:shutdown -h +10

* Lệnh : halt, reboot, poweroff

Từ kernel 2.74 trờ về sau này, lệnh halt, reboot không được gọi trực tiếp mà nó đã được tích hợp vào trong lệnh shutdown như bạn thấy ở trên. Nếu bạn dùng các kernel cũ thì vẫn dùng được các lệnh này.

rình soạn thảo văn bản.

Trên windows có rất nhiều trình soạn thảo khác nhau như office, wordpad, notepad... Trên *nix cũng vậy, nhưng trình soạn thảo ưa thích có lẽ là vi.

Trình soạn thảo này có lẽ là phổ biến nhất và thông dụng nhất trên các hệ thống Unix cũng tương tự như notepad của windows.

Để truy nhập vi trong của sổ terminal bạn đánh : vi

[root@hautp /]# vi

Trình soạn thảo sẽ hiện ra. Như bản Fedora tôi đang dùng thì nó đã thay thế vi bởi VIM :

VIM soạn thảo "thuận tay hơn" vi happy bạn dùng thử mà xem big grin

Để tạo 1 file mới bạn đánh : vi <tên file>

[root@hautp /]# vi hello

Bạn nhấn phím "i" để kích hoạt chế độ Insert, sau đó bạn đánh "Hello world!"

Page 7: Linux Toan Tap Qua Hay

Để ghi lại file bạn bấm phím "ESC" để thoát khỏi chế độ Insert. Sau đó đánh ":qw" để lưu lại và thoát ra khỏi vi.

"hello" [New] 1L, 14C written[root@hautp /]# more hellohello world ![root@hautp /]#

Chi tiết các lệnh của vi có lẽ phải thực hành nhiều một chút mới nhớ được.

Tham khảo :

http://www.ss64.com/bash/vi.html

http://www.eng.hawaii.edu/Tutor/vi.html

VI Editor Commands

Switch to Text or Insert mode:

Open line above cursorO Insert text at beginning of lineI Insert text at cursori Insert text after cursora Append text at line endA

Open line below cursoro

Switch to Command mode:Switch to command mode<ESC>

Cursor Movement (command mode):

Scroll Backward 1 screen<ctrl>b

Scroll Up 1/2 screen<ctrl>u Go to beginning of line0 Go to line n

Page 8: Linux Toan Tap Qua Hay

nG Go to end of line$

Scroll Down 1/2 screen<ctrl>d Go to line number ##:##

Scroll Forward 1 screen<ctrl>f

Go to last lineG Scroll by sentence f/b ( ) Scroll by word f/b w b Move left, down, up, right h j k l Left 6 chars6hDirectional Movement Arrow Keys Go to line #66G

Deleting text (command mode):Change wordcw Replace one characterr Delete worddw Delete text at cursorx Delete entire line (to buffer)dd

Delete current to end of lineD Delete 5 lines (to buffer)5dd

Delete lines 5-10:5,10d

Editing (command mode):Copy lineyy Copy n linesnyy Copy lines 1-2/paste after 3:1,2t 3

Page 9: Linux Toan Tap Qua Hay

Paste above current lineP

Paste below current linep Move lines 4-5/paste after 6:4,5m 6

Join previous lineJSearch backward for string?string Search forward for string/string Find next string occurrence n% (entire file) s (search and replace) /old text with new/ c (confirm) g (global - all):%s/oldstring/newstring/cg Ignore case during search:set icRepeat last command. Undo previous commandu Undo all changes to lineU

Save and Quit (command mode):Save changes to buffer:w Save changes and quit vi:wq Save file to new file:w file

Quit without saving:q! Save lines to new file:10,15w file

Shells là gì ?

Bạn có thể hiểu nôm na shell là 1 cách để computer giao tiếp với người dùng hay nói cách khác là cách để computer nhận lệnh từ người dùng. Thồn thường trên Linux dùng "bash" shell.

Shell là giúp người dùng làm việc với máy tính dễ dàng hơn với những câu lệnh "thân thiện" mang tính chất gợi nhớ.

Ví dụ : cần copy tất cả các file trong thư mục A vào thư mục B cậu lệnh là : cp /A/* /B

Page 10: Linux Toan Tap Qua Hay

* File '.bashrc'

Mỗi một user khi được tạo ra sẽ có 1 shell cho nó như tôi đã nói phần trước, định nghĩa shell cho user nằm trong file .bashrc trong thư mục /home/<tên user>, ví dụ ở đây là /home/hautp

[root@hautp /]# cd /home/[root@hautp home]# cd quantrihethong/[root@hautp quantrihethong]# ls -altotal 56drwxr-xr-x 2 quantrihethong quantrihethong 4096 Nov 29 06:00 .drwxr-xr-x 4 root root 4096 Nov 28 14:49 ..-rw-r--r-- 1 quantrihethong quantrihethong 24 Nov 28 14:49 .bash_logout-rw-r--r-- 1 quantrihethong quantrihethong 191 Nov 28 14:49 .bash_profile-rw-r--r-- 1 quantrihethong quantrihethong 124 Nov 28 14:49 .bashrc-rw-r--r-- 1 quantrihethong quantrihethong 120 Nov 28 14:49 .gtkrc-rw------- 1 quantrihethong quantrihethong 35 Nov 29 06:00 .lesshst

[root@hautp quantrihethong]# more .bashrc# .bashrc

# Source global definitionsif [ -f /etc/bashrc ]; then. /etc/bashrcfi

# User specific aliases and functions[root@hautp quantrihethong]# more .bash_profile# .bash_profile

# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATHunset USERNAME

Trong file .bashrc có nói đến các alias do người dùng định nghĩa. # User specific aliases and functions

Alias là gì ?

alias thông thường được hiểu là một cái tên khác. Alias ở đây cũng gần như thế.

ví dụ tôi thêm dòng :

Page 11: Linux Toan Tap Qua Hay

alias rm='rm -i'

Thì điều này có nghĩa là khi tôi đánh lệnh rm trong terminal thì lệnh này sẽ được hiểu là rm -i đây chính là alias của rm.

Vì sao lại cần đến alias ?

Ở trên trong lệnh rm có tham số -i, i tức là interactive (prompt before any removal) có nghĩa là khi có tham xóa -i thì bất cứ file nào bị xóa hệ điều hành sẽ hỏi xem ta có chắc chắn xóa không.

Nếu dùng tham số -f : force (ignore nonexistent files, never prompt) thì hệ điều hành sẽ xóa mà không cần hỏi. Khi bạn muốn xóa nhanh thì hãy dùng tham số này.

Việc dùng alias nhằm mục đích tạo 1 "route" cho người dùng. Đặc biệt đối với những máy tính quan trọng như máy chủ chẳng hạn việc xóa file cần phải hết sức thận trọng, nếu như bạn dùng lệnh sau : rm -R -f * mà không tạo alias như trên sẽ khiến toàn bộ số file trong thư mục hiện tại của bạn biến mất ngay lập tức --> mặt dài như cái bơm smile_confused

Bạn có thể tạo alias tạm thời bằng cách dùng lệnh alias hoặc xóa 1 alias bằng lệnh unalias:

SYNTAXalias [-p] [name[=value] ...]

unalias [-a] [name ... ]

Vậy là bạn đã hiểu sơ qua shell là gì ?

Các lệnh căn bản trong linux ( tt )

Page 12: Linux Toan Tap Qua Hay

Các lệnh thông dụng trên hệ thống Unix

Tôi chỉ đưa ra các lệnh kèm chưc năng, các tham số của nó thì bạn cần xem thêm.

1. Lệnh man, info và apropos : thông tin về lệnh2. Lệnh cd : chuyển thư mục3. Lệnh ls : liệt kê file thông thường hay dùng ls -al hoặc ls -l4. Lệnh file : xem thông tin loại file của 1 file file <tên file>5. Lệnh more và less : xem nội dung file more <tên file>6. Lệnh cat và tail : xem nội dung file cat <tên file>7. Lệnh cp : lệnh copy8. Lệnh mv : lệnh di chuyển hoặc đổi tên file, thư mục9. Lệnh mkdir : tạo thư mục mới10. Lệnh rm và rmdir : xóa file và xóa thư mục rỗng11. Lệnh dir : bằng với ls -l12. Lệnh pwd : xem vị trí thư mục hiện thời13. Lệnh date : xem ngày14. Lệnh cal : xem lich, ví dụ cal 200615. Lệnh exit : thoát khỏi terminal

Còn sau đây là một số lệnh yêu thích :

1. Lệnh touch : tạo file2. Lệnh find : tìm kiếm (sẽ có 1 bài viết riêng về lệnh này)3. Lệnh grep : tìm kiếm nội dung file hỗ trợ regular expression4. Lệnh who, whoami, whatis, whereis, which : đúng như nghĩa của các từ này5. Lệnh echo : hiển thị nội dung 1 biến ,...

Các lệnh dành cho quản trị hệ thống :

1. Lệnh last : hiển thị các user login gần đây2. Lệnh df : xem thông tin ổ đĩa, thông thường hay dùng df -h3. Lệnh du : xem thông tin dung lượng file, thư mục4. Lệnh top : cái giống như taskmanager của windows, nó sẽ hiển thị thông tin về các processes5. Lệnh free : xem tình hình bộ nhớ6. Lệnh ps : xem thông tin processes7. Lệnh kill : tắt process8. Lệnh mount và unmount :9. Lệnh chmod : thay đổi permissions đối với file10. Lệnh chown : thay đổi người sở hữu đối với file11. Lệnh chgrp : thay đổi group đối với file12. Lệnh chroot

Ngoài các lệnh trên còn có rất nhiều lệnh khác, có thể tham khảo tại đây :

http://www.ss64.com/bash/

Backup sao lưu giữ liệu với UNIX

Page 13: Linux Toan Tap Qua Hay

Các lệnh cần dùng : tar, gzip, gunzip

Ví dụ với tar :

tar -czvf MyArchive Source_file hoặctar --create --gzip --verbose --file=MyArchive Source_file

tar -xzvf MyArchive Source_file hoặctar --extract --gunzip --verbose --file=MyArchive Source_file

gzip là một phần của tar, tuy nhiên gzip và gunzip vần dùng được độc lập.

Việc backup và sao lưu nên viết thành các job để hệ thống tự động làm.

Ví dụ tôi cần backup dữ liệu của mysql hàng tuần vào Chủ nhật.

#!/bin/bashDate=`date '+%a'`Day=`date '+%m%d'`if [ $Date == 'Sun' ]thencd /mysqldatafor ix in *doif [ -d $ix ]thentar -czvf /quantrihethong/backup/database_$Day.$ix.tar $ixfidonefi

Đoạn script bạn cho vào 1 file, ví dụ : db_backup.sh

Sau đó chmod +x cho file db_backup.sh có nghĩa là cho file này có quyền chạy sau đó tạo schedule cho file này.

Cái này nó tương tự như schedule task của windows.

Để tạo schedule trên Linux bạn dùng crontab.

[root@hautp etc]# ls -l| grep cron-rw-r--r-- 1 root root 329 Feb 11 2006 anacrontabdrwxr-xr-x 2 root root 4096 Feb 16 2006 cron.ddrwxr-xr-x 2 root root 4096 Aug 3 13:43 cron.daily-rw-r--r-- 1 root root 0 Aug 3 13:21 cron.denydrwxr-xr-x 2 root root 4096 Dec 11 2005 cron.hourly

Page 14: Linux Toan Tap Qua Hay

drwxr-xr-x 2 root root 4096 Aug 3 13:18 cron.monthly-rw-r--r-- 1 root root 255 Dec 11 2005 crontabdrwxr-xr-x 2 root root 4096 Aug 3 13:21 cron.weekly[root@hautp etc]# more crontab SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly

Các job này sẽ được đặt trong các file trên hoặc trong thư mục : /var/spool/cron/crontabs

Sử dụng crontab - l để biết các jobs của user hiện tại. Nếu chưa có dùng lệnh crontab -e để tạo jobs.

Cú pháp 1 dòng trong crontab :

Minute(0-59) Hour (0-23) Day of Month (1-31) Month (1-12 or Jan-Dec) Day of Week (0-6 or Sun-Sat) Command

0 2 12 * 0,6 /usr/bin/find

Tham khảo : Cron and Crontab usage and examples.

Page 15: Linux Toan Tap Qua Hay

Cài đặt và cập nhật phần mềm trong Linux

Trên windows các file cài đặt có định dạng .exe, .msi, .vis,... việc cài đặt rất dễ dàng bằng việc chạy các file này. Trên unix cũng tương tự như thế. Tuy nhiên trong các bài viết này tôi chỉ dùng terminal, không dùng chế độ giao diện.

Vậy việc cài đặt trên trên linux như thế nào ?

* RPM : Red Hat Package Manager

Các chương trình sẽ có đuôi .rpm, cú pháp như sau :

rpm -i new_program.rpm--> cài đặt chương trình mới (-i là viết tắt của install)

rpm -q program_name --> kiểm tra xem 1 chương trình đã được cài hay chưa ?

Ví dụ với Fedora 5/6:

[root@hautp sysconfig]# rpm -q mysqlmysql-5.0.18-2.1[root@hautp sysconfig]# rpm -q firefoxfirefox-1.5.0.1-9

Bây giờ cần nâng cấp nên Firefox 2.0

Tham khảo : http://fedoraproject.org/wiki/Firefox2

Chạy lệnh :

yum -y install firefox

Các lệnh cơ bản với yum:

Cài đặt : yum -y install <tên phần mềm(gói)>Gỡ bỏ : yum -y remove <tên phần mềm>Xem các gói đã cài : yum list <tên phần mềm>

Ví dụ : xem các gói đã cài của php :

[root@web ~]# yum list php*Loading "installonlyn" pluginSetting up repositoriescore 100% |=========================| 1.1 kB 00:00 updates 100% |=========================| 1.2 kB 00:00 extras 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files

Page 16: Linux Toan Tap Qua Hay

primary.xml.gz 100% |=========================| 306 kB 00:01 ################################################## 1072/1072Installed Packagesphp.i386 5.1.6-3.1.fc6 installed php-Smarty.noarch 2.6.13-1.fc6 installed php-bcmath.i386 5.1.6-3.1.fc6 installed php-cli.i386 5.1.6-3.1.fc6 installed php-common.i386 5.1.6-3.1.fc6 installed php-gd.i386 5.1.6-3.1.fc6 installed php-mbstring.i386 5.1.6-3.1.fc6 installed

Chi tiết các lệnh với yum : yum -h

Khi hết swap thì ta cần thêm swap file, ví dụ cần thêm 1G swap :

/usr/sbin/mkfile 1024m /swapfile --> tạo swap file/usr/sbin/swap -a /swapfile --> cho hệ thống biết swap file mới nằm ở đâu

Đơn vị tính : kilobytes (k), blocks (b), or megabytes (m)

Kiểm tra swap file mới đã được thêm hay chưa ?

swap -l

Nguồn : Some examples of using UNIX find command.Introduction

The find command allows the Unix user to process a set of files and/or directories in a file subtree.

You can specify the following:

* where to search (pathname)* what type of file to search for (-type: directories, data files, links)* how to process the files (-exec: run a process against a selected file)* the name of the file(s) (-name)* perform logical operations on selections (-o and -a)

Search for file with a specific name in a set of files (-name)

find . -name "rc.conf" -print

This command will search in the current directory and all sub directories for a file named rc.conf.

Note: The -print option will print out the path of any file that is found with that name. In general -print wil print out the path of any file that meets the find criteria.

Page 17: Linux Toan Tap Qua Hay

How to apply a unix command to a set of file (-exec).

find . -name "rc.conf" -exec chmod o+r '{}' \;

This command will search in the current directory and all sub directories. All files named rc.conf will be processed by the chmod -o+r command. The argument '{}' inserts each found file into the chmod command line. The \; argument indicates the exec command line has ended.

The end results of this command is all rc.conf files have the other permissions set to read access (if the operator is the owner of the file).

How to apply a complex selection of files (-o and -a).

find /usr/src -not \( -name "*,v" -o -name ".*,v" \) '{}' \; -print

This command will search in the /usr/src directory and all sub directories. All files that are of the form '*,v' and '.*,v' are excluded. Important arguments to note are:

* -not means the negation of the expression that follows* \( means the start of a complex expression.* \) means the end of a complex expression.* -o means a logical or of a complex expression.In this case the complex expression is all files like '*,v' or '.*,v'

The above example is shows how to select all file that are not part of the RCS system. This is important when you want go through a source tree and modify all the source files... but ... you don't want to affect the RCS version control files.

How to search for a string in a selection of files (-exec grep ...).

find . -exec grep "www.ajaxviet.com" '{}' \; -print

This command will search in the current directory and all sub directories. All files that contain the string will have their path printed to standard output.

If you want to just find each file then pass it on for processing use the -q grep option. This finds the first occurrance of the search string. It then signals success to find and find continues searching for more files.

find . -exec grep -q "www.ajaxviet.com" '{}' \; -print

This command is very important for process a series of files that contain a specific string. You can then process each file appropriately. An example is find all html files with the string "www.athabascau.ca". You can then process the files with a sed script to change those occurrances of "www.athabascau.ca" with "intra.athabascau.ca".alias Create an aliasapropos Search Help manual pages (man -k)awk Find and Replace text, database sort/validate/indexbreak Exit from a loop

Page 18: Linux Toan Tap Qua Hay

builtin Run a shell builtinbzip2 Compress or decompress named file(s)

cal Display a calendarcase Conditionally perform a commandcat Display the contents of a filecd Change Directorycfdisk Partition table manipulator for Linuxchgrp Change group ownershipchmod Change access permissionschown Change file owner and groupchroot Run a command with a different root directorycksum Print CRC checksum and byte countsclear Clear terminal screencmp Compare two filescomm Compare two sorted files line by linecommand Run a command - ignoring shell functionscontinue Resume the next iteration of a loopcp Copy one or more files to another locationcron Daemon to execute scheduled commandscrontab Schedule a command to run at a later timecsplit Split a file into context-determined piecescut Divide a file into several parts

date Display or change the date & timedc Desk Calculatordd Data Dump - Convert and copy a filedeclare Declare variables and give them attributesdf Display free disk spacediff Display the differences between two filesdiff3 Show differences among three filesdir Briefly list directory contentsdircolors Colour setup for `ls'dirname Convert a full pathname to just a pathdirs Display list of remembered directoriesdu Estimate file space usage

echo Display message on screenegrep Search file(s) for lines that match an extended expressioneject Eject removable mediaenable Enable and disable builtin shell commandsenv Environment variablesethtool Ethernet card settingseval Evaluate several commands/argumentsexec Execute a commandexit Exit the shellexpand Convert tabs to spacesexport Set an environment variable

Page 19: Linux Toan Tap Qua Hay

expr Evaluate expressions

false Do nothing, unsuccessfullyfdformat Low-level format a floppy diskfdisk Partition table manipulator for Linuxfgrep Search file(s) for lines that match a fixed stringfile Determine file typefind Search for files that meet a desired criteriafmt Reformat paragraph textfold Wrap text to fit a specified width.for Expand words, and execute commandsformat Format disks or tapesfree Display memory usagefsck File system consistency check and repairftp File Transfer Protocolfunction Define Function Macros

gawk Find and Replace text within file(s)getopts Parse positional parametersgrep Search file(s) for lines that match a given patterngroups Print group names a user is ingzip Compress or decompress named file(s)

hash Remember the full pathname of a name argumenthead Output the first part of file(s)history Command Historyhostname Print or set system name

id Print user and group id'sif Conditionally perform a commandimport Capture an X server screen and save the image to fileinstall Copy files and set attributes

join Join lines on a common field

kill Stop a process from running

less Display output one screen at a timelet Perform arithmetic on shell variablesln Make links between fileslocal Create variableslocate Find fileslogname Print current login namelogout Exit a login shelllook Display lines beginning with a given stringlpc Line printer control programlpr Off line printlprint Print a filelprintd Abort a print job

Page 20: Linux Toan Tap Qua Hay

lprintq List the print queuelprm Remove jobs from the print queuels List information about file(s)lsof List open files

make Recompile a group of programsman Help manualmkdir Create new folder(s)mkfifo Make FIFOs (named pipes)mkisofs Create an hybrid ISO9660/JOLIET/HFS filesystemmknod Make block or character special filesmore Display output one screen at a timemount Mount a file systemmtools Manipulate MS-DOS filesmv Move or rename files or directories

netstat Networking informationnice Set the priority of a command or jobnl Number lines and write filesnohup Run a command immune to hangups

passwd Modify a user passwordpaste Merge lines of filespathchk Check file name portabilityping Test a network connectionpopd Restore the previous value of the current directorypr Prepare files for printingprintcap Printer capability databaseprintenv Print environment variablesprintf Format and print dataps Process statuspushd Save and then change the current directorypwd Print Working Directory

quota Display disk usage and limitsquotacheck Scan a file system for disk usagequotactl Set disk quotas

ram ram disk devicercp Copy files between two machines.read read a line from standard inputreadonly Mark variables/functions as readonlyremsync Synchronize remote files via emailreturn Exit a shell functionrm Remove filesrmdir Remove folder(s)rsync Remote file copy (Synchronize file trees)

screen Terminal window manager

Page 21: Linux Toan Tap Qua Hay

scp Secure copy (remote file copy)sdiff Merge two files interactivelysed Stream Editorselect Accept keyboard inputseq Print numeric sequencesset Manipulate shell variables and functionssftp Secure File Transfer Programshift Shift positional parametersshopt Shell Optionsshutdown Shutdown or restart linuxsleep Delay for a specified timesort Sort text filessource Run commands from a file `.'split Split a file into fixed-size piecesssh Secure Shell client (remote login program)strace Trace system calls and signalssu Substitute user identitysum Print a checksum for a filesymlink Make a new name for a filesync Synchronize data on disk with memory

tail Output the last part of filestar Tape ARchivertee Redirect output to multiple filestest Evaluate a conditional expressiontime Measure Program running timetimes User and system timestouch Change file timestampstop List processes running on the systemtraceroute Trace Route to Hosttrap Run a command when a signal is set(bourne)tr Translate, squeeze, and/or delete characterstrue Do nothing, successfullytsort Topological sorttty Print filename of terminal on stdintype Describe a command

ulimit Limit user resourcesumask Users file creation maskumount Unmount a deviceunalias Remove an aliasuname Print system informationunexpand Convert spaces to tabsuniq Uniquify filesunits Convert units from one scale to anotherunset Remove variable or function namesunshar Unpack shell archive scriptsuntil Execute commands (until error)useradd Create new user account

Page 22: Linux Toan Tap Qua Hay

usermod Modify user accountusers List users currently logged inuuencode Encode a binary file uudecode Decode a file created by uuencode

v Verbosely list directory contents (`ls -l -b')vdir Verbosely list directory contents (`ls -l -b')vi Text Editor

watch Execute/display a program periodicallywc Print byte, word, and line countswhereis Report all known instances of a command which Locate a program file in the user's path. while Execute commandswho Print all usernames currently logged inwhoami Print the current user id and name (`id -un')Wget Retrieve web pages or files via HTTP, HTTPS or FTP

xargs Execute utility, passing constructed argument list(s)yes Print a string until interrupted

.period Run commands from a file### Comment / Remark Các Lệnh Về Khởi Tạo

- rlogin: dùng để điều khiển hoặc thao tác lệnh trên một máy khác.

- exit: thoát khỏi hệ thống (Bourne-Shell).

- logout: thoát khỏi hệ thống C-Shell.

- id: chỉ danh của người sử dụng.

- logname: tên người sử dụng login.

- man: giúp đỡ.

- newgrp: chuyển người sử dụng sang một nhóm mới.

- psswd: thay đổi password của người sử dụng.

- set: xác định các biến môi trường.

- tty: đặt các thông số terminal.

- uname: tên của hệ thống (host).

- who: cho biết những ai đang thâm nhập hệ thống.

Page 23: Linux Toan Tap Qua Hay

* Lệnh Về Trình Báo Màn Hình:- echo: hiển thị dòng ký tự hay biến.

- setcolor: đặt màu nền và chữ của màn hình.

* Lệnh Về Desktop:- bc: tính biểu thức số học.

- cal: máy tính cá nhân.

- date: hiển thị và đặt ngày.

- mail: gửi - nhận thư tín điện tử.

- mesg: cấm/cho phép hiển thị thông báo trên màn hình (bởi write/ hello).

- spell: kiểm tra lỗi chính tả.

- vi: soạn thảo văn bản.

- write/hello: cho phép gửi dòng thông báo đến những người sử dụng trong hệ thống.

* Lệnh Về Thư Mục:- cd: đổi thư mục.

- cp: sao chép 2 thư mục.

- mkdir: tạo thư mục.

- rm: loại bỏ thư mục.

- pwd: trình bày thư mục hiện hành.

* Lệnh về tập tin:- more: trình bày nội dung tập tin.

- cp: sao chép một hay nhiều tập tin.

- find: tìm vị trí của tập tin.

- grep: tìm vị trí của chuỗi ký tự trong tập tin.

- ls: trình bày tên và thuộc tính của các tập tin trong thư mục.

- mv: di chuyển/đổi tên một tập tin.

- sort: sắp thứ tự nội dung tập tin.

Page 24: Linux Toan Tap Qua Hay

- wc: đếm số từ trong tập tin.

- cat: hiển thị nội dung moat tập tin.

- vi: soạn thảo hoặc sửa đổi nội dung tập tin.

* Lệnh về quản lý tiến trình:- kill: hủy bỏ một tiến trình.

- ps: trình bày tình trạng của các tiến trình.

- sleep: ngưng hoạt động một thời gian.

* Các Lệnh Về Phân Quyền:- chgrp: chuyển chủ quyền tập tin, thư mục từ một nhóm sang một nhóm khác.

- chmod: thay đổi quyền sở hữu của tập tin hay thư mục.

- chown: thay đổi người sở hữu tập tin hay thư mục.

* Lệnh Về Kiểm Soát In:- cancel: ngưng in.

- lp: in tài liệu ra máy in. Khi mở một shell, bạn cần đến tài khoản kích hoạt vào thư mục chủ (thông thường nằm trong

/home/tên_người_dùng).

Chú ý rằng mỗi lệnh đều có nhiều tùy chọn riêng của mình. Để xem các tùy chọn cho một lệnh cụ thể, đơn giản bạn chỉ cần gõ "man <command>" (trong đó: man là từ khóa; command là tên lệnh). Một điểm quan trọng cần chú ý là trong các hệ điều hành Linux, câu lệnh có phân biệt chữ hoa, chữ thường. “A” sẽ được hệ điều hành hiểu là khác so với “a”.

Để vào hệ thống file, dùng:

- pwd: đưa ra ngoài màn hình thư mục đang hoạt động (ví dụ: /etc/ssh).

- cd: thay đổi thư mục (ví dụ: cd .. – ra một cấp thư mục hiện tại; cd vidu – vào thư mục /vidu).

- ls: đưa ra danh sách nội dung thư mục.

- mkdir: tạo thư mục mới (mkdir tên_thumuc).

- touch: tạo file mới (touch ten_file).

- rmdir: bỏ một thư mục (rmdir ten_thumuc).

- cp: copy file hoặc thư mục (cp file_nguồn file_đích).

Page 25: Linux Toan Tap Qua Hay

- mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc thư mục (mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới).

- rm: loại bỏ file (rm tên_file).

Để tìm kiếm file, bạn có thể dùng:

- find <tiêu chuẩn tìm kiếm>: dùng cho các tên file.

- grep < tiêu chuẩn tìm kiếm>: để tìm nội dung trong file.

Để xem một file, bạn có thể dùng:

- more <tên file>: hiển thị file theo từng trang.

- cat < tên file>: hiển thị tất cả file.

- head < tên file>: hiển thị các dòng đầu tiên.

- tail < tên file>: hiển thị các dòng cuối cùng (có thể hữu ích trong những trường hợp như khi bạn muốn xem thông tin cuối cùng của một file hệ thống).

Để chính sửa file, bạn phải sử dụng trình soạn thảo tích hợp sẵn trên dòng lệnh. Thông thường, đây là vi và được dùng với cú pháp: vi <tên file>.

Để giải nén một lưu trữ (thông thường có đuôi tar.gz), bạn phải dùng lệnh tar với cú pháp tar -xvf <tên_file>.

Để in một file, dùng lệnh lpr <tên_file>. Chú ý là bạn phải có một số daemon hoạt động để quản lý máy in. Thông thường đây là các cup (chủ yếu là UNIX Printing System) có thể sử dụng cho tất cả các phân phối chính.

Để loại bỏ file khỏi hàng đợi ở máy in (bạn có thể lên danh sách hàng đợi bằng lệnh lpq), sử dụng câu lệnh lprm <tên_file>.

Để lắp hoặc gỡ bỏ thiết bị (thêm vào hệ thống file với vai trò như một phương tiện được phép sử dụng), dùng:

- mount /mnt/floppy: lắp thêm ổ mềm.

- umount /mnt/floppy: gỡ bỏ ổ mềm.

- mount /mnt/cdrom: lắp ổ CD-ROM.

- mount /mnt/cdrom: gỡ ổ DC-ROM.

Các thiết bị này thường được cài và cho phép sử dụng một cách tự động. Nhưng có thể một ngày đẹp trời nào đó bạn lại phải tự mình thực hiện công việc này khi có lỗi xảy ra. Đừng lo lắng!

Page 26: Linux Toan Tap Qua Hay

Để tạo một phân vùng

Đầu tiên, tạo một thư mục trong /mnt (mkdir /mnt/ổ_đĩa_mới). Sau đó sử dụng lệnh mount (mount /dev/source /mnt/ ổ_đĩa_mới), trong đó /dev/source là thiết bị (tức phân vùng) bạn muốn lắp thêm vào hệ thống file.

Nếu muốn kết nối tới một host từ xa, sử dụng lệnh ssh. Cú pháp là ssh <tên_host>.

Quản lý hệ thống:

- ps: hiển thị các chương trình hiện thời đang chạy (rất hữu ích: ps là cái nhìn toàn bộ về tất cả các chương trình).

Trong danh sách đưa ra khi thực hiện lệnh ps, bạn sẽ thấy có số PID (Process identification - nhân dạng tiến trình).

Con số này sẽ được hỏi đến khi muốn ngừng một dịch vụ hay ứng dụng, dùng lệnh kill <PID>.

- top: hoạt động khá giống như Task Manager trong Windows. Nó đưa ra thông tin về tất cả tài nguyên hệ thống, các tiến trình đang chạy, tốc độ load trung bình… Lệnh top -d <delay> thiết lập khoảng thời gian làm tươi lại hệ thống. Bạn có thể đặt bất kỳ giá trị nào, từ .1 (tức 10 mili giây) tới 100 (tức 100 giây) hoặc thậm chí lớn hơn.

- uptime: thể hiện thời gian của hệ thống và tốc độ load trung bình trong khoảng thời gian đó, trước đây là 5 phút và 15 phút.

Thông thường tốc độ load trung bình được tính toán theo phần trăm tài nguyên hệ thống (vi xử lý, RAM, ổ cứng vào/ra, tốc độ load mạng) được dùng tại một thời điểm. Nếu tốc độ được tính toán là 0.37, tức có 37% tài nguyên được sử dụng. Giá trị lớn hơn như 2.35 nghĩa là hệ thống phải đợi một số dữ liệu, khi đó nó sẽ tính toán nhanh hơn 235% mà không gặp phải vấn đề gì. Nhưng giữa các phân phối có thể khác nhau một chút.

- free: hiển thị thông tin trên bộ nhớ hệ thống.

- ifconfig <tên_giao_diện>: để xem thông tin chi tiết về các giao diện mạng; thông thường giao diện mạng ethernet có tên là eth(). Bạn có thể cài đặt các thiết lập mạng như địa chỉ IP hoặc bằng cách dùng lệnh này (xem man ifconfig). Nếu có điều gì đó chưa chính xác, bạn có thể stop hoặc start (tức ngừng hoặc khởi_động) giao diện bằng cách dùng lệnh ifconfig <tên_giao_diện> up/down.

- passwd: cho phép bạn thay đổi mật khẩu (passwd người_dùng_sở_hữu_mật_khẩu hoặc tên người dùng khác nếu bạn đăng nhập hệ thống với vai trò root).

- useradd: cho phép bạn thêm người dùng mới (xem man useradd).

Dù ở phân phối nào, bạn cũng có thể dùng phím TAB để tự động hoàn chỉnh một lệnh hoặc tên file. Điều này rất hữu ích khi bạn quen với các lệnh. Bạn cũng có thể sử dụng các phím lên, xuống để cuộn xem các lệnh đã nhập. Bạn có thể dùng lệnh đa dòng trên một dòng. Ví dụ như, nếu muốn tạo

Page 27: Linux Toan Tap Qua Hay

ba thư mục chỉ trên một dòng, cú pháp có thể là: mkdir thư_mục_1 ; mkdir thư_mục_2 ; mkdir thư_mục_3.

Một điều thú vị khác nữa là các lệnh dạng pipe. Bạn có thể xuất một lệnh thông qua lệnh khác. Ví dụ: man mkdir | tail sẽ đưa ra thông tin các dòng cuối cùng trong trang xem "thủ công" của lệnh mkdir.

Nếu lúc nào đó được yêu cầu phải đăng nhập với tài khoản gốc (tức "siêu" admin của hệ thống), bạn có thể đăng nhập tạm thời bằng cách dùng lệnh su. Tham số -1 (su-1) dùng để thay đổi thư mục chủ và cho các lệnh đã hoặc đang dùng. Chú ý là bạn cũng sẽ được nhắc một mật khẩu.

Mục đích sử dung: Dù cài đặt hệ thống Linux để phục vụ cho mục đích nào đi nữa thì vẫn dùng chung một bộ đĩa cài đặt. Có một số tùy chọn khi cài đặt dó là: Dùng làm máy cá nhân( Pesonal Desktop), máy trạm trong hệ thống mạng (Workstation) hay máy chủ (Server) nếu:

Dùng ở gia đình thì chọn Pesonal Desktop.- Dùng làm máy trạm trong các mạng cục bộ thì chọn Workstation- Dùng làm máy chủ cho các phòng máy hay các mạng thì chọn Server- Nếu dung lượng đĩa cho phép thì nên chọn mục Custom và cài tất cả các packages để phục vụ cho việc học tập và tìm hiểu thêm về hệ thống linux (Cí này mình khuyến khích các bạn làm đó nghen )

I. Quá trình cài đặt:

Để cấu hình và tùy biến Linux thì khá phức tạp, vì có rất nhiều thứ mà bạn có thể thay đổi được trong Linux mà. Nhưng nếu cài đặt theo chế độ mặc định thì lại cực kì đơn giản. Quá trình cài đặt giống hệt như thèng ku Windows, chỉ khác một điều duy nhất là… bạn không phải nhập Serial number (Sướng hén J)) Nếu bạn là người mới bắt đàu thì cứ cài như vậy đã.

Ngoài ra mốtố bản Linux cho phép bạn khởi động ngay trực tiếp từ đĩa CD luôn (thậm chí là đĩa mềm nữa nè) mà không cần phải cài đặt (nếu bạn là một chuyên gia thì thoai khỏi phải bàn nữa, việc tạo ra các đĩa như thế này quá bèo hén)

Thông thường thì trên các đĩa của bản phân phối Linux và cả trên mạng Internet đều có hướng dẫn khá chi tiết về cách cài đặt Linux. Do đó ở đây tui sẽ không nói rõ về quá trình cài đặt như thế nào mà các bạn hãy tự tìm tài liệu và tham khảo đi nhé.

Vấn đề ở chỗ, con người Việt Nam trước khi học Linux đã làm quen và có thể có kinh nghiệm sử dụng dòng HĐH Windows 98’SE, Windows 2000, Windows XP. Người dùng rrã làm việc với HDH windows thì họ không muốn mất đi môi trường làm việc quen thuộc của mình cũng như những gì đã tạo ra và cấu hình dưới thời Windows. Nhưng rất may là không nhất thiết phải đánh mất tất cả những điều đó. Bởi vì trên một máy tính có thể cùng chung sống hòa bình hai HĐH hoặc hơn thế nữa.

Và ở trong pham jvi bài viết này, em sẽ sử dụng phiên bản RedHat Linux 9.0 RedHad là một hệ điều hành có tính linh hoạt rất cao. Tai sao vây? Đó chính là do RedHat 9.0 có thể ngốn tới 4.5 GB đĩa cứng của bạn tuy nhiên bạn cũng có thể cài Linux… trên một chiếc đĩa mềm (Giống như với MS-DOS ngày xưa ấy). tất cả phụ thuộc vào cách mà bạn cấu hình Linux (cài các tiện ích…) Nếu cài Linux như một HĐH mạng thì cấu hình yêu cầu là rất lớn, nhưng người ta cũng có thể cài nhân Linux vào các thiết bị cầm tay (với bộ nhớ rât nhỏ). Tuy nhiên đối với bản

Page 28: Linux Toan Tap Qua Hay

RedHad 9.0 để có thể chạy trơn tru thì cấu hình yêu cầu như sau:

1.CPU: Pentium- Chế độ Text: 200MH trở lên- Chế độ Graphic: 400MH trở lên

2. Dung lượng đĩa cứng: (Tùy theo ứng dụng cần cài đặt)- Tối thiểu: 475 MB- Server: 850 MB- Pesonal Desktop: 1,7 GB- Workstation: 2,1 GB- Tất cả: 5 GB

3. Bộ nhớ:- Chế độ Text: 64 MB trở lên- Chế độ Graphic: 128 Mb trở lên

4 Card mạng: - Đối với máy Redserv.com.vn: 01 Card mạng- Đối với máy Blueserv.com.vn: 01 Card mạng- Đới với máy Firewall.com.vn: 02 card mạng

5. Ổ CDROM

Tóm lại nếu bạn đã từng cài đặt HĐH Windows thì việt cài đặt Linux RedHat cũng không có gì quá khó cả. Để làm được điều đó bạn cần tiến hành như sau:

- Trước tiên bạn cần có một bộ cài Linux RedHat 9.0- Tiến hành khởi động hệ thống từ bộ đĩa CDROM cài đặt (Disk 1)- Chọn chế độ cài đặt (Text hoặc Graphic)- Thông qua từng bước wizard để thiết lập các thông số về hệ thống như: Bàn phím, chuột, ngôn ngữ hiển thị trong quá trình cài đặt, giừo hệ thống…- Chọn kiểu cài đặt- Thiết lập phân vùng cài Linux RedHat- Cài đặt boot loader- Cấu hình Account- Các lưu ý lựa chọn gói phần mềm cài đặt- Cấu hình X-Windown.

II. Một vài lừoi khuyên trước khi tiên hành cài đặt:

Trước khi cài đặt Linux bạn nên thực hiện một vài thao tác phòng xa, vì rất có thể bạn phân vùng lại ổ đĩa, thay đổi bản ghi khởi động (Boot Record) và làm việc với các têph tin khởi dộng cũng như tập tin cấu hình. Các thao tác này không phải lúc nào xung đem lạukết quả theo ý muốn. trong trường hợp xấu. con PC của bạn có thể không khởi động lại được nữa. Biết chá thaót khởi tình huống này và phục hồi dữ liệu là một câu hỏi lứon. Nhưng rơi vào tình huống như vậy đối với người mới bắt đầu rất dễ xảy ra đóa.

Chính vì vậy bước đầu tiên là bạntạo một đĩa mềm khởi động hay đĩa mềm giúp phục hồi hệ thống.

Page 29: Linux Toan Tap Qua Hay

Bước tiếp theo, bạn cần ghi lại những dữ liệu có giá trị (backup). Cuối cùng là phải chuẩn bị đầy đủ các tập tin cài đặt cảu hệ thống cũ (CD, Đĩa mềm). Một lời khuyên quan trọng khác là nếu xảy ra cái gì ngoài ý muốn thì đừng nên hoang mang, bạn hãy nên thử mọi cách để tìm ra nguyên nhân, kiểm tra lại nhiều lần thao tác của mình và hãy đọc kĩ tài liệu để xem mình có làm gì sai thao tác nào hay không.

III. Chuẩn bị các phân vùng trên đĩa:

Lời khuyên khi tạo phân vùng: Linux sử dụng cơ chế truy xuất ổ đĩa thông qua tập tin. Mỗi ổ đĩa được gắn với một tập tin trong thư mục /dev/. Ký hiệu ổ đĩa fd cho ổ mềm, hd cho ổ cứng, sd dành cho ổ SCSI. Ký tự a, b, c… gắn thêm vào để xác định các ổ đĩa khác nhau cùng loại. Ví dụ: Ổcứng thứ nhất là had, ổ cứng thứ 2 là hdb… xác định các Partition trong ổ đĩa người ta dùng các số đi kèm. Theo qui định partition chính và mở rộng được gán số từ 1-4. Các partition logic được gán các giá trị từ 5 trở đi.

Ví dụ: Như hình vẽ trên là các Partition của ổ cứng thứ nhất had: Có 2 partition chính ký hiệu là hda1 và hda2, một partition mở rộng là hda3. Trong partition mở rộng hda3 có 2 partition logic có kí hiệu là hda6 và hda5.

Trong Linux bắt buộc phảo có tối thiểu 2 partition sau:

Partition chính (Linux native filesystem) chứa thư mục gốc (/) và hạt nhân. Độ lớn khỏang 6GB nếu muốn cài đặt tất cả các packages của RedHat Linux 9.0 và 50-100 MB dành cho phần /boot (phần này phải được đạt tại Primary Partition của HDD để khởi động HĐH)

Partition swap (Linux swap space) được dùng làm không giảntao đổi dữ liệu khi vùng nhớ chính đầy. Không có công thứuc tinh chỉnh thức nào dành cho phần này, nhưng thuaờng là dung lượng cho phân này khỏang gấp 2 đến gấp 3 lần dung lượng bộ nhớ vật lý của hệ thống. Tuy nhiên chỉ nên dùng khoảng 256 MB trở lại, nhiều hơn nữa là không cân thiết với mộtmáy tính chíử dụng cho mục đích máy tính cá nhân.

Nếu có ý địng cài đặt Linux chung với một hệ điều hành khác trên cùng hệ thống thì phải có kế haọch trước cho việc phân hoặc đĩa cứng, mỗi hệ điều hành phải đặt trên một Primảy Partition khác nhau.

IV. Chương trình phân vùng ổ đĩa:

Sau khi hoàn thành kế hoạch phân chia ổ bạn cần lựa chọn công cụ để đưa kế hoạch này thành hiện thực. Chương trình được biết đến nhiều nhất là Fdisk. Và không cần gì hơn nữa ngoài chương trình này nếu phân chia ổ trắng, không chừa bất cứ dữ liwuj nào . Nhưng ta đang xem xét trường hợp máy đang có HĐH nào đó mà cần phân chưa ổ mà không mất thông tin. Fdisk không phù hợp với điều đó.

Có một chương trình hay và khá nổi tiếng trong việc phân vùng nhanh mà an toàn, đó là Partition Magic. Thư nhât chương trình này cho phép phân chia lại ổ đĩa mà không làm mất thông tin (tât cả những cài đặt và cấu hình trứoc đó sẽ được ghi lại). Thứ hai, chương trình nàycung cấp một giao diện đồ họa dễ sử dụng (ngay cả trong DOS), hỗ trợ dùng chuột, các thao tác thay đổi rất tõ ràng và đều được hiển thị trên màn hình

Page 30: Linux Toan Tap Qua Hay

Hướng dẫn cài đặt Fedora Core 4 với giao diện đồ họa

Yêu cầu về vi xử lý

Fedora Core hoạt động tốt trên chip của Intel và một số hãng khác như AMD, Cyrix và VIA. Fedora Core yêu cầu một vi xử lý tương đương 400 MHz hoặc cao hơn.

Yêu cầu về dung lượng ổ đĩa cứng

Fedora Core có 3 lựa chọn trong bộ cài đặt

• Bản Server yêu cầu 1,1 GB ổ cứng • Bản Personal Destop yêu cầu 2,3 GB ổ cứng • Bản WorkStation yêu cầu 3,0 GB ổ cứng.

Nếu bạn cài tất cả các gói của Fedora Core thì nó yêu cầu dung lượng tối thiểu của ổ cứng là 7 GB.

Yêu cầu về bộ nhớ

- Với giao diện đồ họa Fedora Core yêu cầu 192 MB (nên dùng ở mức 256 MB)

- Với giao diện dòng lệnh Fedora Core yêu cầu 64 MB.

Chuẩn bị bộ đĩa cài đặt

Bộ đĩa cài đặt Fedora Core đều gồm 4 đĩa được đánh số từ 1-4. Trên đĩa số 1 có một tiện ích nhằm kiểm tra chất lượng tập tin trên mỗi đĩa. Nên khi mua đĩa ta nên sử dụng tiện ích này để kiểm tra toàn bộ 4 đĩa nhằn loại bỏ các đĩa có các gói tin bị lỗi. Đến nay bản FC4 đã được ấn hành.

FC3 có giao diện đồ họa trong quá trình cài đặt nên chỉ với một chút kiến thức về máy tính là bạn đã có thể cài đặt thành công HĐH này.

Một vài điểm cần lưu ý trong quá trình cài đặt Fedora Core

a, Nếu bạn chưa có chuyên môn sâu về HĐH thì nên cài Fedora Core trên một ổ cứng vật lý độc lập.

b, Phải ghi nhớ password của root.

Download tài liệu

Bắt đầu với CD CentOS 4.4 Single Server

Gần đây tôi phải cài đặt một máy chủ với tất cả các thành phần server thông thường (Web, mail, file sharing). Nó cần phải khá chắc chắn và đáng tin cậy. Không muốn download tới 4GB phần mềm từ Net xuống (không biết phải mất bao nhiêu giờ mới xong), tôi bắt đầu với một đĩa CD Single Server của CentOS.

, 01/03/-1,
/ icon and title
, 01/03/-1,
message
, 01/03/-1,
/ icon and title
, 01/03/-1,
message
Page 31: Linux Toan Tap Qua Hay

CentOS (tên viết tắt của Community ENTerprise Operating System) là một phân phối Linux tập trung vào lớp doanh nghiệp, xây dựng từ nhiều nguồn miễn phí (theo GPL và một số bản quyền tương tự) của Red Hat. CentOS 4 dựa trên nền tảng Red Hat Enterprise Linux 4, hỗ trợ dòng x86 (i586 và i686), dòng x86_64 (AMD64 và Intel EMT64), các cấu trúc IA64, Alpha, S390 và S390x.

Đĩa Single Server CD có hầu hết tất cả các thành phần cần thiết cho quá trình cài đặt server cơ bản, ngoại trừ GUI (giao diện đồ hoạ người dùng). Nó phù hợp cho những ai muốn cài đặt chức năng một cách nhanh chóng. Do không có giao diện GUI, bạn có thể chạy một server cơ sở chỉ với RAM 128. Nhưng tất nhiên dung lượng RAM sẽ phải tăng lên nếu cần triển khai các cơ sở dữ liệu lớn.

Cài đặt

Quá trình cài đặt Single Server CD khá dễ dàng, nhất là khi bạn đã cài một phân phối Linux khác. Bạn cần download Single Server CD từ một bản ở máy cục bộ, ghi nó vào đĩa và khởi động (boot) server từ đĩa đó.

Cho dù Single Server CD không chứa giao diện GUI, quá trình cài đặt vẫn sử dụng một giao diện đồ hoạ, giúp bạn dễ dàng thao tác với từng phần. Làm theo các hướng dẫn trên màn hình, công việc trở nên đơn giản.

Mẹo nhỏ: Nếu server của bạn không chứa bất kỳ dữ liệu nào khác và không gặp phải vấn đề gì khi format lại toàn bộ ổ đĩa, nên sử dụng tuỳ chọn “automatically partition” (phân vùng tự động) khi quá trình cài đặt đến bước Disk Partitioning Setup. Nó sẽ giúp bạn tiết kiệm được khá nhiều thời gian.

Bạn nên tạm ngừng sử dụng SELinux và tắt chức năng tường lửa, nhất là khi server được đặt an toàn bên trong mạng cục bộ. Bạn có thể thay đổi các thiết lập tường lửa sau nếu muốn với lệnh system-config-securitylevel.

Bạn có thể chọn cài đặt mặc định các gói phần mềm một cách an toàn. Phương thức cài đặt này sẽ cung cấp một hệ thống CentOS cơ bản với Web, mail và các server FTP, DNS, chức năng chia sẻ file qua Samba. Với máy có cấu hình hiện đại, quá trình cài đặt chỉ mất dưới 20 phút.

Không phải tất cả các gói trên CD đều được cài. Chẳng hạn, nếu muốn dùng PostgreSQL, bạn sẽ phải cài đặt nó sau từ đĩa. Muốn cài đặt PostgreSQL, đưa đĩa vào ổ đọc (mount/media/cdrom), dùng lệnh yum để cài các thư viện client và server:

yum localinstall /media/cdrom/CentOS/RPMS/postgresql-7* yum localinstall /media/cdrom/CentOS/RPMS/postgresql-server-7*

PHP 5 và MySQL 5

Khả năng mạnh của CentOS nằm ở chỗ đáng tin cậy và ổn định. Nó được xây dựng dựa trên các gói đã qua thử nghiệm cho kết quả tốt chứ không dựa trên phần mềm bleeding-edge. Tuy nhiên cũng có một hạn chế là một số phần mềm mới nhất không thể cài đặt được trên phần phối này. Thiếu sót quan trọng nhất, theo ý kiến của tôi, là PHP 5 và MySQL 5. Nhưng các phần mềm này cũng đã được tích hợp vào trong CentOS Plus Repository.

Mặc định, CentOS 4.4 sử dụng PHP 4.3.9. Muốn nâng cấp lên PHP 5, trước tiên phải đảm bảo máy bạn đã được kết nối với Internet, sau đó chạy lệnh:

Page 32: Linux Toan Tap Qua Hay

yum --enablerepo=centosplus upgrade php*

Tương tự với MySQL. Phiên bản mặc định trong CentOS 4.4 là MySQL 4.1.20. Muốn nâng cấp lên MySQL 5, dùng các lệnh sau:

yum --enablerepo=centosplus upgrade mysql* yum --enablerepo=centosplus install mysql-server-5*

Quản trị đơn giản

Do CentOS 4.4 Single Server CD không có giao diện GUI, bạn cần thực hiện tất cả cấu hình qua dòng lệnh. Dưới đây là một số lệnh quan trọng cơ bản và các file giúp bạn cấu hình server.

Để khởi động và ngừng dịch vụ, dùng:

service XYZ start service XYZ stop

Trong đó, XYZ là tên server, ví dụ như postgresql.

Để cấu hình mạng, chạy lệnh:

netconfig

Để cấu hình máy in, chạy lệnh:

system-config-printer

Mặc định có một số dịch vụ hệ thống không được khởi động trong thời gian boot hệ thống như Web server, MySQL server. Muốn đảm bảo cho các dịch vụ này được chạy ngay từ khi khởi động máy, thực hiện các lệnh sau:

chkconfig --levels 235 httpd on chkconfig --levels 235 mysql on chkconfig --levels 235 smb on chkconfig --levels 235 vsftpd on

Nếu cần dịch vụ POP3 và IMAP, bạn cần cấu hình dovecot daemon. Mặc định, dovecot daemon chỉ cung cấp các dịch vụ IMAP. Muốn có POP3, bạn phải chỉnh sửa /etc/dovecot.conf và đặt vào dòng:

protocols = imap imaps pop3 pop3s

Dovecot cũng không được khởi động mặc định (nhưng được cài đặt như một trong các gói tiêu chuẩn). Muốn dovecot được khởi động khi máy khởi động, gõ lệnh:

chkconfig --levels 235 dovecot on

Sau khi mọi thành phần đã được cấu hình chính xác, bạn nên khởi động lại hệ thống. Không phải bởi

Page 33: Linux Toan Tap Qua Hay

Linux cần khởi động lại mà đơn giản chỉ để chắc chắn rằng mọi thứ đã được cài đặt phù hợp và chạy như mong đợi.

Kết luận

CentOS là phân phối Linux mạnh và đáng tin cậy. Single Server CD là phiên bản gần đạt đến mức hoàn hảo cho những ai tìm kiếm phân phối đơn giản nhưng đủ chức năng cho một server mà không phải download 4 hoặc 6 CD từ Internet xuống.

Page 34: Linux Toan Tap Qua Hay

Một số bản Linux dễ sử dụng

Linux có rất nhiều phiên bản khác nhau, mỗi bản phù hợp cho những đối tượng người dùng khác nhau, với trình độ và nhu cầu khác nhau. Xin giới thiệu 4 bản Linux có tiếng là dễ sử dụng và được thiết kế tốt, phù hợp với người dùng thông thường.

Linux có rất nhiều phiên bản khác nhau, mỗi bản phù hợp cho những đối tượng người dùng khác nhau, với trình độ và nhu cầu khác nhau. Xin giới thiệu 4 bản Linux có tiếng là dễ sử dụng và được thiết kế tốt, phù hợp với người dùng thông thường.

Ubuntu là phiên bản phổ biến nhất hiện nay. Tệp cài đặt có dung lượng 700MB có thể tải dễ dàng qua kết nối ADSL (www.ubuntu.com/getubuntu/download) và "nhét" vừa vào một đĩa CD. Việc cài đặt chỉ mất khoảng 30 phút và rất đơn giản. Giao diện Ubuntu khá đẹp mắt, các menu được tổ chức hợp lý. Các phần mềm quan trọng được tích hợp bao gồm bộ ứng dụng văn phòng OpenOffice, trình duyệt web Firefox, trình quản lý và giúp tải ảnh lên mạng F-Spot. Đáng chú ý là theo mặc định Ubuntu không thể chơi một số định dạng thương mại của tệp đa phương tiện do không được phép tích hợp hỗ trợ, do đó nếu muốn chơi các tệp này bạn phải cài thêm phần mềm khác.

Kubuntu (www.kubuntu.org/download.php) có thể được coi là "anh em" của Ubuntu, bởi chúng có cùng mã nguồn. Điểm khác biệt là Ubuntu sử dụng giao diện Gnome, còn Kubuntu sử dụng giao diện KDE. Mặc dù có nhiều điểm chung, nhưng giao diện và gói phần mềm đi kèm của Kubuntu rất khác biệt so với Ubuntu, do đó phục vụ những nhu cầu rất khác. Do sử dụng KDE, Kubuntu đi kèm phần lớn các ứng dụng KDE, đáng chú ý nhất là trình duyệt web Konqueror thay cho Firefox phổ biến. Kmail, Kopete, Konversation, Kaffeine và Amarok là các ứng dụng mặc định cho duyệt email, chat, IRC, đa phương tiện và chơi nhạc.

PCLinuxOS (www.pclinuxos.com) dựa trên Mandrake Linux, nhưng được cải tiến rất nhiều nhằm phù hợp với người mới dùng Linux, hỗ trợ các plugin cho trình duyệt, các codec cho đa phương tiện. PCLinuxOS cho phép cấu hình hệ thống rất hiệu quả và có kho phần mềm rất phong phú. Hạn chế lớn nhất là PCLinuxOS thiếu lộ trình phát hành rõ ràng.

Với những người có kinh nghiệm hơn chút ít, openSUSE (http://download.opensuse.org) có thể là một lựa chọn tốt. Cũng có giao diện được chăm chút, nhưng openSUSE còn được tích hợp những công cụ cấu hình và quản lý khá kỹ lưỡng, có kho phần mềm rất lớn, tài liệu chi tiết, hỗ trợ nhiều ngôn ngữ. Tuy nhiên, openSUSE có nhược điểm là bộ cài đặt rất lớn (5 đĩa CD hoặc 1 đĩa DVD - tải qua mạng rất mất thời gian); các thiết lập và các công cụ đồ hoạ quá nặng nề, có thể khiến máy chạy chậm, nhất là khi khởi động và mở các ứng dụng.

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 35: Linux Toan Tap Qua Hay

8 điểm lưu ý khi sử dụng hệ điều hành Linux

Nền quản lý máy tính nguồn mở này có thể cài đặt song song với Windows trên một PC. Khi muốn sử dụng, người dùng cần lưu ý chọn bộ cài đặt thích hợp, phần mềm tương ứng vì không phải chương trình nào cũng chạy được trên hệ điều hành này.

1. Bộ cài đặt

Khi bắt đầu tìm hiểu Linux, không ít người phải bối rối vì có quá nhiều phiên bản Linux của các tổ chức phân phối khác nhau (đến hơn 400 bản). Người dùng nên đọc các bài viết so sánh, nhận xét để quyết định chọn bộ cài nào. Ví dụ, bạn có thể dựa trên một số tiêu chí như: mức độ chuyên dụng (dùng cho mục đích chung cả server và client), số máy cài được (x86, x86_64 ...), số người sử dụng và phát triển, số phần mềm hỗ trợ trực tiếp (có bộ cài trực tiếp không cần biên soạn mã nguồn), thông tin trợ giúp, khả năng cập nhật và mức độ miễn phí. Nhưng dù dùng phiên bản nào thì bạn cũng có thể tự tùy biến và chạy phần mềm trên các phiên bản khác. Nếu là lần đầu, tốt nhất bạn nên chọn phiên bản nào dễ dùng nhất, ví dụ như Fedora Core.

2. Cài đặt

Bạn có thể cài phiên bản SuSE, Fedora Core 5 hay Fedora Core 6... Về cơ bản, giao diện hướng dẫn cài đặt rất thân thiện, có thể so sánh tương đương với Windows XP. Các bước chọn đường dẫn, partition, format có thể gây bối rối một chút vì bạn đã quen với các định dạng và cách tổ chức thư mục của Windows. Nhưng mọi thứ đều dễ dàng vượt qua sau một lúc mày mò.

Khi việc cài đặt kết thúc, khởi động lại máy tính có thể bạn chỉ thấy một màn hình đen sì. Đó là do lỗi bản cài Linux không nhận dạng đúng độ phân giải và tần số quét của màn hình và phải chuyển sang chế độ khởi động dạng text mode để chỉnh sửa lại file cấu hình bằng tay.

3. Giao diện sử dụng

Khi chọn trình quản lý desktop GNOME, bạn sẽ thấy Linux không khác gì Windows XP nếu so sánh về giao diện đồ hoạ, các icon, menu, cửa sổ...Khả năng tùy biến giao diện rất tốt vì bạn có thể tự do lựa chọn số thanh taskbar cũng như các kiểu shortcut đặt trên nó, các hiệu ứng trong suốt... Đồng thời, người dùng có thể chuyển qua lại giữa nhiều màn hình desktop trong một phiên làm việc. Tính năng này rất tiện khi số cửa sổ mở ra quá nhiều khiến thanh taskbar không còn chỗ chứa.

4. Phần mềm cơ bản

Bản Linux Fedora Core 6 có các phần mềm cơ bản tương đương với Windows XP từ trình quản lý file, cửa sổ command, trình duyệt web, trình quản lý e-mail, Calendar, Project... đến các tiện ích nhỏ như Calculator, Character Map, Paint, Notepad, Remote Desktop...

Trong đó, nổi bật là trình soạn thảo text cơ bản đi kèm là Gedit, như Notepad của Windows XP nhưng nhiều tính năng hơn và có thể tương đương với Notepad++. Về trình duyệt web, khác với Windows XP, trong bộ cài Linux có rất nhiều trình duyệt web đi kèm, thậm chí có cả trình duyệt ở chế độ text mode tiện lợi trong trường hợp cần debug (gỡ lỗi) ở chế độ text mà vẫn cần vào web. Bạn có thể chọn

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 36: Linux Toan Tap Qua Hay

FireFox làm trình duyệt chính vì nó được dùng nhiều và khá an toàn.

Trong bộ cài đi kèm rất nhiều phần mềm nghe nhạc và xem phim nhưng tất cả đều không hỗ trợ nghe mp3 và một số định dạng phim thường gặp. Fedora Core chỉ bao gồm các phần mềm mã nguồn mở, không có các phần mềm miễn phí nhưng không có mã nguồn hoặc bị ràng buộc một số điều kiện bản quyền. Với tư cách là người sử dụng, bạn có thể tìm trình nghe nhạc mp3 và xem các định dạng phim phổ biến là Realplayer và VLC.

Về phần mềm chat, trên Linux có Gain, một chương trình mã mở chạy trên nhiều giao thức phổ biến hiện nay như Yahoo, ICQ, MSN ... và có thể chat nhiều nick trên cùng giao thức hay trên các giao thức khác nhau. Giao diện chương trình đẹp, dễ sử dụng, khá nhiều tính năng tiện dụng. Nhược điểm của Gain là chưa cho phép chat voice hay webcam. Hiện Yahoo và Skype cũng có phiên bản cho Linux nhưng so với phiên bản trên Windows thì còn thiếu nhiều chức năng.

Về phần mềm nén và giải nén, trên Linux cũng có một chương trình cho phép nén và giải nén các định dạng .zip, .tar ...với giao diện đồ họa dễ dùng. Nhưng trình giải nén của Linux không giải nén được file .rar. Hiện có bản Winrar cho Linux nhưng làm việc ở chế độ command, khó sử dụng và bất tiện. Bạn có thể tìm hiểu để biến nó thành một dạng như plugin cho trình giải nén của Linux và có thể dễ dàng nén/giải nén/xem nội dung file .rar thông qua giao diện đồ họa và chuột.

Phần mềm soạn thảo văn bản, bảng tính và trình chiếu trên Linux có OpenOffice, tương đương với OfficeXP của Microsoft nhưng chưa bằng được Office 2003 ở một số tính năng nhưng cũng có một số chức năng mạnh như VBScript và Javascript cho phép lập trình. Các file .doc, .xsl, .ppt được soạn bằng Office 2003 và font Arial và .VNTime có thể xem và chỉnh sửa tốt nhưng gặp phải vấn đề về font chữ. Linux sử dụng True Type Font và có sẵn một số font Unicode nhưng tên font khác với Windows khiến các file thử nghiệm không hiển thị đúng. Vấn đề được giải quyết đơn giản bằng việc copy các file font trên Windows vào thư mục font của Linux. Nhưng OpenOffice Writer (tương đương với Word) vẫn gặp phải lỗi chữ "ư" với font TCVN3, các file .xsl và .ppt thì không bị lỗi này.

Phần mềm gõ tiếng Việt: Trên Linux có một số phần mềm cho phép gõ tiếng Việt như x-Unikey và một số phần mềm khác. X-Unikey khi sử dụng gặp phải rất nhiều lỗi, có lúc không gõ được tiếng Việt, có lúc còn làm hệ thống không thể input được ký tự nào. Bạn có thể tìm hiểu Scim-m17n, chương trình mã mở cho phép gõ tất cả các ngôn ngữ trên thế giới, mỗi phương thức gõ cần một file cấu hình. Người dùng thường quen gõ tiếng Việt theo kiểu TELEX nhưng file cấu hình để gõ TELEX cho Scim chỉ có thể bỏ dấu ngay sau nguyên âm và nếu gõ sai dấu thì không thể gõ lại dấu khác mà phải xóa đi gõ lại. Scim có thể gõ tốt trên nhiều chương trình như Gedit, OpenOffice, Firefox và bạn có thể tìm hiểu để soạn lại file cấu hình cho phù hợp, cho phép bỏ dấu ở bất cứ đâu của từ và có thể chuyển sang dấu khác mà không cần gõ lại từ.

Ngoài ra, có một số phần mềm giả lập môi trường Windows trên Linux để cho phép cài các phần mềm Windows trên Linux. Ví dụ CrossOver, một phần mềm giả lập dựa trên phần mềm mã mở Wine. Người dùng sẽ cài được Flashget (trình hỗ trợ download trên Windows) và DUMeter (trình đo lưu lượng mạng trên Windows) nhưng có thể không cài được Winrar, GifMovieGear...

5. Bảo mật

Hiện tại có rất ít phần mềm diệt virus cho Linux vì mã độc tấn công Linux chưa phổ biến. Nhìn chung, cả Linux và Windows đều không thể hoàn toàn chống lại các tấn công về bảo mật cũng như virus nhưng hiện tại các tấn công nhằm vào Linux còn rất ít, không đáng kể nên người dùng Linux hầu như

Page 37: Linux Toan Tap Qua Hay

không cần lo lắng nhiều đến vấn đề bảo mật cũng như virus, ít ra cũng không "dính" mấy virus Yahoo Messenger một cách ngớ ngẩn.

6. Lập trình

Người dùng có thể cài được môi trường Java và phần mềm soạn mã Java (IntelliJ), server JBoss, Tomcat trên Linux không khó khăn gì vì J2SDK và các phần mềm soạn Java thường có phiên bản hỗ trợ cho nhiều hệ điều hành. Ngoài ra là Oracle 10g với một ít "mẹo" và MySQL.

Còn với .NET, trên Linux có Mono Framework, một khung thay thế .NET Framework của Microsoft. Mục tiêu của Mono là thi hành tất cả các hàm và lớp của .NET Framework do đó các chương trình viết bằng Visual Studio .NET của Microsoft, sau khi biên dịch sang file .exe có thể chuyển sang Linux và chạy thông qua Mono, các file ASP.NET cũng có thể chạy được trên Linux thông qua Mono. Mục tiêu là vậy nhưng hiện tại Mono chưa thi hành được đầy đủ .NET Framework nên một số chương trình viết bằng Visual Studio vẫn không thể chạy trên mono. Do đó nếu phải làm dự án liên quan đến .NET thì bạn vẫn phải chuyển sang dùng Windows và Visual Studio 2005.

7. Phần cứng

Có lẽ đây vẫn còn là điểm yếu của Linux. Các hãng phần cứng lớn thường có driver cho cả Windows và Linux nên nếu trong bộ cài Linux không có sẵn driver thì có thể lên trang web của nhà sản xuất phần cứng để down về. Nhưng các hãng phần cứng nhỏ hơn thường mới chỉ viết driver cho Windows và khó có thể nhận dạng được các thiết bị này trên Linux. Ví dụ, người dùng không cài được webcam vì đĩa CD đi kèm chỉ có driver cho Windows.

8. Kết luận

Với nhiều mục đích sử dụng, Linux hoàn toàn có thể thay thế Windows. Với nhân viên văn phòng, những người chỉ cần làm việc với Word, Excel, PowerPoint và duyệt web, chat ... mà không cần phần mềm quản lý chuyên dụng viết cho Windows hay các thiết bị ngoại vi chưa được hỗ trợ trên Linux thì hoàn toàn có thể chuyển sang dùng Linux.

Page 38: Linux Toan Tap Qua Hay

10 điều cần biết về Linux

Hiện nay, Windows vẫn là hệ điều hành được sử dụng rộng rãi, đặc biệt là ở Việt Nam. Tuy nhiên, xu hướng sử dụng Linux cũng đang trở nên phổ biến mà nếu là một "IT Pro" thì chắc hẳn bạn cũng đã từng cài đặt và sử dụng Linux.

1. Cấu trúc thư mục

Cấu trúc thư mục không giống như trong Windows và các hệ điều hành khác, hệ thống tập tin trong Linux là một cây rất lớn (big tree). Thư mục Root ( / ) là thư mục gốc, các tập tin và các ổ đĩa khác chỉ là nhánh của Root.

Ví dụ: nếu bạn có 2 đĩa cứng a và b, một đĩa mềm và một ổ CD-ROM. Hãy giả sử rằng ổ đĩa thứ nhất có 2 phân vùng (partition) là a1 và a2, ổ đĩa thứ 2 chỉ có một phân vùng là b.

Trong Windows

ổ cứng a, phân vùng a1 (hda1): ổ đĩa C ổ cứng a, phân vùng a2 (hda2): ổ đĩa D ổ cứng b, một phân vùng b1 (hdb1): ổ đĩa E ổ đĩa mềm: ổ A ổ đĩa CD-ROM: ổ FNgược lại, trong Linux, mỗi ổ đĩa sẽ được gắn kết (mount) vào trong cây thư mục (Tree Directory) giống như là một thư mục bình thường:

hda1: / (Root) hda2: /home hdb1: /home/user/music ổ đĩa mềm: /mnt/floppy ổ CD-ROM: /mnt/cdrom2. Hệ thống theo modul

Trong Windows 98/2000/XP hay Mac OS X... mỗi hệ điều hành đều có một giao diện đồ hoạ GUI không giống nhau.Trong Linux, mỗi modul trong hệ thống là hoàn toàn độc lập với nhau, vì vậy người sử dụng có thể trộn lẫn và tự tạo ra hệ điều hành cho riêng mình.

Không giống như hệ điều hành Windows của Microsoft, mọi thành phần đều kết nối và phụ thuộc lẫn nhau. Ngược lại, Linux lại cung cấp khả năng các chương trình làm việc độc lập với nhau, nếu chương trình này được gỡ bỏ thì các chương trình khác vẫn hoạt động tốt mà không gây ảnh hưởng gì. Chính vì khả năng phân chia modul như vậy mà HĐH Linux được phân phối bởi những người sử dụng hay các công ty lớn như RedHat, Xandros, Simply MEPIS và Suse... đều có thể tương thích với nhau.

Trong Linux, các chương trình cũng có thể thay đổi lẫn nhau, mà giao diện đồ hoạ GUI cũng không phải là ngoại lệ. Muốn có giao diện giống với Windows XP? Hãy sử dụng FVWM với theme XP. Muốn nhanh hơn? Hãy dùng IceWM. Muốn có đầy đủ tính năng? GNOME hoặc KDE sẽ là thích hợp nhất. Tất cả những gói phần mềm về giao diện GUI đều có những thuận lợi và yếu điểm riêng, nhưng chúng cũng đều hỗ trợ người dùng tương tác tốt với chuột.

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 39: Linux Toan Tap Qua Hay

3. Hỗ trợ phần cứng, phần mềm

Phần cứng, phần mềm và mọi thứ trong Linux cũng mới chỉ xuất hiện trong vài năm gần đây. Với thời gian chỉ bằng một nửa so với Windows, nhưng các phần mềm cho Linux mạnh mẽ hơn, ổn định hơn, "ngốn" ít tài nguyên hơn, và chi phí thì rẻ hơn so với nền tảng Windows.

Hỗ trợ phần mềm

Tuy nhiên, điều mà Linux cần phải quan tâm là hiện nay chưa có nhiều nhà cung cấp phần mềm hỗ trợ Linux. Ví dụ nếu muốn sử dụng QuickBook của Intuit trên Linux, thì không thể. Mặc dù, cũng có nhiều dự án cho phép các ứng dụng Windows có thể chạy trên Linux, như CrossOver Office (cho phép chạy Office trên Linux) và Wine (giả lập môi trường Windows và các ứng dụng Windows có thể chạy trên Linux). Nhưng các phần mềm này không thể chạy tốt và ổn định như trong môi trường thực của nó, người sử dụng cần phải chờ đợi khi các hãng cung cấp phần mềm chính thức chuyển sang Linux thì mới có thể sử dụng tốt được.

Hiện nay, cộng đồng mã nguồn mở đưa ra danh sách 15 000 chương trình hoạt động tốt trên Linux. Các phần mềm này đều miễn phí, chất lượng thì có thể khác nhau, nhưng hầu hết các chương trình đều viết rất tuyệt vời và có sự cải tiến đáng chú ý. Những phần mềm này có thể nhập và xuất các tập tin từ các định dạng của những phần mềm quen thuộc. Chẳng hạn, GNUCash có thể đọc các định dạng của QuickBook rất tốt, và OpenOffice.org có thể đọc tốt các định dạng tài liệu của bộ Micrsoft Office...

Hỗ trợ phần cứng

Để cài đặt phần cứng trên các máy tính Apple không đơn giản như trên Windows, và điều này cũng tương tự với Linux. Hầu hết các phần cứng ổ cứng, RAM, USB Flash, bo mạch chủ, card mạng và máy ảnh số đều làm việc tốt, nhưng một số phần cứng mới hoặc không được hỗ trợ thì rất khó cài đặt.

Các trình điều khiển làm việc với phần cứng được viết cho Linux đều phải được cung cấp miễn phí cho các cộng đồng người sử dụng Linux, mà điều này các hãng sản xuất phần cứng không muốn. Do đó, có thể đây là một điểm yếu so với Windows bởi các công ty phần cứng có thể làm việc trực tiếp với Microsoft về tính tương thích, và có xu hướng để Linux tự tìm cách hỗ trợ các thiết bị đó bởi họ muốn giữ bản quyền về công nghệ của riêng mình. Một thông tin tốt là các nhà cung cấp phần cứng cho Linux cũng như phần mềm đều đang có chuyển biến tích cực và nhiều công ty cũng đang dần hỗ trợ Linux.

Kết hợp giữa phần cứng, phần mềm trong các máy tính Linux là nhân hệ điều hành (kernel). Nhân hệ điều hành (HĐH) kết nối phần cứng và phần mềm, và những cập nhật mới nhất đều có sẵn trên Internet. Nếu đang sử dụng phần cứng mới và nhân HĐH cũ chưa hỗ trợ , hãy sử dụng phiên bản mới, đây cũng là một giải pháp sẽ giúp bạn vượt qua khó khăn. Để cài đặt nhân HĐH mới cũng không phải là quá phức tạp, tuy nhiên sử dụng trình quản lý các gói cài đặt sẽ đem lại sự đơn giản hơn.

4. Trình quản lý gói cài đặt

Thực ra có rất nhiều cách để cài đặt các chương trình Linux, nhưng cách dễ nhất là sử dụng trình quản lý cài đặt PM (Package Manager). PM đảm bảo chắc chắn rằng những tập tin bị mất đều được cài đặt lại và chương trình có thể chạy hoàn toàn chính xác, đúng yêu cầu.

Các hãng cung cấp Linux thường sử dụng các kho dữ liệu trực tuyến để lưu trữ các chương trình. Cài

Page 40: Linux Toan Tap Qua Hay

đặt các ứng dụng cũng dễ dàng, chỉ cần tìm kiếm các chương trình trong kho dữ liệu và nhấn chuột vào Install là xong. Không thể tìm IceWM hoặc MPlayer trong danh sách cài đặt? Cũng có những cách khác để cài đặt một khi dữ liệu cho những chương trình mà bạn không tìm thấy, hãy truy cập vào các kho dữ liệu trực tuyến như Synaptic cho Debian, Yum cho RedHat, YaST2 cho SuSE và Emerge cho Gentoo.

5. Quyền truy cập (Permission)

Linux được thiết kế cho nhiều người sử dụng, những người sử dụng này lại được chia thành nhiều nhóm. Mỗi người sử dụng đều có quyền đọc (Read), ghi (Write), hoạc thực thi (Execute) cho những tập tin của riêng họ, và quyền hạn để chuyển đổi quyền truy cập. Bởi Linux được thiết kế cho nhiều người sử dụng, mỗi người sử dụng đều có mật khẩu riêng, và giới hạn quyền truy cập của người sử dụng (User Permissions).

Một người dùng thuộc về một nhóm hoặc nhiều nhóm khác nhau, và mỗi người sử dụng có thể đặt quyền truy cập các tập tin/thư mục của họ có quyền đọc nhưng không thể ghi, hoặc kết hợp các R/W/X...

Người dùng quản trị root, cũng giống như Administrator trong Windows, có quyền truy cập vào tất cả những tập tin và chỉ những người sử dụng có quyền hạn mới được phép thay đổi những thiết lập hệ thống. Điều này giúp những người sử dụng thông thường không thể cài đặt những phần mềm gián điệp vào hệ thống và xoá những tập tin quan trọng.

6. Thư mục người dùng

Trong Windows có My Documents, nhưng bạn thường "quăng" những tài liệu ở chỗ nào? Rất nhiều người sử dụng lưu chúng ngay trên Desktop của Windows. Linux cũng có thể làm như vậy, nhưng mỗi người sử dụng đều cho một thư người dùng riêng, thường đặt tại /home/user. Trong thư mục người dùng bạn có thể lưu các tài liệu trong thư mục Documents (/home/user/documents), các liên kết tới chương trình, âm nhạc (/home/user/Music), hoặc bất cứ những gì nếu muốn. Bạn có thể tạo các tập tin hoặc các thư mục ở đó, tổ chức chúng theo cách mà mình thích.

7. Cài đặt mặc định

Sự khác biệt giữa các bản Linux từ các hãng phân phối như: các tập tin cũng được lưu vào các đường dẫn khác nhau và các ứng dụng cài đặt cho mỗi bản Linux cũng khác nhau... Nếu so sách các tập tin hệ thống giữa Redhat và SuSE cũng có sự khác biệt rất lớn. Hầu hết người sử dụng đều không cần phải biết nhiều tới sự khác biệt này, nhưng những nhà sản xuất phần mềm cần phải nhận biết rõ điều này. Vì vậy, khi nhờ sự giúp đỡ, hãy cho người khác biết rõ bạn đang sử dụng Linux từ nhà cung cấp nào. Nếu gặp không phải những rắc rối, và không quan tâm về sự khác biệt giữa những cài đặt mặc định này, bạn cứ yên tâm sử dụng, đó là cách tốt nhất để tránh "nhức đầu".

8 Giao diện dòng lệnh

Giao diện dòng lệnh trong Linux CLI (Command Line Interface), cũng giống như DOS của Windows. Nhưng khả năng của CLI lại mạnh mẽ và rất hữu ích khi giải quyết những sự cố máy tính. Nếu cần trợ giúp từ Internet hoặc hỏi ai đó, bạn có thể sử dụng giao diện dòng lênh để giúp bạn mà không cần phải nạp các trình quản lý GUI.

Page 41: Linux Toan Tap Qua Hay

9.Tổ hợp Ctrl-Alt-Escape

Nhấn tổ hợp phím Ctrl-Alt-Escape, biểu tượng con trỏ chuột sẽ thay đổi hình dáng thành biểu tượng X, hoặc một biểu tượng nào đó. Trong chế độ này, chỉ cần nhấn vào cửa sổ chương trình bị lỗi hoặc treo, lập tức ứng dụng đó sẽ bị "giết". Tổ hợp phím này cũng tương tự như khi sử dụng Task Manager trong Windows. Khi đổi ý, bạn chỉ cần nhấn Esc để thoát khỏi chế độ này. Cũng giống sử dụng Task Manager của Windows, khi sử dụng sai, rất có thể những lỗi nghiêm trọng sẽ xảy ra và khởi động lại máy là không thể tránh khỏi.

10. Internet là người bạn thân

Sử dụng Linux cũng không hề đơn giản. Tuy nhiên, "không biết thì phải hỏi", rất nhiều câu hỏi được đưa ra trên các diễn đàn (Forum) về cách sử dụng Linux, và những câu trả lời, những mánh lới... đều có sẵn cho bạn. Một địa chỉ hấp dân mà bạn hãy ghé qua như: www.LinuxQuestions.org là một trang Web lớn cung cấp cho bạn một kho dữ liệu vô giá về Linux.

Lưu ý, trước khi đưa bất cứ một câu hỏi nào lên trang Web này hãy tìm kiếm các câu hỏi trong trang Web bởi rất có thể sẽ không phải đợi lâu, câu trả lời đã có sẵn ở đâu đó. Bạn cũng nên đọc qua những câu hỏi về một vấn đề hoặc một giải pháp khác nào đó, rất có thể chúng sẽ giúp ích cho vấn đề mà bạn đang gặp phải.

Làm quen với cấu trúc file của Linux

Nhìn "bề nổi" thì cấu trúc và cách tổ chức file của Linux cũng không khác DOS/Windows và các Hệ điều hành khác là mấy. Chỉ có một điểm khác biệt lớn mà bạn cần phải chú ý là cấu trúc thư mục của Linux KHÔNG phân chia thành các ổ đĩa. Cho dù bạn có bao nhiêu ổ đĩa thì tất cả đều bắt đầu từ một thư mục gốc có tên là /. Sau đó là đi vào các thư mục con, mỗi ổ đĩa của bạn sẽ được "map" (ánh xạ) vào một thư mục con riêng biệt (thư mục nào thì còn tuỳ vào phiên bản của Linux và cũng tuỳ bạn qui định).

Thêm 3 điểm khác biệt nhỏ nữa mà bạn cần phải để ý là

- Trong đường dẫn của Linux, các thư mục được phân cách nhan bằng ký hiệu / (trong khi với DOS/Windows là ký hiệu \);

- Và các tham số của lệnh trong Linux được bắt đầu bằng dấu trừ (-) (VD: ls -l) trong khi với DOS/Windows là ký hiệu / (VD: dir /a); các tham số của Linux có thể được dùng kết hợp với nhau (VD: ls -al, ls -ls...)

- Cuối cùng, Linux khác với Windows ở chỗ Linux phân biệt chữ hoa và chữ thường, trong Linux abc và Abc là khác nhau.

Một số phím/tổ hợp phím bạn cần biết

Ctrl-C: bạn hãy nhớ kỹ tổ hợp phím này. Trong trường hợp bạn cảm thấy "có cái gì đó bất ổn" xảy ra, hay là chương trình bạn chạy không chịu dừng thì bạn hãy thử nhấn tổ hợp phím này. 99% chương trình của Linux chạy trên chế độ text đều có thể được/bị kết thúc bằng tổ hợp phím này.

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 42: Linux Toan Tap Qua Hay

Ctrl-Alt-Del: tương tự như trong DOS. Tổ hợp phím này sẽ khởi động lại máy tính.

Ctrl-D: khi một chương trình yêu cầu bạn nhập dữ liệu từ bàn phím, bạn có thể nhấn tổ hợp phín này để báo cho chương trình biết là quá trình nhập dữ liệu đã kết thúc. Tổ hợp phím này sẽ gởi tín hiệu EOF (End Of File) đến chương trình.. Nếu nhấn Ctrl-D mà không thấy "xi nhê", bạn thử gõ vào EOF (ba chữ cái E, O và F) rồi nhấn Enter (phím Enter).

ESC: đây là phím Esc ở góc trái, phía trên của bàn phìm, trước khi nhấn Ctrl-C để kết thúc chương trình, bạn hãy thử nhấn ESC trước xem sao.

ENTER: đây là phím Enter trên bàn phím, chắc là tôi khỏi phải giới thiệu về chức năng của phím này nữa chứ nhỉ?

Một số lệnh căn bản của Linux

Các lệnh được trình bày sau đây tôi sẽ cố gắng so sánh nó với một lệnh tương tự trong DOS để nếu như bạn đã biết qua các lệnh của DOS rồi thì sẽ dễ hiểu hơn. Còn nếu bạn chưa từng biết qua các lệnh của DOS? Cũng không sao, bạn sẽ biết được thêm cùng 1 lúc các lệnh của Linux và DOS. Chú ý, đây là các lệnh trong chế độ text và được gõ từ bàn phím. Các lệnh phải được gõ chính xác (vì Linux phân biệt giữ chữ hoa và chữ thường!). Và dĩ nhiên là sau khi gõ xong một lệnh thì bạn đừng quên nhấn Enter để Linux bắt đầu thực hiện lệnh đó! :-) Lưu ý thêm là những gì tôi ghi giữa 2 ngoặc nhọn (< và >) là bắt buộc phải có, giữa hai ngoặc vuông (< và >) là tuỳ chọn (không bắt buộc).

Lệnh Công dụng - Cách dùng - Cú pháp

man đây có lẽ là lệnh mà bạn cần phải nhớ kỹ (đừng bao giờ quên!). Lệnh này tương tự như lệnh Help trong DOS. man sẽ hiển thị các thông tin chi tiết về cộng dụng, cách dùng và cú pháp của một lệnh khác (dĩ nhiên là các thông tin đều bằng tiếng Anh).

Cú pháp: man <tên_lệnh_khác>

Ví dụ: man ls

Và bạn hoàn toàn có thể gõ man man để hiển thị các thông tin giúp đỡ về chính lệnh man!

Lưu ý: để thoát (kết thúc) lệnh man, bạn hãy gõ vào ký tự hai chấm (1.gif sau đó gõ tiếp ký tự q. Nếu không thành công, bạn hãy nhấn phím ESC và thử lại lần nữa. Bạn cũng có thể nhấn Ctrl-C để thoát khỏi man.

ls lệnh này tương tự như lệnh dir trong DOS. ls sẽ liệt kê danh sách tất cả các file và thư mục nằm trong một thư mục mà bạn chỉ định.

Cú pháp chung: ls

Nếu như bạn cung cấp phần thư_mục thì ls sẽ liệt kê các file trong thư mục hiện tại.

Ví dụ:

Page 43: Linux Toan Tap Qua Hay

ls

ls -a

ls -al /usr

Một số tham số của ls như sau:

-a: liệt kê tất cả các file, kể cả file ẩn, là những file mà tên bắt đầu bằng dấu chấm (.)

-A: liệt kê tất cả các file, kể cả file ẩn, nhưng không liệt kê . và .., đây tên của thư mục hiện tại và thư mục cha trong Linux.

-l: liệt kê chi tiết về file (bao gồm các thông tin như thời gian tạo, kích thước, thuộc tính...).

Bạn hãy tự mình tìm hiểu thêm về các tham số khác của ls nhé! (dùng man ls). Và đừng quên dùng man cho các lệnh tiếp theo.

cd lệnh này tương tự như lệnh cd trong DOS. Dùng để chuyển tới một thư mục khác.

Cú pháp: cd

Ví dụ: cd /home

Nếu bạn không cung cấp tên_thư_mục thì cd sẽ đưa bạn về thư mục "tổ ấm" (home directory) của bạn. Trong Linux, mỗi người sử dụng đều có một home directory. Nếu username của bạn là nbthanh thì home directory của bạn sẽ là /usr/nbthanh. Riêng account root sẽ có home directory là /root.

pwd lệnh này tương tự như lênh cd (không có tham số) trong DOS. Lệnh này sẽ hiển thị lên màn hình cho bạn biết là bạn hiện đang ở thư mục nào.

Cú pháp: pwd

mkdir tương tự như lệnh md của DOS. Lệnh này dùng để tạo một thư mục mới.

Cú pháp: mkdir <tên_thư_mục_muốn_tạo>

Ví dụ:

mkdir mydir

mkdir /tmp/mydir2

rmdir tương tự như lệnh rm trong DOS, dùng để xoá một thư mục.

Cú pháp: rmdir <thư_mục_muốn_xoá>

Ví dụ:

Page 44: Linux Toan Tap Qua Hay

rmdir mydir

rmdir /tmp/mydir2

rmdir /tmp/*

Lưu ý: bạn chỉ có thể xoá được thư mục nếu như nó rỗng, nghĩa là nó không chứa một file hoặc thư mục con nào nữa (ngoài . và ..).

cp tương tự như lệnh copy của DOS, dùng để chép file hoặc thư mục từ nơi này đến nơi khác.

Cú pháp: cp <file_hoặc_thư_mục_nguồn> <file_hoặc_thư_mục_đích>

Ví dụ:

cp /tmp/myfile.txt myfile.text

cp /home/*.cgi ./

cp -r /usr/nbthanh1 /usr/nbthanh2

Mặc định thì cp chỉ chép các file, nếu bạn thêm tham số -r thì cp sẽ chép luôn các thư mục.

rm tương tự như lệnh del trong DOS, lệnh này dùng để xoá file.

Cú pháp: rm <tên_file_muốn_xoá>

Ví dụ:

rm myfile.txt

rm /usr/nbthanh/nbtfile.txt

rm /tmp/*

mv tương tự như lênh move (ngoại trú) của DOS. Lệnh này sẽ di chuyển/đổi tên file từ nơi này đến nơi khác.

Cú pháp: mv <file_hoặc_thư_mục_nguồn> <file_hoặc_thư_mục_đích>

Ví dụ về di chuyển:

mv /tmp/myfile.txt /usr/nbthanh

mv myfolder /tmp

mv /usr/* /tmp

Ví dụ về đổi tên, vừa di chuyển vừa đổi tên:

Page 45: Linux Toan Tap Qua Hay

mv myfile1.txt myfile2.txt

mv /usr/oldfoler ./newfolder

cat tương tự như lệnh type của DOS. Lệnh này dùng để hiển thị nội dung của 1 file lên màn hình.

Cú pháp: cat <tên_file_cần_hiển_thị>

Ví dụ:

cat myfile.txt

cat /tmp/temp.text

Vậy là đã xong, tôi đã trình bày với bạn một số lệnh căn bản nhất của Linux. Bạn tự mình ra bài tập và thực hành nhé! Có thể bạn sẽ thắc mắc là tại sao không có lệnh nào tương tự như copy con trong DOS? Vâng đúng là như vậy, trong Linux, để tạo file thì bạn phải dùng một chương trình cụ thể (như một chương trình soạn thảo văn bản chẳng hạn) chứ không có lệnh tương tự nhu copy con của DOS

Làm quen với Linux

Linux là hệ điều hành đa người dùng, nghĩa là nhiều người có thể truy cập và sử dụng 1 máy tính cài Linux. Mỗi người muốn sử dụng được máy tính cài Linux thì phải có 1 account đã được đăng ký. Một accout gồm có 1 username và 1 password. Hai người khác nhau sẽ có 2 username khác nhau (nhưng password thì có thể trùng nhau). Để có thể bắt đầu thao tác và sử dụng, người dùng phải thực hiện thao tác đăng nhập (login và hệ thống). Quá trình này tóm gọn lại là 2 thao tác nhập vào username và password. Username và password cũng phân biệt chữ hoa và chữ thường. Và khi nhập vào password, trên màn hình sẽ không hiển thị bất cứ ký tự nào.

Linux có 1 account đặc biệt là account root. Đây là user có cấp cao nhất, có toàn quyền "sinh sát" đối với toàn hệ thống.

Mỗi người dùng trên Linux được cấp một thư mục riêng (gọi là home directory), là một thư mục con của /usr. Có dạng /usr/username; nghĩa là nếu username bạn là nbthanh thì home directory của bạn là /usr/nbthanh. Riêng đối với accout root thì home directory là /root. Các user có thể cùng thuộc một nhóm (group) hoặc là khác nhóm; các user trong cùng một nhóm thì có quyền hạn như nhau. Thường thì tất cả các user đều thuộc vào nhóm User (trừ root và các account dành riêng cho hệ thống).

User chỉ có quyền thao tác trong home directory của mình (và những thư mục khác được phép của hệ thống) mà thôi. User này không thể truy cập vào home directory của user khác (trừ trường hợp được chính user đó hoặc root cho phép). Mỗi tập tin (file) và thư mục trên Linux đều được "đăng ký chủ quyền", nghĩa là thuộc về một user và nhóm nào đó. Thường thì tập tin và thư mục được tạo bởi user nào thì sẽ thuộc về user đó. VD username của bạn là nbthanh, bạn thuộc nhóm user và bạn tạo ra 1 tập tin có tên là myfile.txt thì tập tin myfile.txt sẽ được đánh dấu là "người sử hữu: nbthanh; thuộc về nhóm: user". Những user khác không thể truy cập được myfile.txt nếu không được phép của bạn. Bạn hoàn toàn có thể thay đổi "chủ sở hữu" của tập tin/thư mục bằng các lệnh của Linux. Bạn hoàn toàn có thể đặt myfile.txt thuộc về user nbthanh nhưng lại thuộc về nhóm guests (mặc dù user nbthanh không nằm trong nhóm guests).

Page 46: Linux Toan Tap Qua Hay

Một số lệnh căn bản của Linux

Đây là các lệnh trong chế độ text và được gõ từ bàn phím. Các lệnh phải được gõ chính xác (vì Linux phân biệt giữ chữ hoa và chữ thường!). Sau khi gõ xong một lệnh bạn đừng quên nhấn Enter để Linux bắt đầu thực hiện lệnh đó! :-) Lưu ý thêm là những gì tôi ghi giữa 2 ngoặc nhọn (< và >) là bắt buộc phải có, giữa hai ngoặc vuông (< và >) là tuỳ chọn (không bắt buộc). Và cuối cùng: đừng quên dùng lệnh man để xem thêm thông tin hướng dẫn về các lệnh

Lệnh Công dụng - Cách dùng - Cú pháp

exit

logout trong text mode, Linux cung cấp cho bạn 6 desktop (tty1...tty6) để làm việc. Bạn có thể bật chuyển qua lại giữa các desktop bằng cách nhấn tổ hợp phím Alt-F1...Alt-F6. Hai lệnh exit và logout kết thúc phiên làm việc của desktop hiện tại và trở về màn hình login.

Cú pháp:

exit

logout

chown lệnh này dùng để thay đổi "chủ sở hữu" của 1 tập tin hay thư mục, tức là gán cho tập tin hoặc thư mục chỉ điịnh thuộc về quyền sở hữu của một user nào đó.

Cú pháp:

chown username<.groupname> <tên_file_hoặc_thư_mục>

chown .groupname <tên_file_hoặc_thư_mục>

Bạn cung cấp username thì file/thư mục sẽ được đặt là thuộc quyền sở hữu của username đó. Nếu bạn cung cấp groupname thì file/thư mục sẽ thuộc về nhóm groupname đó. Hai phần này độc lập với nhau, thay đổi quyền sở hữu user sẽ không làm thay đổi quyền sở hữu group và ngược lại.

Ví dụ: có file guestfile.txt thuộc về user abc thuộc về group guests, có một user nbthanh thuộc về nhóm moderators, file myfile.txt thuộc về quyền sở hữu của nbthanh và thuộc về nhóm moderator.

__________________

, 01/03/-1,
sig
, 01/03/-1,
/ message
Page 47: Linux Toan Tap Qua Hay

Cài đặt các ứng dụng từ mã nguồn 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. Để 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ặc Gnome... 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:

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 48: Linux Toan Tap Qua Hay

- Đố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.

Page 49: Linux Toan Tap Qua Hay

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ục pkg_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ến PATH 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

Page 50: Linux Toan Tap Qua Hay

Sử dụng các lưu trữ nén RAR và 7-Zip trong Linux

Định dạng file nén RAR và 7-Zip có nguồn gốc từ Windows và không được hỗ trợ tự động trong Unix như Gzip và TAR trước đây. Nhưng với một phần mềm chuẩn, bạn có thể sử dụng các file này mà không gặp phải phiền phức gì.

Trước hết chúng ta làm quen với một số điểm cơ bản. RAR, tên viết tắt của Roshal Archive, là định dạng file nén có bản quyền do Eugene Roshal phát triển. Trước đó, Roshal đã bán tiện ích thương mại có tên WinRAR cho Windows, đồng thời cũng cung cấp miễn phí bản client chỉ giải nén cho một số hệ điều hành.

7-Zip là một ứng dụng Windows, được thiết kế để quản lý hầu hết các kiểu file nén. Định dạng tự nhiên của nó là 7z, sử dụng một nhánh thuật nén hiện đại của LZ77. Ứng dụng Windows 7z và bộ phát triển phần mềm đều đã được cung cấp với tên LGPL.

Hai kiểu định dạng này tạo tỷ lệ nén tốt hơn nhiều cho các kiểu dữ liệu phổ biến so với một số thuật toán cũ. Chúng cũng hỗ trợ phân tách các lưu trữ lớn thành nhiều bộ nhỏ hơn nhằm di chuyển và khôi phục lỗi dễ dàng. Sự kết hợp cả hai định dạng khiến chúng trở thành lựa chọn số một cho phân phối trực tuyến của các file cực lớn như ảnh ISO 7z và Linux.

7z và Linux7-Zip là ứng dụng mã nguồn mở, nhưng chỉ dành cho kiểu file Windows. Với người dùng Linux, các liên kết dự án với gói client command-line được đặt tên p7zip cung cấp hai thực thi: 7z và 7za. Cả hai có cùng cú pháp và tuỳ chọn, chỉ khác ở chỗ 7za là ứng dụng "tự chứa" chỉ được dùng cho 7z và một số định dạng Unix chủ yếu (tar, gzip, bzip2, v.v…). Còn 7z dùng cấu trúc plug-in, cho phép hỗ trợ nhiều định dạng nén bổ sung khác.

Cú pháp cơ bản: 7z function options ten_file.7z. Để giải nén một lưu trữ, dùng 7z x ten_file.7z. Bạn cũng có thể giải nén file bằng cách: 7z e ten_file.7z . Trong đó, hàm e có thể giải nén tất cả file vào thư mục hiện tại đang hoạt động, còn x duy trì đường dẫn của chúng.

RAR và Linux

Trường hợp của RAR thì phức tạp hơn một chút do nó có bản quyền của định dạng file. Trên website RARLAB cung cấp phiên bản chỉ dùng giải nén có bản quyền nhưng miễn phí cho khách hàng Linux, gọi là unrar. Bản này được thiết kế cho phân phối Intel 32-bit trong cả hai gói RPM, Slackware; như các mã nhị phân độc lập cho hệ thống Intel 64-bit, PowerPC; và các hệ thống Linux ARM. Chương trình unrar của RARLAB được cung cấp thành phần mềm miễn phí và phần mềm nguồn mở nên bạn sẽ không thấy bất kỳ phân phối Linux nào có tích hợp nó trong hệ điều hành. Bạn có thể download một đoạn mã nguồn tarball trên RARLAB, nhưng quy định bản quyền kèm theo cấm bạn dùng nó để phát triển bất kỳ chương trình mã hoá RAR nào.

Một lựa chọn khác là công cụ dòng lệnh có bản quyền GPLv2, do dự án Gna! phát triển. Gna! urar được thiết kế như một bộ bọc quanh unrarlib, thư viện mã hoá RAR nguồn mở do Christian Scheurer và Johannes Winkelmann, những người không thuộc Gna! phát triển. Scheurer và Winkelmann phát triển thư viện unrarlib từ mã nguồn RARLAB nguyên bản ban đầu, nhưng vẫn phải cần các quyền do Eugene Roshal cho phép để trở thành phần mềm miễn phí. Do đó, có

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 51: Linux Toan Tap Qua Hay

thể hiểu unrarlib được phát triển từ GPLv2 và bản quyền ban đầu của RARLAB.

Hợp đồng bản quyền này có vẻ là con đường thú vị để thực hiện phần mềm chạy cuối quanh RARLAB và tạo chương trình mã hoá RAR tin học từ mã nguồn ban đầu, nhưng cho tới nay điều này vẫn chưa diễn ra. Sheurer không cảm thấy thích thú với ý tưởng này. Tác giả nói rằng, anh thích dùng các định dạng nguồn mở để tạo lưu trữ hơn. "Không phải lúc nào bạn cũng có thể lựa chọn được kiểu định dạng dữ liệu. Vì thể, thật tuyệt nếu có cách thức mở để truy cập nó. Nhưng bạn có thể chọn cách tạo ra một lưu trữ. Nếu không muốn sử dụng các công cụ nén nguồn đóng, có nhiều lựa chọn khác cho bạn".

Chương trình giải nén unrar có bản quyền sử dụng cú pháp cơ bản như 7z và 7za. Để giải nén, lưu trữ và duy trì đường dẫn file, gõ unrar x ten_file_luu_tru.rar. Trong GPL unrar, bạn cần thêm một dấu nối trước x: unrar -x ten_file_luu_tru.rar.

Hiện nay, thư viện unrarlib chỉ hỗ trợ phiên bản 2 (version 2) của định dạng file RAR. Sắp tới đây, định dạng RAR3 mới hơn có thể sẽ được hỗ trợ trong unrarlib, nhưng Scheurer nói rằng, anh không chắc có thể hy vọng một số kích hoạt lại từ RARLAB.

Hỗ trợ giao diện người dùng GUI

Nếu bạn thực hiện được hầu hết mọi việc trên chương trình Window Manager của Linux, bạn thật may mắn. Cả GNOME và KDE đểu có các chương trình quản lý lưu trữ đồ hoạ. File Roller cho GNOME và Ark cho KDE. Hầu hết mọi phiên bản gần đây của cả hai chương trình đều dùng cơ chế plug-in, hỗ trợ nhiều định dạng lưu trữ khác nhau và dựa trên p7zip để hỗ trợ cho 7z, dựa trên Gna! unrar hỗ trợ cho RAR. Mặc dù vậy, để giải quyết vấn đề không tương thích của các file RAR3 mới, bạn vẫn cần cài đặt chương trình unrar có bản quyền trên máy của mình.

Như đã đề cập đến ở phần đầu, cả 7z và RAR đều hỗ trợ phân tách các file lớn thành nhiều phần nhỏ hơn. Nhưng trong chương trình kiểm tra, cả File Rooler và Ark đều nhận ra rằng một thư mục đầy đủ với các file được đánh số lần lượt myfile.7z.001, myfile.7z.002, myfile.7z.003, v.v… tạo một file 7z phân tách thành các đoạn có kích thước theo bite.

Do đó, để có dữ liệu bên trong, bạn cần liên kết các file phân tách lại thành một file hoàn chỉnh trên dòng lệnh, sử dụng lệnh cat: cat ten_file.7z.001 ten_file.7z.002 ten_file.7z.003 > ten_file.7z. Một file hoàn chỉnh gắn lại từ các phần sẽ được tạo, đặt tên là ten_file.7z. Tại thời điểm đó, bạn có thể mở lưu trữ trong File Roller hoặc Ark. Nhưng sẽ nhanh hơn nếu gõ 7z x ten_file.7z.

Một số tiện ích cơ bản cho Linux Admin

1. Quản trị packages

- rpmdùng để install, update, xem thông tin ... các gói packets

vd: rpm -ivh <package_name.rpm> : cài đặtrpm -Uvh <package_name.rpm> : cập nhậtrpm -qvl <package_name.rpm> : xem thông tin chi tiết

- yum: trình dùng để cài đặt, và cập nhật gói tin qua mạng Internet ( yêu câu máy bạn phải kết nối Internet, và

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 52: Linux Toan Tap Qua Hay

cài packet yum, thường ở fedora, gói này được cài theo mặc định )

Trước khi sử dụng, bạn phải edit file /etc/yum.conf để chỉ ra nơi mà yum sẽ tìm các package.

vd : yum install <package_name>yum update <package_name>yum search <package_name>

Tham khảo thêm http://www.fedorafaq.org/#installsoftwareTrang chủ: http://linux.duke.edu/projects/yum/ Tips: Để tìm kiếm .rpm :http://rpmseek.com : trang tìm kiếmgoogle với keyword: inurl:fedora "index of" ( với packages cho fedora)

- install from source code

Các chương trình trên *nix thường ở 2 dạng : mã nguồn ( .tar, .tar.bz, .tar.gz... ) và dạng đóng gói ( .rpm với Redhat, fedora, .deb với Debian )Trên tôi đã nói về cách cài đặt với loại đã đóng gói. Giờ tôi sẽ nói thêm về cài đặt qua mã nguồn.

-- Chuẩn bị: trước khi cài đặt bạn phải có mã nguồn của chương trình, có thể tìm kiếm trên Internet

Tips: http://sourceforge.nethttp://freshmeat.netgoogle với từ khóa: inurl:<package_name> "index of"

Sau đó giải nén vào thư mục ( thường là /tmp ). Các bước cài đặt phổ biến là:. ./configure ( có thể tùy biến một số module trên lệnh này ). make. make install

2. Quản trị hệ thống

- netstat

dùng để xem các "kết nối" tới server của mình. Các kết nối này có thể ở trong các trạng thái establish, time_wait, closed_wait, fin_wait, ... chi tiết xem bài " Bảo mật ứng dụng phần mềm mã nguồn mở của anh mrro )vd: netstatnetstat | grep 80 : xem những kết nối đến port 80netstat | grep 80 | wc -l : tổng số kết nối đến port 80netstat -p | grep 0.0.0.0:80 | grep LISTENING : xem pid của dịch vụ httpd.

- uptime: hệ thống đã chạy được bao lâu và tải trung bình ( load average )

- top: theo dõi các process trên hệ thống cùng với CPU, memory sử dụng( process nào đang chạy, process nào đang free); đồng thời xem lượng CPU, memory, swap sử dụng, còn free.

Page 53: Linux Toan Tap Qua Hay

Để xem help, gõ "top", rồi ấn "h".

- ps

ps giúp bạn hiển thị các tiến trình hiện tại đang chạy ( currently running process ) trên hệ thống. Nó cũng tương tự như "Task_manager' bên Windows. Bên cạnh các process, ps cũng hiển thị các "process id" tương ứng, từ các id này bạn có thể stop một process bất kì thông qua lệnh kill ( kill <process_id> , chi tiết gõ "man kill" )

vd: ps -aux : hiển thị tất cả các process cùng với thông tin chi tiết về nóps -U <username> : hiển thị các process được khởi động bởi người dùng username

- /sbin/service

/sbin/service giúp bạn quản trị các dịch vụ đã cài đặt trong hệ thống, vd vsftpd, httpd, snmpd, postfix, iptables, smb ... các dịch vụ này được liệt kê trong /etc/rc.d/init.d.

Cấu trúc ( phổ biến ): /sbin/service <service_name> start | stop | restart | status ( status để xem dịch vụ này đang ở trạng thái gì, start, hay stop )

vd: /sbin/service httpd status/sbin/service iptables start

Note: xem thêm "chkconfig"

- kill: công cụ này dùng để kill ( diệt ) tiến trình dựa vào "process id" của nó ( process id dựa vào netstat -p hay ps -aux ở trên ). Kill có nhiều mức, mức 9 là mạnh nhất ( tôi sẽ ko đi sau về nó, chi tiết bạn xem man )

vd: kill 19345kill -9 19345

- /sbin/setup

Đây là tiện ích cho phép bạn setup một số thao tác quản trị qua giao diện menu rất trực quan và dễ dàng, bao gồm: thiết lập địa chỉ IP ( subnet mask, default gateway, dns, ... ), thiết lập firewall, thiết lập các xác thực ...

- ifconfig

đây là tool cho phép bạn cấu hình hay hiển thị cấu hình các địa chỉ IP cho các interface ( giao diện mạng ). Hẳn các bạn đã biết bên Windows có lệnh ipconfig, thì ở bên Linux, chúng ta lại có ifconfig, nhưng ifconfig còn làm được nhiều việc hơn.

vd: ifconfig cho phép bạn gán nhiều địa chỉ IP lên một interface. Lệnh sau sẽ gán thêm IP 66.193.175.173 vào giao tiếp eth0

Page 54: Linux Toan Tap Qua Hay

#ifconfig eth0:1 66.193.175.173 netmask 255.255.254.0

- route

Cho phép bạn quản lý bảng định tuyến, bảng định tuyến là gì ? Nói ngắn gọn là khi các packets từ máy bạn muốn ra ngoài, thì nó phải dựa vào bảng định tuyến này để tìm đường đi "đầu tiên" cho mình, tương tự như cái "cửa" vậy. Tuy nhiên sau khi ra ngoài thì nó phải thực hiện một quá trình định tuyến ( routing ) để đi đến đích, đây cũng là một vấn đề lớn , ko thể trình bày chi tiết ở đây được.

vd: route --> nó sẽ hiện thị routing table .

- cron

Trình này cho phép bạn thiết lập các schedular job ( công việc theo lịch ), lưu ý là daemon crond phải được chạy, bạn có thể tìm hiểu rõ thêm ở đây http://www.unixgeeks.org/security/ne...ix/cron-1.html, đây tôi xin nêu một ví dụ nhỏ:Mục đích của tôi là cứ 2h sáng 0 phút mỗi ngày máy sẽ thực hiện tự động file backup.pl trong /home/linet/script

#crontab -e : dùng để edit file cronThêm vào dòng sau:00 2 * * * linet /home/linet/script/backup.pl

- chmod, chown, chcon

chmod: thiết lập các thuộc tính read, write, execute của file, thư mục đối với từng người dùngvd: chmod 777 myfile.php --> cho phép tất cả người dùng có quyền ghi, đọc, thực thi với file này

chown: thiết lập chủ sở hữu của file, thư mụcvd: chown linet:admin myfile.php ---> chủ sở hữu của myfile.php là linet ( thuộc nhóm admin )

chcon: thay đổi security context, lệnh này tôi cũng chưa hiểu rõ lắm, nên mời mọi người chỉ giúp.

- ping, traceroute

Đây là hai lệnh khá phổ biến với mọi người, tôi cũng xin nêu ngắn gọn về chúng

ping: là lệnh gửi các ICMP echo-request đến máy khác và đợi các ICMP echo-reply gửi về, nó thường được dùng để kiểm tra xem một host có đang chạy hay không, dựa vào sự tồn tại của echo-reply.Nhiều người đã sử dụng ping với ứng dụng là ping flood, tức là gửi đi gói tin request với kích thước rất lớn trong thời gian rất nhanh để cho máy kia luôn phải " trả lời", tiêu tốn tài nguyên của hệ thống.

traceroute: ( trong Windows có 'tracert' ) là lệnh dò tìm đường đi từ máy hiện tại đến máy đích. Lệnh này hiện thị ra các router mà packets phải đi qua để đến được đích.

Page 55: Linux Toan Tap Qua Hay

vd: ping hvaonline.nettraceroute hvaonline.net

- df, du

Hiện thị không gian sử dụng filesystemvd: df -h

- ls, cat, vi

Đây là những lệnh cơ bản nhất cho người dùng Linux, nhưng cũng là những lệnh thường dùng nhất, ls tương tự như dir, cat dùng để xem nội dung file, vi là trình soạn thảo.

- more, grep, awk

Lệnh trong Linux console có một tính năng rất mạnh là nó có thể kết hợp nhiều lệnh để tạo ra kết quả.

grep: lọc thông tinvd: ps -aux | grep httpd -> hiển thị các tiến trình phục vụ cho dịch vụ httpd ( bình thường ps -aux sẽ hiển thị tất cả tiến trình )

more: giúp cho việc hiển thị kết quả stdout được phân từng trang, tiện cho việc theo dõi khi kết quả quá dàivd: cat error_log | more

awk hay gawk : tôi được biết đây là một command rất hay

- mc

Các bạn dùng bên Windows có NC thì bên Linux có MC, chức năng và cách dùng cũng tương tự nhau.

Cài đặt chương trình trong linux ( file rpm )

Phần hướng dẫn này mang tính chất thông tin thêm về các file PRM và tất cả toán tử, tùy chọn của nó. Có hai kiểu gói RPM:

- File rpm nguồn với đuôi mở rộng .src.rpm.

- Mã nhị phân với đuôi mở rộng: .rpm.

Cả hai gói đều có thể dùng được với lệnh RPM. Trong bài viết này chúng ta sẽ nói về các file BINAR (nhị phân), còn kiểu file rpm nguồn bạn có thể tham khảo cũng theo cách tương tự. Đối với những người mới bắt đầu, nên chú ý tới phiên bản của gói RPM. Nó phải hợp với cấu trúc của máy tính đích (i386, i586, i686, sparc; thông thường là dành cho các máy i386). Hầu hết các gói này đều được tổ chức trên server FTP. Bạn chỉ cần tìm kiếm ở thư mục bên phải.

Sau khi download file về, vấn đề cài đặt thư mục ở đâu dường như không cần bận tâm lắm. Thậm chí, RedHat còn có một thư mục đặc biệt (DIRECTORY) dùng để lưu trữ các gói này trước khi cài đặt. Bạn không cần phải dùng nó nếu máy tính của bạn là hệ thống đa người dùng. Điều đó có thể giúp mọi thứ

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 56: Linux Toan Tap Qua Hay

có tính tổ chức cao hơn.

Thư mục chúng ta đang nói về có thể tìm thấy ở /usr/src/redhat/RPMS trên các phân phối RedHat. Bây giờ, chúng ta sẽ cùng bắt đầu tìm hiểu về cách cài đặt các gói RPM.

Nếu bạn là người mới bắt đầu, nên dùng lệnh "rpm -- help" để xem qua tất cả các tùy chọn của RPM. RPM có rất nhiều tùy chọn, bạn có thể phải xem tới 2 trang hoặc hơn. Để tóm tắt lại, bạn nên dùng lệnh "rpm --help | less" hoặc ấn phím Shift+PageUp/PageDown để cuộn lên, cuộn xuống trong khi xem.

Lệnh cơ bản để cài đặt gói RPM là "rpm -i ". Ví dụ: "rpm -i daniel.rpm" sẽ cài đặt gói daniel.rpm. Cũng rất hữu ích khi bạn thêm vào các tùy chọn -vf trong phần hiển thị thanh tiến trình. Dùng thanh tiến trình để kết thúc với câu lệnh "rpm -ivh daniel.rpm".

Chương trình quản lý gói RedHat (Red Hat Package Manager -RPM) cũng hỗ trợ UPDATE các file bằng lệnh: "rpm -U new_daniel.rpm". Bạn có thể thêm phần mở rộng -vf trong thanh tiến trình. Nếu có sai sót nào đó trong quá trình update, trở lại bản cũ bằng lệnh: "rpm -U --oldpackage ". Ví dụ: "rpm -U --oldpackage daniel.rpm".

Nếu muốn UNINSTALL (gỡ bỏ) một gói, bạn có thể dùng lệnh: "rpm -e ", ví dụ: "rpm -e new_daniel.rpm". Có một số tùy chọn thực sự hữu ích cho trường hợp này. Ví dụ "--nodeps" được dùng theo cú pháp "rpm -e --nodeps new_daniel" sẽ gỡ bỏ gói, nhưng không cần kiểm tra nếu các thành phần gói khác bị phá hủy. Bạn nên dùng tùy chọn SIMULATE the UNINSTALL trước khi thực sự tiến hành gỡ bỏ. Câu lệnh "rpm -e --test new_danie.rpm" sẽ thể hiện danh sách tất cả thành phần có nguy cơ hư hại nếu quá trình UNINSTALL xuất hiện lỗi.

Bên cạnh các toán tử này, bạn có thể dùng RPM COMMAND (lệnh RPM) cho các hoạt động khác như:

rpm -q -a # thể hiện một danh sách các gói đã được cài đặt trên hệ thống.

rpm -q -l new_daniel #thể hiện một danh sách các file nằm trong gói này.

rpm -q -c new_daniel #thể hiện các file cấu hình của gói "daniel".

rpm -q -d new_daniel # thể hiện các file trợ giúp (HELP) của gói.

rpm -q -i new_daniel #thể hiện thông tin về gói (kích thước, đường dẫn url, mô tả tóm tắt)

rpm -q -R #thể hiện tất cả các lệ thuộc gói.

Cơ bản về Cron trên Unix/Linux

Trên Unix/Linux bạn thường nghe đến cái tên Cron...Vậy Cron là cái gì nhỉ? Trước hết Cron là một chương trình. Do sự tiện dụng và cần thiết của nó lên đã được nâng lên làm deadmon.Vậy nó có chức năng gì ? Chắc bạn không lạ gì chương trình Scheduling Agent chuyên được dùng để thực hiện các tác vụ theo định kỳ đã được lên kế hoạch và thời gian trước. Thì Cron sẽ thay bạn thực hiện tính năng này trong Unix/Linux.

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 57: Linux Toan Tap Qua Hay

Trên Unix/Linux bạn thường nghe đến cái tên Cron...Vậy Cron là cái gì nhỉ? Trước hết Cron là một chương trình. Do sự tiện dụng và cần thiết của nó lên đã được nâng lên làm deadmon.Vậy nó có chức năng gì ? Chắc bạn không lạ gì chương trình Scheduling Agent chuyên được dùng để thực hiện các tác vụ theo định kỳ đã được lên kế hoạch và thời gian trước. Thì Cron sẽ thay bạn thực hiện tính năng này trong Unix/Linux.

Thường thì cron được cài đặt mặc định và chạy trên các hệ thống Unix/Linux rồi. Nếu hệ thống của bạn chưa được cài đặt Cron thì bạn có thể Dowload nó từ: http://www.freshmeat.net/ Và cần cho khởi động nó như một deadmon trên hệ thống của bạn bằng lệnh:root@localhost#: crond start

Bây giờ chúng ta cùng bắt tay cấu hình cho Cron. Để sử dụng Cron bạn phải, bạn cần một file cấu hình dạng text, còn gọi là file "lịch" (để lên lịch chạy của các chương trình). Ngoài ra bạn sẽ phải dùng thêm chương trình crontab (có sau khi cài cron) để đăng ký file lịch với hệ thống, xem thông tin về file lịch của user...

Bạn có thể đặt tên cho file lịch là jobs.txt hoặc schedule.txt hay tên gì đó cũng được, miễn nó là file text. Cấu trúc của file lịch như sau:

* File lịch gồm có 2 phần, phần đầu là phần cấu hình, có dạng TÊN_BIẾN = GIÁ TRỊ* Phần thứ hai là lịch trình chạy của các chương trình* Các chú thích bắt đầu bằng ký tự #(bạn xem thêm thông tin qua lệnh man crontab)

Phần cấu hình của file lịch (có thể) như sau:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=abcHOME=/ # run-parts

Dòng đầu tiên cho biết là bạn dùng shell bash để chạy các chương trình, dòng thứ 2 thiết lập đường dẫn cho các chương trình (tuỳ chọn), dòng thứ 3 biểu thị rằng output của các chương trình sẽ được gởi tới email cho user abc (tuỳ chọn, mặc định sẽ gởi email tới cho user chủ sở hữu của file lịch, nếu bạn không muốn gởi email thì bạn đặt MAILTO=""), dòng thứ 4 sẽ báo cho cron biết rằng phải cd về thư mục gốc trước khi thi hành lệnh.

Phần lịch trình chạy các chương trình có dạng như sau:phút giờ ngày tháng thứ chương_trình_cần_chạyPhút có giá trị từ 0 đến 59 hoặc là *Giờ có giá trị từ 0 đến 23 hoặc *Ngày có giá trị 1 đến 31 hoặc *Tháng có giá trị từ 1 đến 12 hoặc *Thứ có giá trị 0 (Chủ nhật), 1 (thứ hai)...6 (thứ 7) hoặc *

Ví dụ bạn muốn chạy chương trình abc vào lúc 2g1' sáng ngày 12 tháng 5 (bất kể thứ) thì lịch chạy như sau:

Page 58: Linux Toan Tap Qua Hay

1 2 12 5 * abc(* biểu thị everything, tức là bất kể thứ nào)

Nếu bạn muốn chạy 1 file tên def trong thư mục /bin vào 15g chiều vào chủ nhật (bất kể ngày tháng) thì lịch chạy như sau:0 15 * * 0 /bin/def

và nếu bạn muốn chạy 1 chương trình tên xyz vào mỗi giờ trong ngày (bắt đầu ở phút thứ 8 của giờ đó) thì:8 * * * * xyz

còn nếu bạn muốn chương trình cứ 3 ngày chạy 1 lần vào đúng 4g10' sáng? thì đây:10 4 */3 * * tên_chương_trình(*/3 biểu thị cứ cách 3 đơn bị thì thực hiện 2 lần, ở ví dụ trên 1 đơn vị là 1 ngày nên 3 ngày chương trình sẽ chạy 1 lần)

Nếu bạn muốn chạy chương trình ngày 3 lần (cứ 8 tiếng đồng hồ thì chạy 1 lần) vào lúc 13 phút hàng tuần (trừ Thứ 7 và Chủ nhật) thì:13 */8 * * 1-5 tên_chương_trình(1-5 biểu thị trong giới hạn từ 1 đến 5 thì thực hiện, ở ví dụ trên 1 là thứ 2, 5 là thứ 6, 1-5 biểu thị từ thứ 2 đến thứ 6)

Và cuối cùng, sau khi soạn thảo và lưu lai file lịch ở dạng text. Bạn đăng ký file lịch với hệ thống qua lệnh crontab:crontab schedules.txt

Mỗi user trên hệ thống linux của bạn có thể tạo 1 file lịch khác nhau và đăng ký với hệ thống, 2 user khác nhau sẽ có file lịch khác nhau và không sợ bị ghi dè lên nhau.

lệnh crontab -l sẽ liệt kê file lịch mà bạn đã đăng ký với hệ thống. Nếu bạn đăng ký nhiều file lịch, thì file sau sẽ ghi đè lên file trước.lệnh crontab -r sẽ rút tên file lịch mà bạn đã đăng ký trên hệ thống ra (không đăng ký lịch nữa).

DHCP trên Linux

1. Khái niệm:

Khi quản trị một hệ thống mạng, thường ta phải cung cấp một địa chỉ IP cho mỗi máy tính khác nhau để các máy này có thể liên lạc được với nhau. Với mô hình mạng tương đối nhỏ (khoảng 10 đến 20 máy), việc cung cấp IP cho mỗi máy tính trong mạng thì tương đối dễ dàng cho một quản trị viên, anh ta chỉ việc sử dụng vài thao tác quen thuộc trong việc gán các địa chỉ IP. Nhưng nếu đối với một mô hình mạng lớn ( từ 20 máy trở lên ) thì việc cung cấp IP như thế là thật sự mệt mỏi và khó khăn rồi, thỉnh thoảng nếu có vấn đề di chuyển thường xuyên giữa những máy tính với nhau thì đây là một công việc khá phức tạp và phí sức.

Chính vì những lý do như thế mà ngày nay, hầu hết trên tất cả các hệ điều hành đều cung cấp cho chúng ta một dịch vụ để giải quyết vấn đề cần thiết trên, đó là dịch vụ cung cấp địa chỉ IP động DHCP (Dynamic Host Configuration Protocol ).

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 59: Linux Toan Tap Qua Hay

Không những cung cấp được IP mà dịch vụ trên còn đưa ra cho chúng ta nhiều tính năng để cung cấp những yếu tố khác cho các máy client, ví dụ như cung cấp địa chỉ của máy tính dùng để giải quyết tên miền DNS, địa chỉ của một Gateway router, địa chỉ máy WINS .v.v...

Thành phần của một DHCP server bao gồm bốn mục chính sau :

Options: Dùng để cung cấp các yếu tố cho phía client như địa chỉ IP, địa chỉ subnet mask, địa chỉ Gateway, địa chỉ DNS .v.v…

Scope: Một đoạn địa chỉ được quy định trước trên DHCP server mà chúng ta sẽ dùng để gán cho các máy client.

Reservation: Là những đoạn địa chỉ dùng để “để dành” trong một scope mà chúng ta đã quy định ở trên.

Lease: Thời gian “cho thuê” địa chỉ IP đối với mỗi client.

2. Cài đặt:

Để sử dụng được dịch vụ DHCP này, bạn phải cài đặt vào hệ thống thông thường bằng gói dịch vụ có sẵn trên đĩa CD có phần đuôi mở rộng là .rpm, ngoài ra chúng ta có thể cài đặt package ở dạng source code và tải gói này về từ trang web của GNU. Quá trình cài đặt bao gồm những bước sau đây :

Ở dạng phần đuôi mở rộng là .rpm, ta chạy lệnh:rpm –ivh dhcp-*.rpm

Ở dạng source code, ta biên dịch như sau :tar –xzvf dhcp-*.tar.gzcd dhcp-*./configuremakemake install

Sau khi hoàn tất xong quá trình cài đặt, kế tiếp chúng ta sẽ cấu hình để dịch vụ này có thể hoạt động theo ý muốn của chúng ta bằng cách tạo và sửa đổi file /etc/dhcpd.conf. Tập tin này sẽ có những nội dung sau :

deny client-updates; ddns-update-style interim;

subnet 192.168.0.0 netmask 255.255.255.0 {range dynamic-bootp 192.168.0.190 192.168.0.240;

option routers 192.168.0.10;option subnet-mask 255.255.255.0;

option nis-domain "mydomain.com";

Page 60: Linux Toan Tap Qua Hay

option domain-name "mydomain.com"; option domain-name-servers 192.168.0.20; option netbios-name-servers 192.168.0.100; option ntp-servers 192.168.0.25; option smtp-server 192.168.0.35;

default-lease-time 360000; max-lease-time 259200; }

# Client-definitions

host big-daddy { hardware ethernet 00:a0:d9:cb:94:8a;fixed-address 192.168.0.18; }

Các dòng trên có ý nghĩa như sau :Hai dòng đầu tiên sẽ không cho phép DHCP Server cập nhật động DNS.Dòng kế tiếp là đoạn địa chỉ mà bạn cần cung cấp cho hệ thống các máy con của bạn, bao gồm địa chỉ NET IDs và một đoạn địa chỉ. (Như ở trên Server sẽ cấp cho phía máy con một đoạn địa chỉ chạy từ 192.168.0.190 đến 192.168.0.240 )

Option routers cung cấp cổng gateway mặc định.Option subnet-mask Subnet mask mặc định cho phía client.Option nis-domain cung cấp tên NIS Domain ServerOption domain-name cung cấp tên domain mặc định nếu sử dụng FQDNOption domain-name-servers cung cấp name-servers cho mạng của bạn.Option netbios-name-servers cung cấp địa chỉ mặc định của WINS-serverOption ntp-servers cung cấp địa chỉ timeserver.Option smtp-server cung cấp địa chỉ smtp-server (duy nhất chỉ 1 server)

Dòng cuối cùng là nếu bạn dự định cấp một địa chỉ cố định cho một máy nào đó thì bạn phải khai báo địa chỉ MAC của máy đó và IP tương ứng

Và trước khi khởi động DHCP Server lên thì bạn phải tạo một tập tin cuối cùng dùng để xem xét việc cấp phát các địa chỉ IP cho phía client:touch /etc/dhcpd.lease

Để bật tắt dịch vụ DHCP thì bạn chỉ chạy hai script tương ứng như sau:/etc/init.d/dhcpd start/etc/init.d/dhcpd stop

Chúc các bạn thành công nhé

Cấu hình BIND cho Unix/Linux

I BIND là gì ?

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 61: Linux Toan Tap Qua Hay

Trước khi tìm hiểu về BIND, chúng ta cùng tìm hiểu một chút về DNS (Domain Name Service)...Một giao thức phục vụ việc phân giải tên miền trên Internet. Chính nhờ nó mà chúng ta có các địa chỉ dễ nhớ: http://www.msn.com or http://www.yahoo.com thay vì các địa chỉ IP thật khó nhớ của nó. Vậy hiểu một cách đơn giản DNS là một giao thức cho phép ta phân giải địa từ IP ==> địa chỉ thường và có thể ngược lại.

I BIND là gì ?

Trước khi tìm hiểu về BIND, chúng ta cùng tìm hiểu một chút về DNS (Domain Name Service)...Một giao thức phục vụ việc phân giải tên miền trên Internet. Chính nhờ nó mà chúng ta có các địa chỉ dễ nhớ: http://www.msn.com or http://www.yahoo.com thay vì các địa chỉ IP thật khó nhớ của nó. Vậy hiểu một cách đơn giản DNS là một giao thức cho phép ta phân giải địa từ IP ==> địa chỉ thường và có thể ngược lại.

BIND (Berkeley Internet Name Distributed), một chương trình phục vụ DNS trên nền các hệ thống AIX/BSD/HP-UX/Unix/Linux/VMS...Bài viết này sẽ hướng dẫn cho bạn cách cấu hình BIND một cách cơ bản nhất.

II Bắt đầu

1)Vài điều cơ bản.

Do tôi dùng Linux lên tôi dùng BIND v8.0 for Linux...Còn các hệ thống khác có cách cấu hình cũng tương tự...Để Install BIND, đơn giản nhất là bạn lên dùng các file *.rpm (Redhat Package Manager) nếu bạn dùng Redhat Linux. Bạn gõ:

rpm -Uvh *.rpm

OK! Sau khi Install xong, chúng ta bắt đầu...

Nếu Install thành công BIND sẽ tự động tạo file /etc/named.conf ==> Đây chính là file cấu hình chính, quyết định mọi hoạt động của BIND sau này. Nếu bạn có những yêu cầu cao hơn mà nó cung cấp. Bạn có thể tạo các /etc/named.conf khác bằng các công cụ cấu hình BIND và sau đó tuỳ biến thêm.

Lưu ý: Để đề phòng bất trắc, trước khi Config BIND bạn lên sao lưu tập tin cấu hình của nó /etc/named.conf

Hiện tại! Trên Linux và một số OS thuộc họ Unix khác có một công cụng đồ họa mang tên BIND Configuration Tool - nó sẽ giúp bạn cấu hình BIND một cách dễ dàng hơn thông qua môi trường GUI thay vì phải Edit file /etc/named.conf...Bạn có thể Download nó ở:

http://www.freshmeat.nethttp://www.linuxapps.com

2) BIND Configurator Tool (BCT)

Mặc định BCT có cấu hình hướng các Zone tới /var/named...Và tất cả các Zone file đều ở thư mục này. Nhiệm vụ của BCT là sẽ kiểm tra cú pháp cơ bản khi những giá trị được vào.

Page 62: Linux Toan Tap Qua Hay

Ví dụ: Nếu giá trị nhập vào là một địa chỉ IP...Thì bạn chỉ có thể nhập các số phù hợp với đặc tính cho phép của nó.

BCT sẽ cho phép bạn cấu hình và Add thêm một forward master zone (phân giải xuôi), reverse master zone (phân giải ngược), và slave zone. Sau khi đã Add thêm Zone bạn có thể cấu hình hay xoá chúng từ chính cửa sổ cấu hình đưa vào.

Sau khi đã hoàn thành việc Add, Config hay Delete các Zone bạn phải chọn File => Apply để ghi lên /etc/named.conf đối với các File cấu hình và Zone file trong thư mục /etc/named.conf . Để các cấu hình hay sửa đổi mới có tác dụng bạn phải khởi động lại BIND Service. Bạn có thể chọn File => Exit và nhấn Yes nếu như bạn muốn mọi sửa đổi của mình có hiệu lực khi thoát ra.

3) Adding a Forward Master Zone

Để thêm một Forward Master Zone. Bạn nhấn vào nút Add, chọn Forward Master Zone. Nhập tên của Domain cho Master Zone trong khu vực Domain Text.

Một cửa sổ mới sẽ hiện ra với các tuỳ chọn sau:

•Name: Tên của Domain mà bạn mới nhập vào ở cửa sổ trên.•File Name: Tên của file dữ liệu cơ sở DNS, mặc định nằm ở /var/named.•Contact: Địa chỉ mail liên lạc của người quản lý Zone này.•Primary Name Server (SOA): Trạng thái của bản ghi authority. Nó chỉ rõ tên Server với những tài nguyên tốt và những thông tin cho Domain này, giá trị mặc định là @.•Serial Number: Số Serial của file cơ sở dữ liệu DNS. Số này phải tăng mỗi lần khi file này được thay đổi. Như vậy Slave Name Server cho Zone đó sẽ khôi phục dữ liệu trong thời gian gần đó nhất nếu như Master Server có vấn đề. CBT sẽ tăng dần số này mỗi khi file cấu hình được thay đổi. Nó cũng có thể được thực hiện bằng tay bởi việc kích vào nút Set ở gần giá trị Serial. •Time Settings: Qui định các giá trị thời gian cho cơ sở dữ liệu DNS như: Fresh, Retry, Expire và Minimum TTL (Time To Live).•Records: Bổ xung, sửa đổi và bản ghi tài nguyên của Host, Alias và Name Server.Nếu làm bằng tay thì nó tương đương với việc đưa vào /etc/named.conf giá trị như sau:

zone "forward.example.com" { type master; file "forward.example.com.zone"; };

Và cũng cần phải tạo ra /var/named/forward.example.com.zone với các nội dung sau:

$TTL 86400@INSOA@ root.localhost (1 ; serial28800 ; refresh7200 ; retry604800 ; expire

Page 63: Linux Toan Tap Qua Hay

86400 ; ttl)

Sau khi đã cấu hình xong Forward Master Zone. Bạn nhấn vào OK để quay về cửa sổ chính của BCT. Chọn File Apply để ghi nội dung vừa sửa đổi lên /etc/named.conf . Khởi động lại Service để mọi sửa đổi bổ xung có hiệu lực.

4) Adding a Reverse Master Zone

Để thêm một Reverse Master Zone, bạn nhấn vào nút Add chọn Reverse Master Zone và nhập vào 3 lớp mạng của địa chỉ IP đầu tiên mà bạn muốn định hình.

Ví dụ: Nếu như bạn muốn lập cấu hình IP cho BIND trong khoảng 192.168.10.0/255.255.255.0 thì bạn nhập vào 192.168.10 (3 lớp IP đầu tiên).

Một cửa sổ mới sẽ hiện ra với các tuỳ chọn sau:

•IP Address: 3 lớp mạng của địa chỉ IP đầu tiên mà bạn đã nhập ở trên.•Reverse IP Address: Bạn chọn một địa chỉ IP lớp D trong phạm vi IP Address ở trên là nơi để xác định vị trí của BIND, định vị BIND.•File name: Tên của file dữ liệu cơ sở DNS, mặc định nằm ở /var/named. •Primary Name Server (SOA): Trạng thái của bản ghi authority. Nó chỉ rõ tên Server với những tài nguyên tốt và những thông tin cho Domain này, giá trị mặc định là @.•Time Settings: Qui định các giá trị thời gian cho cơ sở dữ liệu DNS như: Fresh, Retry, Expire và Minimum TTL (Time To Live).•Name Server: Thêm, sửa và xoá các Name Server cho Reverse Master Server. Phải có ít nhất một Name Server được cấu hình và yêu cầu.•Reverse Address Table: Danh sách những địa chỉ IP trong Reverse Master Zone và các Host Name của nó.

Ví dụ: Bạn có khoảng IP là 192.168.10 cho Reverse Master Zone và bạn muốn BIND toạ lạc ở 192.168.10.0 Bạn có thể Add vào 192.168.10.0 trong Reverse Address Table với một tên Host Name của nó đại loại như là “foo.example.com”. Các Host Name phải được kết thúc bằng “.” để chỉ rõ rằng nó là một Host Name đầy đủ và hợp lệ.

Nếu làm bằng tay thì nó tương đương với việc đưa vào /etc/named.conf giá trị như sau:

zone "3.2.1.in-addr.arpa" { type master; file "3.2.1.in-addr.arpa.zone"; };

Và nó cũng tương đương với việc tạo ra một File /var/named/3.2.1.in-addr.arpa.zone có nội dung sau:

$TTL 86400@[email protected] (2 ; serial28800 ; refresh

Page 64: Linux Toan Tap Qua Hay

7200 ; retry604800 ; expire86400 ; ttk)

@INNSns.example.com.

1INPTRone.example.com.2INPTRtwo.example.com.

Sau khi đã cấu hình xong Reverse Master Zone. Bạn nhấn vào OK để quay về cửa sổ chính của BCT. Chọn File Apply để ghi nội dung vừa sửa đổi lên /etc/named.conf . Khởi động lại Service để mọi sửa đổi bổ xung có hiệu lực.

Lưu ý: Để cấu hình hoàn thiện một Domain Name bạn phải thực hiện cấu hình cả Forward Master Zone và Reverse Master Zone. Tương ứng với việc Domain Name này có khả năng phân giả xuôi từ Domain IP Address và ngược lại từ IP Address Domain.

5) Adding a Slave Zone

Để Add thêm một Slave Zone (thực chất là một Domain Name thứ 2 trên cũng một hệ thống dùng BIND, cũng có thể được dùng làm Domain dự phòng thay thế khi Domain chính bị trục trặc. Nó cho phép một hệ thống có thể cấu hình nhiều Domain Name). Nhấn vào nút Add Button và chọn Slave Zone. Nhập tên của Domain trong khu vực Domain Text.

Một cửa sổ mới sẽ hiện ra với các tuỳ chọn sau:

•Name: Tên của Domain mà bạn đã nhập ỏ trên.•Master List: Tên của Name Server ứng với Slave Zone trong cơ sở dữ liệu của nó. Giá trị này cần một địa chỉ IP hợp lệ. Bạn chỉ có thể vào những số và những dấu chấm “.” Trong khu vực Text.•File Name: Tên của file dữ liệu cơ sở DNS, mặc định nằm ở /var/named.

Nếu làm bằng tay thì nó tương đương với việc đưa vào /etc/named.conf giá trị như sau:

zone "slave.example.com" { type slave; file "slave.example.com.zone";masters { 1.2.3.4;}; };

File /var/named/slave.example.com.zone đã được tạo bởi Name Service khi nó tải xuống dữ liệu từ Master Zone.

Page 65: Linux Toan Tap Qua Hay

Cuối cùng! Đừng quên nhấn vào OK để quay về cửa sổ chính của BCT. Chọn File Apply để ghi nội dung vừa sửa đổi lên /etc/named.conf . Khởi động lại Service để mọi sửa đổi bổ xung có hiệu lực.

Hy vọng qua bài viết nhỏ này bạn đã phần nào nắm bắt được cách cấu hình một Domain Name Server trên Unix/Linux với BIND.

__________________DNS Linux

Nội dung1. Giới thiệu2. Cấu hình DNS (bind version 9)o Caching name servero Authoritative DNS server và zone fileo Master, slave server3. Tham khảo

Giới thiệuBài viết này giới thiệu cách dùng bind để cấu hình DNS cho máy Linux. Chú ý rằng cấu hình bind (named.conf và zone file) không phụ thuộc vào hệ điều hành, có thể dùng những file cấu hình này cho những HĐH khác ngoài Linux. Cấu hình này đã được kiểm tra trên Linux (RH 9, FC 1, TSL 2.1), FreeBSD (R-5.1) và Solaris (Cool.Chú ý: đây là cấu hình không chroot. Xem bind-chroot phần "Tham khảo, thông tin thêm".Bắt đầu viết: tháng 5 năm 2003.Thay đổi lần cuối vào lúc: Sun Feb 1 12:47:44 JST 2004.Cài đặt và cấu hìnhPhần 1: Cài đặtCompile từ source (xem http://www.isc.org/index.pl?/sw/bind/), hoặc dùng binary gói sẵn cho mỗi distro.Riêng cho người dùng FC:###--------------------------------------------------------------// từ RPMrpm -ivh bind-version***.rpmrpm -ivh caching-nameserver-version***.rpm

// đang nối Internetyum install bind caching-nameserver###-------------------------------------------------------------Riêng cho người dùng Trustixswup --install bind caching-nameserverPhần 2: Caching nameserverPhần này ghi cách làm "caching name server", một kiểu DNS đơn giản, thích hợp cho những ai tập làm DNS lần đầu tiên, hoặc những ai muốn làm DNS cho máy cá nhân. Theo cấu hình này, mỗi khi có yêu cầu (query) về thông tin DNS, server sẽ tìm kiếm theo thứ tự: 1) dữ liệu trong bộ đệm (cache), nếu không có hoặc dữ liệu đã hết hạn thì 2) hỏi DNS cấp cao nhất (root server).Những file cần thiết1. /etc/named.conf: file cấu hình DNS2. /var/named/named.ca: danh sách root server

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
, 01/03/-1,
sig
, 01/03/-1,
/ message
Page 66: Linux Toan Tap Qua Hay

3. /var/named/localhost.zone: localhost zone file4. /var/named/0.0.127.rev: localhost reverse zone fileRiêng cho người dùng FC: Những file ghi trên có trong gói caching-nameserver-***.rpmChuẩn bị file /etc/named.conf như sau###----------------------------------------------------------------------acl localnet {127.0.0.1;};options {// nơi đặt zone filesdirectory "/var/named";

// chỉ dùng trong mạng localnetallow-transfer { localnet; };allow-query { localnet; };};controls {inet 127.0.0.1allow { localhost; }keys { rndckey; };};zone "." IN {// hỏi root servertype hint;file "named.ca";};zone "localhost" IN {type master;file "localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa" IN {type master;file "0.0.127.rev";allow-update { none; };};include "/etc/rndc.key";###-----------------------------------------------------------------tiếp theo, copy file named.ca vào /var/named. File named.ca là danh sách tất cả những DNS root server, thường được kèm sẵn trong phần mềm bind. Ngoài ra, có thể download file named.ca ở http://www.root-servers.org (xem phần tham khảo).soạn file localhost.zone và copy vào /var/named###-----------------------------------------------------------------$TTL 86400$ORIGIN localhost.@ 1D IN SOA @ root (42 ; serial (d. adams)3H ; refresh15M ; retry

Page 67: Linux Toan Tap Qua Hay

1W ; expiry1D ) ; minimum

1D IN NS @1D IN A 127.0.0.1###--------------------------------------------------------------------soạn file 0.0.127.rev và copy vào /var/named###-------------------------------------------------------------------$TTL 86400@ IN SOA localhost. root.localhost. (1997022700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN NS localhost.1 IN PTR localhost.###-----------------------------------------------------------xong khởi động DNS daemon.Cho người dùng FC:1. khởi động: /etc/init.d/named start2. ví dụ về script khởi động có trong gói bind-***.rpmCách sử dụng: soạn file /etc/resolve.conf có nội dung như sau# dùng my DNS server, không cần DNS server của ISP Smilenameserver 127.0.0.1sau đó thử một vài query. Nếu thấy kết quả như sau đây, DNS server của bạn đã hoạt động.###------------------------------------------------------// thử localhost$ host localhost.localhost has address 127.0.0.1

$ host 127.0.0.11.0.0.127.in-addr.arpa domain name pointer localhost.

// thử Internet$nslookup www.google.com

Server: 127.0.0.1Address: 127.0.0.1#53

Non-authoritative answer:www.google.com canonical name = www.google.akadns.net.Name: www.google.akadns.netAddress: 66.102.9.104Name: www.google.akadns.netAddress: 66.102.9.99###-----------------------------------------------------------Phần 3:Authoritative server và zone filePhần này ghi cách cấu hình một DNS server cho domain "domain.name", có thể query từ bất kỳ máy

Page 68: Linux Toan Tap Qua Hay

nào trong LAN. Giả sử IP của DNS server là 192.168.1.1, phục vụ cho LAN 192.168.1.0/24.Cấu hình này cũng có thể dùng để phục vụ những query từ Internet, nếu DNS server có interface mang địa chỉ global IP. Do đó sự an toàn thông tin và sự rõ ràng trong cấu hình được chú trọng (đặc biệt sử dụng "view statement").Chuẩn bị file /etc/named.conf###----------------------------------------------------------acl localnet {127.0.0.1;192.168.1.0/24; // private IP};options {directory "/var/named";allow-transfer { localnet; };allow-query { localnet; };version ""; // hide the version};controls {inet 127.0.0.1allow { localhost; }keys { rndckey; };};// không log những lame-serverlogging {category lame-servers { null; };};

// phục vụ localnet// localnet gồm những máy đã định nghĩa bằng "acl localnet"view "internal" {match-clients { localnet; };recursion yes;zone "." IN {// hỏi root servertype hint;file "named.ca";};zone "localhost" IN {type master;file "localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa" IN {type master;file "0.0.127.rev";allow-update { none; };};zone "domain.name" IN {type master;file "internal/domain.zone";

Page 69: Linux Toan Tap Qua Hay

allow-update { none; };};zone "1.168.192.in-addr.arpa" IN {type master;file "internal/1.168.192.rev";allow-update { none; };};};

// phục vụ những client không thuộc localnet (ví dụ Internet)view "global" {match-clients { any; };allow-query { any; };// server này chỉ trả lời query về domain.namerecursion no;// ----------------------------// những dòng sau đây chỉ sử dụng với "recursion yes;"// trả lời cả những query về những domain khác// bằng cách hỏi root DNS servers// zone "." IN {// type hint;// file "named.ca";// };// ----------------------------zone "domain.name" IN {type master;file "global/domain.zone";allow-update { none; };};};###----------------------------------------------------------Những zone file cần thiết: (/var/named/internal/)mydomain.zone, 1.168.192.rev; (/var/named/global/)mydomain.zonedomain.zone (internal):###-------------------------------------------------$TTL 86400$ORIGIN domain.name.@ IN SOA ns.domain.name. dnsmaster.domain.name. (2003051100 ; tăng (ví dụ +1) khi thay đổi thông tin3H ; update thông tin từ master server3600 ; làm lại, nếu không connect được với master1W ; thời hạn giữ thông tin của slave1D ) ; thời hạn cache của client, giảm -1 mỗi giây

IN A 192.168.1.1IN MX 10 mail.domain.name.IN NS ns.domain.name.localhost IN A 127.0.0.1

Page 70: Linux Toan Tap Qua Hay

mail IN A 192.168.1.3ntp IN A 192.168.1.10www IN CNAME Chibi.domain.name.

Chibi IN A 192.168.1.99IN HINFO "Linux" "P3 500MHz, RAM 128 MB"

Monster IN A 192.168.1.100IN HINFO "Linux" "Quad Itanium2 1.5G, 32G DDR SDRAM"###------------------------------------------------------------------file 1.168.192.rev (internal)###--------------------------------------------------------------------$TTL 86400$ORIGIN 1.168.192.IN-ADDR.ARPA.@ IN SOA ns.domain.name. dnsmaster.domain.name. (2003051500 ; Serial10800 ; Refresh after 3 hours3600 ; Retry after 1 hour604800 ; Expire after 1 week86400 ) ; Minimum TTL of 1 day, negative cache

IN NS ns.domain.name.

1 IN PTR hydro.domain.name.2 IN PTR heli.domain.name.###----------------------------------------------------------------Những zone file ở thư mục global: hoàn toàn tương tự.Cách sử dụng// chỉ định DNS server: soạn file /etc/resolve.conf như sausearch domain.namenameserver 192.168.1.1sau đó thử một vài query. Nếu thấy kết quả như sau đây, DNS server của bạn đã hoạt động.###---------------------------------------------------------------// thử localhost$ host localhostlocalhost.domain.name has address 127.0.0.1

// thử zone file$ host mailmail.domain.name has address 192.168.1.3

$ host -t hinfo chibichibi.domain.name host information "Linux" "P3 500MHz, RAM 128 MB"

// thử reverse zone$ host 192.168.1.22.17.168.192.in-addr.arpa domain name pointer heli.domain.name.

// thử Internet

Page 71: Linux Toan Tap Qua Hay

$ dig www.google.com soa// sẽ thấy kết quả; <<>> DiG *.*.* <<>> www.google.com soa;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7662;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:;www.google.com. IN SOA

;; ANSWER SECTION:www.google.com. 820 IN CNAME www.google.akadns.net.

;; AUTHORITY SECTION:google.akadns.net. 821 IN SOA asia3.akam.net.hostmaster.akamai.com. 1091842826 3600 300 172800 900

;; Query time: 7 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: *****;; MSG SIZE rcvd: 132###------------------------------------------------------------Phần 4: Master, slave DNS serverCấu hình master/slave DNS server thường chỉ cần thiết cho những hệ thống có yêu cầu về tính an toàn và ổn định, cho những hệ thống cỡ lớn.Chú ý: phân biệt master/slave DNS server với primary/secondary DNS server!Master server (IP 192.168.1.1) của domain.namezone "domain.name" IN {type master;file "internal/domain.zone";};Slave server (IP 192.168.1.2) của domain.namezone "domain.name" IN {type slave;file "internal/domain.zone";masters {192.168.1.1;}};

Cấu hình load Balancing DNS Round-Robin

www0 IN A xxx.xxx.xxx.1www1 IN A xxx.xxx.xxx.2www2 IN A xxx.xxx.xxx.3www3 IN A xxx.xxx.xxx.4

Page 72: Linux Toan Tap Qua Hay

www IN CNAME www0.domain-test.com.IN CNAME www1.domain-test.com.IN CNAME www2.domain-test.com.IN CNAME www3.domain-test.com.IN CNAME www4.domain-test.com.

Cấu hình Dynamic DNS client trên Linux

Cấu hình Dynamic DNS client

Những người truy cập Internet bằng cách quay số điện thoại (dial-up) hay ADSL thường không được ISP cấp địa chỉ IP cố định (tại sao? xem phần tham khảo). Mỗi lần truy cập, hay mỗi lần truy cập lại do kết nối bị ngắt, người dùng thường được cấp một địa chỉ IP khác với địa chỉ IP của lần kết nối trước.

Trong những trường hợp này, thay đổi thông tin DNS theo cách bình thường (sửa zone file bằng tay!) tỏ ra bất tiện và chậm chạp. Thay vào đó, người ta cập nhật DNS bằng Dynamic DNS, cách này có những đặc điểm:

1. cập nhật tự động mỗi khi có thay đổi2. thời hạn có nghĩa của DNS (xác định bằng “negative cache”) bé, do đó những thay đổi về DNS sẽ được cập nhật nhanh chóng

Có nhiều nơi cung cấp dịch vụ dynamic DNS (free, hoặc phải mất một khoản tiền nào đó), và có nhiều chương trình dynamic dns client. Bạn có thể chọn từ danh sách sau đây (xem phần tham khảo ở cuối bài).

Bài viết này giới thiệu cách cấu hình ddclient, một Dynamic DNS client cho máy Linux. ddlient được viết bằng Perl, có thể chạy ở chế độ daemon, thích hợp với nhiều loại router, và có thể dùng với những account của các dịch vụ DynDNS.org, ZoneEdit.

Bắt đầu viết: tháng 5 năm 2003.Thay đổi lần cuối vào lúc: Sun Feb 1 12:47:44 JST 2004.

Cài đặt và cấu hình ddclient

Phần 1: Đăng kí một account ở DynDNS.org, hoặc ở ZoneEdit, nhớ kiểm tra userID và password trước khi sang phần 2.

Phần 2: Cài đặt ddclient

Download, giải nén, và đọc file README. Nếu đọc kĩ README, bạn có thể tự làm được mà không cần xem tiếp những điều ghi dưới đây!

// download ddclient v3.6.3$ wget http://s90389134.onlinehome.us/ddclient/ddclient.tar.gz// update: ddclient đã được chuyển thành một project ở sf.net// http://sourceforge.net/projects/ddclient

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 73: Linux Toan Tap Qua Hay

// giải nén$ tar zxvf ddclient.tar.gz// hoặc tar jxvf ddclient.tar.bz2

// đọc file ddclient-3.6.3/README!

Copy những file cần thiết vào chỗ thích hợp

// chương trình chính# cp ddclient-3.6.3/ddclient /usr/sbin

// file cấu hình# cp sample-etc_ddclient.conf /etc/ddclient.conf

// chuẩn bị script khởi động# cp sample-etc_rc.d_init.d_ddclient /etc/init.d/ddclient

Cấu hình file /etc/ddclient.conf

daemon=300 # kiểm tra IP, 5 phút (300 sec) 1 lầnsyslog=yes # ghi thay đổi IP vào syslogmail=root # thông báo thay đổi cho rootmail-failure=root # thông báo lỗi cho rootpid=/var/run/ddclient.pid # thông tin PID

### cho người dùng dyndns.orglogin=userID # userID đã đăng kí với dyndns.orgpassword=mật khẩu DynDNS.orgserver=members.dyndns.org, \protocol=dyndns2 \name1.dyndns.org,name2.homelinux.net

### cho người dùng ZoneEditserver=www.zoneedit.com, \protocol=zoneedit1, \login=userID, \ # userID đã đăng kí với ZoneEditpassword=mật khẩu ZoneEdit \domain1.name,domain2.name

### 2 kiểu cấu hình phổ biến### kiểu 1### nếu interface ppp0 được cấp global dynamic IP address### ví dụ: trường hợp ADSL modem hoạt động như một bridgeuse=if, if=ppp0 # kiểm tra IP ở interface ppp0

### kiểu 2### nếu máy Linux chỉ có private IP address### ví dụ: trường hợp ADSL modem hoạt động như một router (và NAT)use=web, web=members.orgdns.org/nic/ip

Page 74: Linux Toan Tap Qua Hay

### update: members.orgdns.org có vẻ không còn hoạt động### dùng url sau đây để kiểm tra IP### use=web, web=checkip.dyndns.org, web-skip=’Current IP Address:’

Mọi chuẩn bị như vậy là xong, chỉ còn việc khởi động ddclient

### sửa file /etc/init.d/ddclient, chỉ cho phép### khởi động ở level 3, xong gõ lệnh/sbin/chkconfig –add ddclient

### không biết cách sửa file /etc/init.d/ddclient thì làmchkconfig –level 012456 ddclient offchkconfig –level 3 ddclient on### như vậy, mỗi lần bật máy, ddclient daemon sẽ được khởi động

### lần đầu tiên, cần khởi động ddclient bằng cách/etc/init.d/ddclient start

Tham khảo, thông tin thêm

1. Từ lúc IP thay đổi đến lúc DNS được cập nhật, mất bao nhiêu thời gian?* thời gian cập nhật tối đa, tính từ lúc IP thay đổi= chu kỳ kiểm tra IP của ddclient daemon + thời gian cache thông tin DNS (negative cache)= 300 + 60 (của DynDNS.org) = 360 sec (6 phút)Chú ý: ở đây bỏ qua thời gian xử lý ở client, DNS server (cỡ milisec), thời gian gian truyền dữ liệu trên Internet (cỡ vài trăm milisec).2. Tại sao không được cấp IP cố định (static global IP address)?* còn nữa3. Những nơi cung cấp dịch vụ Dynamic DNS và điều kiện sử dụng* Danh sách của technopagan4. Một vài dynamic dns client* xem danh sách ở DynDNS.org

(Lấy từ: http://james.dyndns.ws/)

Website hữu ít cho người dùng linux

http://www.usinglinux.org/

http://www.howtoforge.com/

http://www.linuxquestions.org/

Linux hỗ trợ 6 runlevel, được lưu trong file /etc/inittab. Mỗi runlevel sẽ tự động start một số chức năng, dịch vụ nhất định( như printing (cups), scheduling (crond), Apache(httpd), Samba( smbd). Ví dụ trong single-user mode, chỉ có duy nhất một user được phép kết nối với hệ thống. X11 mode chạy Linux với giao diện đồ họa0: halt1: single-user mode, sử dụng trong backups/restores và repair2: Mutiuser, khong hỗ trợ networking

Page 75: Linux Toan Tap Qua Hay

3: Multiuser, có hỗ trợ networking4: không dùng5: X11, sử dụng GUI desktop6: reboot, không nên để default trong /etc/inittab giá trị nàyBạn không nên set initdefault =0, hệ thống của bạn sẽ shut down khi boot Linux. Bạn cũng không nên set initdefault=6, Linux sẽ boot hệ thống liên tụcsbin/runlevel để xem runlevel hiện tạiChuyển dổi giữa các runlevel , dùng lệnh /sbin/init x ( x là runlevel bạn muốn chuyển)Để biết được một service thuộc runlevel nào, bạn có thể dùng lệnh chkconfig.Lệnh này cón cho phép bạn thêm, xóa, và thay đổi service trong danh sách startupví dụ: /sbin/chkconfig --list sendmailsendmail 0: off 1: off 2: on 3: on 4: on 5: on 6: offsendmail được chạy ở các runlevel 2,3,4 và 5. Nếu bạn muốn Sendmail service tắt ở runlevel 4, bạn gõ lệnh/sbin/chkconfig --level 4 sendmail offđể bật lại service đó bạn dùng lệnh/sbin/chkconfig --level 4 sendmail onNhững service được thêm sẽ link tới thư mục /etc/rc.d/. Thư mục này gồm các thư mục con:init.drc0.drc1.drc2.drc3.drc4.drc5.drc6.dNếu default là runlevel5, trong quá trình boot process, init sẽ kiểm tra trong thư mục /etc/rc.d/rc5.d xem dịch vụ, scripts nào được "start", scripts nào được "kill"Để biết những scripts nào được start, bạn vào thư mục rc5.d , gõ lệnhls -l S* |moreScripts nào kill, gõ lệnhls -l K* |moreBạn có thể start, stop hoặc restart một dịch vụ, script nào đó. Ví dụ như để restart smb(samba), bạn gõ lệnh/etc/rc.d/init.d/smb restartMọi sự thay đổi trạng thái(start, stop) của scripts, dịch vụ đều được thực hiện trên thư mục /etc/rc.d/init.d

Ntsysv UtilityCâu lệnh ntsysv có chức năng giống như chkconfig, nhưng dễ sử dụng hơn với giao diện đồ họa. Mặc định, ntsysv cấu hình runlevel hiện tại, để thay đổi runlevel khác, dùng flag --levelService Configuration UtilityGõ lệnh serviceconf để mở utility nàySử dụng giao diện đồ họaBạn có thể thay đổi giữa các runlevel trong mục Edit Runlevel

Page 76: Linux Toan Tap Qua Hay

http://www.hvaonline.net/hvaonline/posts/list/2118.hva

MỤC LỤC - được tạo ra để giới thiệu những bài viết của thành viên HVA và những bài viết được thành viên HVA sưu tập trên khắp nơi. Những bài viết hướng dẫn hữu ích của các bạn đăng lên khi trải qua 1 thời gian nhất định, chúng tôi sẽ lần lượt đăng tại đây để giới thiệu cho các thành viên tìm kiếm dễ dàng hơn. khi đó các bài viết sẽ được chuyển đi vào box Các bài viết giá trị của mục hệ điều hành và thiết bị ứng dụng .

Các bài viết giới thiệu tổng quát về *nix Linux FAQ The Unofficial Fedora FAQ (bản dịch tiếng Việt) Cài đặt và Sử dụng Fedora Core 2 Hướng dẫn cài đặt Fedora Core 4 . Hướng Dẫn Cài đặt Fedora Core 6 Hướng Dẫn Cài Đặt Debian GNU/Linux Sử dụng Knoppix Kiến thức cơ bản về Slackware Linux Giáo trình UNIX Linux cho người dùng

Các bài viết về bảo mật Linux Ký sự các vụ DDoS đến HVA Bảo vệ máy chủ an toàn với phần mềm tự do Bảo mật hệ thống *nix với PAM (linet) Tăng cường an ninh cho hệ thống Linux (Phần 1) Tăng cường an ninh cho hệ thống Linux (Phần 2) Security On Linux System OpenSSH HACK LINUX Mã hóa trong Linux - Giới thiệu GNUPG Giới thiệu về Metasploit Giải pháp theo dõi cấu hình hệ thống - Tripwire Mã hóa root file system với FreeBSD geli

Các bài viết về Linux Kernel Tìm hiểu nhân của hệ điều hành Linux Biên dịch Linux kernel - phần 1 Biên dịch Linux kernel - phần 2 Biên dịch Linux kernel - phần 3 Biên dịch Linux kernel - phần 4 Cập nhật kernel trên Ubuntu Biên dịch một kernel trên hệ thống CentOS

Các bài viết về Linux Firewall Case 1 - iptables và máy đơn Case 2 - iptables và máy đơn Cài đặt APF Firewall trên Linux Fedora Tài liệu Iptables bằng tiếng Việt

Page 77: Linux Toan Tap Qua Hay

Các bài viết về Web server Kiện Toàn Bảo Mật Cho Apache - Phần 1 Kiện Toàn Bảo Mật Cho Apache - Phần 2 Làm reverse proxy với Linux + Apache httpd Ứng dụng tập tin htaccess trên máy chủ Apache Sử dụng virtual host (tên ảo) trong Apache Proxy Server With Apache Cài đặt Apache+PHP+MySQL Phát hiện và chống xâm nhập Web Server với Mod Security Cài đặt lighttpd trên Linux

Các bài viết về Mail server Qmail as a Mail Gateway - Phần 1 Qmail as a Mail Gateway - Phần 2 Qmail as a Mail Gateway - Phần 3 Qmail as a Mail Gateway - Phần 4 Làm mail server với Postfix - Phần 1 Làm mail server với Postfix - Phần 2 Làm mail server với Postfix - Phần 3 Làm mail server với Postfix - Phần 4 Làm mail server với Postfix - Phần 5 Làm mail server với Postfix - Phần 6 Cài đặt nhanh và cấu hình qmail + vpopmail+procmail + daemontools Cài đặt nhanh và cấu hình Qmail+POP3+APOP Loại bỏ spam khỏi qmail SMTP bằng RBL  (NEW)

Các bài viết về DNS server BIND - Phần 1 BIND - Phần 2 BIND - Phần 3 BIND - Phần 4 (phần cuối) Thay thế BIND với djbdns - phần 1 Thay thế BIND với djbdns - phần 2 Thay thế BIND với djbdns - phần 3 Thay thế BIND với djbdns - phần 4 Thay thế BIND với djbdns - phần 5 (phần cuối)

Các bài viết về SNMP/SENSOR Giám sát hệ thống bằng SNMP Cấu hình SNMP Cách chỉnh tốc độ quạt của mainboard

Các bài viết về Snort Snort với ACID+MySQL Cài đặt nhanh hệ thống phát hiện xâm nhập

Page 78: Linux Toan Tap Qua Hay

Các bài viết về DHCP Cấu hình DHCP server

Các bài viết về SAMBA Cùng học Samba SAMBA 3.0 THỰC HÀNH

Các bài viết về FTP vsftp with virtual user

Các bài viết về Linux Clustering Công nghệ clustering trên Linux Linux Virtual Server Từng buớc một để triển khai hệ thống Cluster

Các bài viết về Linux tunneling Linux tunneling

Các bài viết về Linux Wireless Sử dụng Wireless với Linux Linux Wireless - Phần 1 Linux Wireless - Phần 2 Linux Wireless - Phần 3 Thiết kế mạng không dây: Dùng Linux làm Access Point

Development uClibc và BusyBox Sử dụng SYSLINUX làm bootloader

Programing Tóm tắt Linux Shell Programming

Linux Tips Thay đổi hostname Sử Dụng Tiếng Việt Với LaTeX Hướng dẫn cài đặt và cấu hình User Mode Linux Sử dụng GRUB Cài đặt các ứng dụng từ mã nguồn trên Linux Hướng dẫn cài đặt ứng dụng trong Linux Hướng dẫn sử dụng tiếng Việt trong Linux MPlayer - SMART - RPM BUILD Nâng cấp Ubuntu với Automatix

Page 79: Linux Toan Tap Qua Hay

Sử dụng wget thông qua Proxy Server Xóa Linux (NEW) An introduction to services, runlevels, and rc.d scripts (NEW) Thêm HD vào Linux (NEW) xvnkb cho người dùng GNOME DynamicDNS ddclient (NEW)

Các bài viết về RPM Bản dịch tài liệu RPM Guide from docs.fedoraproject.org (NEW) Cách đóng gói RPM Tạo file spec cho các gói RPM

Windows + Linux Hướng dẫn cài và sử dụng Linux và Windows trên cùng 1 PC T Chia sẻ máy in giữa Windows và Linux Dùng NTFS của XP trong LINUX - Case 1 Dùng NTFS của XP trong LINUX - Case 2 Cài đặt và hiệu chỉnh linux song song với windows (NEW)

Other Bản dịch tiếng Việt của Giấy phép Công cộng GNU (GPL) Kinh nghiệm trong việc nghiên cứu triển khai phần mềm mã nguồn mở Linux có gì hấp dẫn Linux trong tầm tay

http://www.hvaonline.net/hvaonline/posts/list/15093.hva

dia chi download sach

Page 80: Linux Toan Tap Qua Hay

Wireless for Linux

Bước đầu làm quen với Linux, mình đã làm cho Linux Desktop không khác gì Windows. Mình cài các phần mềm đánh tiếng Việt ( Unikey), Bộ từ điển Anh-Việt, Việt - Anh..., Yahoo Messenger và nhiều thứ khác cho giống với Windows. Nhưng mình nghĩ việc cài và làm cho cái Wireless hoạt động là khó khăn nhất ( Mình xài Notebook) nên post lên đây cho mọi người tham khảo, nếu ai có cách nào hay hơn xin chỉ giáo với nhé.

Mình xài Notebook Centrino, cài FC4, tất nhiên thành phần Wireless sẽ là Intel Pro/Wireless, máy mình là Intel Pro/Wireless 2200BG. Sau một hồi search lung tung, cuối cùng driver tải về được là ipw2200-1.0.4.gz. Driver có rồi, tiếp theo là tìm Firmware, Firmware là ipw2200-fw-2.3.gz. Bây giờ tiến hành cài đặt.

B1: Update Firmware. Giải nén và chép tất cả các file trong thư mục firmware vào /lib/firmware/

B2: Cài Driver cho wireless theo các bước sau:

# cd /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/ net/wireless # rm -rf ieee80211 ipw2100 ipw2200 # cd ipw2200-1.0.4-install-dir (thư mục cài đặt) # make install # shutdown -r now (Khởi động lại máy)

Giải thích: Máy mình xài kernel 2.6.11-1369_FC4. Trước khi cài driver mới tháo các driver cũ.

B3: Cài NetworkManager( Tool này sẽ giúp tự động scan wireless access point như trong Windows).

Cài đặt: su -c 'yum install NetworkManager NetworkManager-glib NetworkManager-gnome'

Thiết lập chạy main service khi khởi động: su -c '/sbin/chkconfig --level 345 NetworkManager on'

Thiết lập chạy dispatcher service khi khởi động: su -c '/sbin/chkconfig --level 345 NetworkManagerDispatcher on'

Khởi động services: su -c '/sbin/service NetworkManager start ; /sbin/service NetworkManagerDispatcher start'

Dùng lệnh này để load tray icon: NetworkManagerInfo & Để NetworkManager load vào tray icon khi khởi động, thêm dòng sau /usr/bin/NetworkManagerInfo vào System > Preferences > More Preferences > Sessions > Startup Programs

khoai xin post một bài về các dùng ndiswrapper để sử dụng các WLAN NIC không được support cho linux (như cái dell laptop của khoai, dùng broadcom chipset) ------------------- Trước tiên, download nidiswrapper tại http://sourceforge.net/projects/ndiswrapper/ Bản stable mới nhất, tại thời điểm viết ngày 5 tháng 12, 2006 là ndiswrapper-1.31. Download được file ndiswrapper-1.31.tar.gz

Tại terminal, tiến hành cài đặt ndiswrapper như sau: ***

Page 81: Linux Toan Tap Qua Hay

Code: # su [ Nhập root password ] # tar zxvf ndiswrapper-1.31.tar.gz # cd ndiswrapper-1.31 # mkdir /root/logs/ndiswrapper-1.31 # make |tee /root/logs/ndiswrapper-1.31/make # make install |tee /root/logs/ndiswrapper-1.31/install

Đến đây ta đã cài xong ndiswrapper, nếu không có lỗi. Lỗi thương xẩy ra nhất khi build ndiswrapper là thiếu kernel source. ndiswrapper yêu cầu cần có file /lib/modules/`uname -r`/build link đến thư mục chứa source của kernel. Sau đó, vào site http://ndiswrapper.sourceforge.net/mediawiki/index.php/List để tìm driver cho WLAN NIC. Sau khi đã download driver, giải nén nếu cần thiết, là có thể tiến hành install driver. Ở đây khoai dùng 'Broadcom Corp. BCM4306 802.11b/g Wireless LAN Controller', là card của khoai để làm ví dụ. Code: # ndiswrapper -i bcmwl5.inf

Bước này để cài driver cho NIC. Sau đó, run Code: # lspci # lspci -n

Kiểm tra rõ địa chỉ của hardware của bạn, vd của khoai là 14e4:4320. Sau đó run Code: # ndiswrapper -d 14e4:4320 bcmwl5

để sử dụng driver bcmwl5 cho hardware tại địa chỉ 14e4:4320. Sau đó run Code: # ndiswrapper -l

để kiểm tra xem driver, và địa chỉ phần cứng cho chính xác. Sau đó, run Code: # modprobe ndiswrapper

để load module ndiswrapper. ndiswrapper sẽ được "alias" thành wlan0. Bây giờ có thể log out khỏi root account bằng Code: # exit

Page 82: Linux Toan Tap Qua Hay

Dùng các lênh iwlist, iwconfig, route, và ifconfig để cấu hình và sử dụng WLAN NIC. Chi tiết cho từng lệnh xin mời tham khảo man page.

khoai

***Bước make không nhất thiết phải dùng với quyền root. Khoai chỉ có thói quen tee tất cả output ra để log lại mà thôi. Tuy nhiên, các bước tiếp theo phải dùng account root, su ngay tại thời điểm này có lẽ cũng hợp lý.

Page 83: Linux Toan Tap Qua Hay

Linux toàn tập

Sau một thời gian spamer dữ quá , nay tui quyết tâm làm lại cuộc đời bằng cách post lên bài viết này ( bài viết copy được từ nhiều nguồn ) , hi vọng đọc xong bạn có thể hiểu được phần nào về linux .

Giới thiệu về CentOS

CentOS (tên viết tắt của Community ENTerprise Operating System ) là một phân phối Linux tập trung vào lớp doanh nghiệp, xây dựng từ nhiều nguồn miễn phí (theo GPL và một số bản quyền tương tự) của Red Hat. CentOS 4 dựa trên nền tảng Red Hat Enterprise Linux 4, hỗ trợ dòng x86 (i586 và i686), dòng x86_64 (AMD64 và Intel EMT64), các cấu trúc IA64, Alpha, S390 và S390x.

Đĩa Single Server CD có hầu hết tất cả các thành phần cần thiết cho quá trình cài đặt server cơ bản, ngoại trừ GUI (giao diện đồ hoạ người dùng). Nó phù hợp cho những ai muốn cài đặt chức năng một cách nhanh chóng. Do không có giao diện GUI, bạn có thể chạy một server cơ sở chỉ với RAM 128. Nhưng tất nhiên dung lượng RAM sẽ phải tăng lên nếu cần triển khai các cơ sở dữ liệu lớn.

Cài đặt

Quá trình cài đặt Single Server CD khá dễ dàng, nhất là khi bạn đã cài một phân phối Linux khác. Bạn cần download Single Server CD từ một bản ở máy cục bộ, ghi nó vào đĩa và khởi động (boot) server từ đĩa đó.

Cho dù Single Server CD không chứa giao diện GUI, quá trình cài đặt vẫn sử dụng một giao diện đồ hoạ, giúp bạn dễ dàng thao tác với từng phần. Làm theo các hướng dẫn trên màn hình, công việc trở nên đơn giản.

Mẹo nhỏ: Nếu server của bạn không chứa bất kỳ dữ liệu nào khác và không gặp phải vấn đề gì khi format lại toàn bộ ổ đĩa, nên sử dụng tuỳ chọn “automatically partition” (phân vùng tự động) khi quá trình cài đặt đến bước Disk Partitioning Setup. Nó sẽ giúp bạn tiết kiệm được khá nhiều thời gian.

Bạn nên tạm ngừng sử dụng SELinux và tắt chức năng tường lửa, nhất là khi server được đặt an toàn bên trong mạng cục bộ. Bạn có thể thay đổi các thiết lập tường lửa sau nếu muốn với lệnh system-config-securitylevel.

Bạn có thể chọn cài đặt mặc định các gói phần mềm một cách an toàn. Phương thức cài đặt này sẽ cung cấp một hệ thống CentOS cơ bản với Web, mail và các server FTP, DNS, chức năng chia sẻ file qua Samba. Với máy có cấu hình hiện đại, quá trình cài đặt chỉ mất dưới 20 phút.

Không phải tất cả các gói trên CD đều được cài. Chẳng hạn, nếu muốn dùng PostgreSQL, bạn sẽ phải cài đặt nó sau từ đĩa. Muốn cài đặt PostgreSQL, đưa đĩa vào ổ đọc (mount/media/cdrom), dùng lệnh yum để cài các thư viện client và server:

yum localinstall /media/cdrom/CentOS/RPMS/postgresql-7* yum localinstall /media/cdrom/CentOS/RPMS/postgresql-server-7*

, 01/03/-1,
message
, 01/03/-1,
/ icon and title
Page 84: Linux Toan Tap Qua Hay

Khả năng mạnh của CentOS nằm ở chỗ đáng tin cậy và ổn định. Nó được xây dựng dựa trên các gói đã qua thử nghiệm cho kết quả tốt chứ không dựa trên phần mềm bleeding-edge. Tuy nhiên cũng có một hạn chế là một số phần mềm mới nhất không thể cài đặt được trên phần phối này. Thiếu sót quan trọng nhất, theo ý kiến của tôi, là PHP 5 và MySQL 5. Nhưng các phần mềm này cũng đã được tích hợp vào trong CentOS Plus Repository.

Mặc định, CentOS 4.4 sử dụng PHP 4.3.9. Muốn nâng cấp lên PHP 5, trước tiên phải đảm bảo máy bạn đã được kết nối với Internet, sau đó chạy lệnh:

yum --enablerepo=centosplus upgrade php*

Tương tự với MySQL. Phiên bản mặc định trong CentOS 4.4 là MySQL 4.1.20. Muốn nâng cấp lên MySQL 5, dùng các lệnh sau:

yum --enablerepo=centosplus upgrade mysql* yum --enablerepo=centosplus install mysql-server-5*

Quản trị đơn giản

Do CentOS 4.4 Single Server CD không có giao diện GUI, bạn cần thực hiện tất cả cấu hình qua dòng lệnh. Dưới đây là một số lệnh quan trọng cơ bản và các file giúp bạn cấu hình server.

Để khởi động và ngừng dịch vụ, dùng:

service XYZ start service XYZ stop

Trong đó, XYZ là tên server, ví dụ như postgresql.

Để cấu hình mạng, chạy lệnh:

netconfig

Để cấu hình máy in, chạy lệnh:

system-config-printer

Mặc định có một số dịch vụ hệ thống không được khởi động trong thời gian boot hệ thống như Web server, MySQL server. Muốn đảm bảo cho các dịch vụ này được chạy ngay từ khi khởi động máy, thực hiện các lệnh sau:

chkconfig --levels 235 httpd on chkconfig --levels 235 mysql on chkconfig --levels 235 smb on chkconfig --levels 235 vsftpd on

Nếu cần dịch vụ POP3 và IMAP, bạn cần cấu hình dovecot daemon. Mặc định, dovecot daemon chỉ cung cấp các dịch vụ IMAP. Muốn có POP3, bạn phải chỉnh sửa /etc/dovecot.conf và đặt vào dòng:

Page 85: Linux Toan Tap Qua Hay

protocols = imap imaps pop3 pop3s

Dovecot cũng không được khởi động mặc định (nhưng được cài đặt như một trong các gói tiêu chuẩn). Muốn dovecot được khởi động khi máy khởi động, gõ lệnh:

chkconfig --levels 235 dovecot on

Sau khi mọi thành phần đã được cấu hình chính xác, bạn nên khởi động lại hệ thống. Không phải bởi Linux cần khởi động lại mà đơn giản chỉ để chắc chắn rằng mọi thứ đã được cài đặt phù hợp và chạy như mong đợi.

Hướng dẫn cài VMware + Linux CentOS

Chào các bạn , học linux đang là một nhu cầu của nhiều người , tôi cũng mới bắt đầu đi học nói thôi , blog tôi từ nay sẽ có mục mới là học linux , tôi sẽ viết lại những cái gì mà tôi học được cho các bạn xem , có thể là đi học thì nhiều nhưng tôi viết lại chắc là không đầy đủ lắm mong các bạn thông cảm nhé , tôi viết lại những bài tôi đã học cũng là một cách để tôi ôn lại những gì mình đã học .

Tôi học CentOS nên tôi cũng sẽ nói về CentOS thôi , bạn xem thông tin và download hệ điều hành này tại website http://www.centos.org/Bạn có thể dùng máy thật để cài Centos , nhưng tôi khuyên các bạn nên dùng máy ảo , vì nếu cài máy thật chung window nếu thao tác không đúng toàn bộ dữ liệu của các bạn sẽ mất hết , máy ảo ở đây tôi dùng là VMware Workstation , bạn vào website http://www.vmware.com/ xem thêm thông tin nhé . Bạn có thể ra ngoài tiệm bán đĩa CD để tìm mua chương trình này . Hay cũng có thể dùng Virtual PC 2007 của Microsoft , cái này free , tham khảo tại và download tại http://www.microsoft.com/downloads/d...DisplayLang=en , link download trực tiếp http://download.microsoft.com/downlo...0BIT/setup.exe

Cấu hình yêu cầu là : Ổ cứng nên trống từ 4Gb trở lên , ram từ 256 Mb trở lên , tốt nhất là 1Gb , tốc độ cpu không cần nhiều p3 1Gb trở lên là được rồi , tất nhiên là cấu hình càng cao càng tốt .

Nếu dùng máy ảo bạn lên website của Centos download cái iso của Centos đi , khoảng 3.5Gb , bạn không cần phải ghi ra DVD làm gì , chương trình Vmware có thể cài từ file iso , bạn download từ link này http://isoredirect.centos.org/centos/5/isos/i386/ , nếu không có điều kiện download thì ra tiệm bán đĩa CD mua nhé , nhưng trên CD dễ bị lỗi lúc cài lắm đó .

Mời bạn xem bài lab cài và cấu hình VMware tại link http://files.myopera.com/hautp/linux/VMware.htm

Do không thể quay phim trong VMware nên tôi đã quay phim hướng dẫn cài linux dưới dạng file .avi , các bạn download chương trình KMPlayer để xem , cái này hổ trợ rất tốt xem file .avi và các file định dạng khác http://www.kmplayer.com/beta/kmp.zip , và tôi cũng không có host để upload fie nén nên tôi upload lên megaupload , bạn có thể xem trình tự cài linux centos bằng film ( có 3 file bạn xem lần lược file 1 2 3 ), download tại http://www.megaupload.com/?d=XMI5M9VA ( 3.15 Mb ) ( do phim quay nhanh quá mong các bạn thông cảm nhé , cán bạn dùng chế độ xem chậm lại đi nhé , KMPlayer giải quyết tốt tình trạng này )

Nếu bạn không xem được phim hướng dẫn cài đặt trên vì quá nhanh thì hãy download trên veoh.com

Page 86: Linux Toan Tap Qua Hay

về xem nhé ( có thể bạn xem online không được thì download về xem )

http://www.veoh.com/videos/v554051tHnfcstW