Nội dung bài học
• Các chương trình ứng dụng cơ bản.
Chương trình ứng dụng
– Dành cho người dùng thường.
– Dành cho người quản trị.
• Quản lý các chương trình ứng dụng.
Ngơ Duy Hịa – KHMT - CNTT
– Cài đặt.
– Tháo gỡ.
Một số chương trình thơng dụng
• User Applications:
1. Các chương trình ứng dụng
– Office and Database Applications.
– Graphic tools and Multimedia.
– Mail,Web, FTP clients.
– Network tools
– Programming IDE.
• System Applications:
– System Settings Menu
– System Tools Menu.
Linux Office.
• Hỗ trợ làm việc với Microsoft Office.
• Phần lớn là open source (free)
• Đa dạng:
– KOffice, (www.koffice.org)
– GNOME Office, (www.gnome.org/gnomeoffice)
– OpenOffice, (www.openoffice.org)
– StarOffice.(www.sun.com/startoffice)
– CrossOver Office (www.codeweavers.com).
OpenOffice
• Phát triển từ StartOffice.
• Có thể cài trên: linux, window, solaris
• Bao gồm các thành phần như sau:
– Writer (soạn thảo văn bản)
– Calc (bảng tính tương tự như Excel)
– Draw (đồ họa cơ bản)
– Impress (soạn thảo trình diễn, tương tự
PowerPoint)
– Math (soạn thảo các biểu thức toán học)
1
Document viewers
• Đọc file theo định dạng dữ liệu chuẩn:
– Đọc các file dạng PostScript và PDF :
GNOME Ghostview (GGV), KGhostView,
Acrobat Reader.
– Chỉ đọc .PDF: xpdf.
– Đọc .chm : gnochm,xchm.
– Đọc file dạng DVI: KDVI.
– Làm việc với tài liệu khoa học: TeX.
2
LaTeX
LaTeX
Database managements
3
Graphic tools
• Image browser and viewer.
• Window grabbers (Screen grabber).
• Image processing (Image format
conversion and editing tool).
• Digital camera application.
• Paint tools.
Multimedia
Linux Multimedia Sites
• Làm việc với CD, DVD.
• Làm việc với file hình ảnh và âm thanh.
– Multimedia player for video, DVD, and audio.
– CD burner and ripper.
– Sound recorder.
– Converter.
4
Multimedia Applications
Linux Mail Clients
Web clients
Web File Types
• Web Protocols:
5
Web Browsers
•
•
•
•
•
Opera.
Netscape Navigator,Mozilla, Firefox.
Lynx, Amaya,…
K Desktop File Manager: Konqueror.
GNOME Web Browsers: Nautilus and
Epiphany.
• …
FTP clients
ftp Client Commands
Network Tools
6
Programming Language
• Hỗ trợ lập trình với:
– C / C++
– Pascal
– Perl, PHP, Python
– Shell,TCL.
– Assembly.
– Java.
Programming IDE
•
•
•
•
•
•
•
Anjuta --
Kdevelop --
Eclipse --
QtEZ -- />SciTE --
Komodo --
…
7
System Settings Menu
System Settings Menu
•
•
•
•
•
•
•
•
Server settings: cấu hình các dịch vụ.
Authentication: cấu hình cho password.
Date & Time: cấu hình về thời gian.
Display: cấu hình về màn hình.
Keyboard: cấu hình về bàn phím.
Language: cấu hình về ngơn ngữ.
Login Screen: cấu hình về màn hình login.
Mouse: cấu hình về chuột.
System Settings Menu
•
•
•
•
•
•
•
Network: cấu hình về mạng.
Packages: cấu hình về các gói cài đặt.
Printing: cấu hình về máy in.
Root Password: thay đổi root password.
Security Level: cấu hình firewall,..
Soundcard Detection: cấu hình soundcard.
Users and Groups: cấu hình người dùng.
8
Server Setting
Authentication
Date & Time
Display
Networking
Security level
9
Package management
Users & Groups
System Tools Menu
System Tools Menu
•
•
•
•
•
•
•
Disk Management
Disk Management: quản lý đĩa
Hardware Browser: quản lý phần cứng
Internet Configuration Wizard: kết nối Net.
Network Device Control: thiết bị mạng
System Logs: đọc log file
System Monitor: đánh giá hệ thống.
Terminal: cửa sổ gõ dòng lệnh.
System Monitor
10
System Monitor
Hardware Browser
Control Center
2. Quản lý các chương trình
Gói phần mềm cài đặt
• Binary package: đã được biên dịch đối với
1 hệ thống cụ thể (Intel,AMD,Motorola,...)
• Source package: một tập các file mã
nguồn chưa được biên dịch và không viết
cho 1 hệ thống cụ thể nào Ỉ biên dịch hệ
thống nào Ỉ chạy trên hệ thống đó.
Gói phần mềm cài đặt
• Thường đặt dưới dạng:
– Dạng nén: package_file.tar.gz
– Chuẩn RPM : package_file.rpm
– Chuẩn Debian: package_file.deb
• Chứa các thơng tin:
– File cần thiết để cài đặt chương trình.
– Thơng tin về các file, hoặc thư viện cần thiết
trong quá trình cài đặt mà khơng chứa sẵn
trong gói phần mềm. (dependencies).
11
Cài đặt từ Source Code
Các bước thực hiện
• Phổ biến rộng rãi trong Linux/Unix.
• Có thể biên dịch trên nhiều hệ thống khác
nhau.
• So với file đã biên dịch sẵn:
• Source code thường được nén: *.tar.gz.
• Giải nén và tìm đọc trong thư mục các file
hướng dẫn: README & INSTALL.
• Tìm và chạy file ./configure nếu có.
• Thay đổi cấu hình Makefile nếu cần.
• Biên dịch chương trình bằng lệnh: make.
• Cài đặt vào hệ thống: make install.
– Được cơng bố trước và hỗ trợ cài đặt linh
động hơn.
– An tồn hơn : có thể đọc code để loại bỏ phần
mềm gián điệp.
Các kiểu package thơng dụng
Giải nén package
• Thường thì package được cơng bố dưới
dạng:
– package_name.tar
– package_name.tar.z
– package_name.tar.gz
– Package_name.tar.bz2
• Với file *.tar – tarball file: một tập các file đi
cùng nhau để cài đặt, được hợp lại như
một file duy nhất.
• Đối với các file nén ta có các tools tương ứng
như trên.
• Tuy nhiên các tools này chỉ làm việc với các file
đơn, khơng nén một nhóm các file như Winzip.
Làm việc với tarball file
Giải nén *.z, *.gz, *.bz2
• Để nén một thư mục (project) ở dạng *.tar
ta làm như sau:
tar c my-project-v.1/ > my-project-v.1.tar hoặc
tar cf my-project-v.1.tar my-project-v.1/
• Để giải nén *.tar ra 1 thư mục ta làm như
sau:
tar xvf my-project-v.1.tar
• Có thể thực hiện với các tools tương ứng
đã liệt kê: uncompress, gunzip, bunzip2.
• Có thể thực hiện gộp 2 giai đoạn:
– Giải nén với đuôi : z, gz, bz2
– Giải nén với đi : tar
• Sử dụng option của tar tool:
– Với *.tar.bz2: -xj
– Với *.tar.gz : -xz
– Với *.tar. Z : -xZ
12
Ví dụ với httperf-0.8.tar.gz
[root@redhat /root]# gunzip httperf-0.8.tar.gz
[root@redhat /root]# tar xvf httperf-0.8.tar
httperf-0.8/
httperf-0.8/timer.h
httperf-0.8/core.c
httperf-0.8/httperf.c
httperf-0.8/core.h
httperf-0.8/event.h
httperf-0.8/httperf.h
...
Chạy ./configure
[root@redhat httperf-0.8]# ./configure
creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc ) ... yes
checking whether the C compiler (gcc )
is a cross-compiler...no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for a BSD compatible install...
Nội dung Makefile
# Generated automatically from Makefile.in by configure.
SHELL=/bin/sh
srcdir = .
top_srcdir = .
top_builddir = .
prefix = /usr/local
bindir = ${exec_prefix}/bin
mandir = ${prefix}/man
#DEFS += -DTIME_SYSCALLS
#DEFS += -DDONT_POLL
Giải nén httperf-0.8.tar.gz
httperf-0.8/Makefile.in
httperf-0.8/configure
httperf-0.8/install-sh
httperf-0.8/mkinstalldirs
httperf-0.8/config.sub
httperf-0.8/configure.in
httperf-0.8/config.h.in
httperf-0.8/config.guess
httperf-0.8/aclocal.m4
[root@redhat /root]# cd httperf-0.8
Kết quả chạy ./configure
……
checking for getopt_long... yes
updating cache ./config.cache
creating ./config.status
creating stat/Makefile
creating lib/Makefile
creating Makefile
creating gen/Makefile
creating config.h
Nội dung Makefile
….
SUBDIRS = lib gen stat
CC = gcc
RANLIB = ranlib
MKDIR = $(top_srcdir)/mkinstalldirs
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
13
Biên dịch bằng: make
[root@redhat httperf-0.8]# make
making all in lib
make[1]: Entering directory `/root/httperf-0.8/lib’
gcc -c -DHAVE_CONFIG_H -I.. -I.. -I../lib -DNDEBUG D_GNU_SOURCE -D_XOPEN_SOURC
E -g -O2 -Wall getopt.c
gcc -c -DHAVE_CONFIG_H -I.. -I.. -I../lib -DNDEBUG D_GNU_SOURCE -D_XOPEN_SOURC
E -g -O2 -Wall getopt1.c
gcc -c -DHAVE_CONFIG_H -I.. -I.. -I../lib -DNDEBUG D_GNU_SOURCE -D_XOPEN_SOURC
Cài đặt vào hệ thống
[root@redhat httperf-0.8]# make install
making install in lib
make[1]: Entering directory `/root/httperf-0.8/lib’
make[1]: Nothing to be done for `install’.
make[1]: Leaving directory `/root/httperf-0.8/lib’
making install in gen
make[1]: Entering directory `/root/httperf-0.8/gen’
make[1]: Nothing to be done for `install’.
make[1]: Leaving directory `/root/httperf-0.8/gen’
…….
Cài đặt vào hệ thống
…
making install in stat
make[1]: Entering directory `/root/httperf-0.8/stat’
make[1]: Nothing to be done for `install’.
make[1]: Leaving directory `/root/httperf-0.8/stat’
./mkinstalldirs /bin /usr/local/man/man1
/usr/bin/install -c httperf /bin/httperf
/usr/bin/install -c -m 644 ./httperf.man
/usr/local/man/man1/httperf.1
[root@redhat httperf-0.8]#
Công cụ quản lý
• Hỗ trợ các tiện ích như: cài đặt (install), nâng
cấp (update) , loại bỏ (remove) phần mềm trong
hệ thống.
• Cho phép cài đặt hoặc nâng cấp thơng qua mơi
trường mạng.
• Xác định các file chứa trong gói phần mềm.
• Xác định phiên bản phần mềm cài đặt thơng qua
cơ sở dữ liệu quản lý phần mềm.
• Xác định các phần mềm liên quan tương thích.
• Hỗ trợ cơng cụ xây dựng gói phần mềm.
• Hỗ trợ cơng cụ xác thực gói phần mềm.
Cơng cụ quản lý
• Làm việc trên các hệ thống cụ thể:
– Red Hat Package Manager (RPM).
– Debian GNU/Linux Package Manager.
• Các cơng cụ hỗ trợ:
– RPM-based : rpm,yum,up2date,yast,….
– Debian-based: dpkg,aptitude,synaptic,...
– RPM & Debian systems: apt.
RPM package files
• Chứa các thơng tin như sau:
– Chương trình phần mềm đã biên dịch (binary
file) dưới dạng nén.
– Tên và phiên bản phần mềm.
– Ngày biên dịch và hệ thống đã biên dịch.
– Sự mơ tả về gói phần mềm.
– Thơng tin về tác giả gói phần mềm.
– Kiểm tra tính xác thực gói phần mềm.
– Các gói phần mềm cần có để hỗ trợ.
14
RPM package files
•
•
•
•
Package – tên của phần mềm sau khi cài.
Version – phiên bản phần mềm.
Patch – chỉ số vá lỗi cho phiên bản phần mềm.
Architecture – hệ thống máy tính mà phiên bản
được biên dịch. Ví dụ:
– Intel x86: i386, i586.
– Sun Sparc: sparc.
RPM command-line tool
RPM database
• Thơng tin các gói phần mềm sau khi cài
đặt được lưu trữ trong cơ sở dữ liệu RPM
theo đường dẫn: /var/lib/rpm.
• Vai trò:
– Xác định các phiên bản đã cài đặt.
– Xác định các gói phần mềm liên quan đã cài
đặt hay chưa.
• Cấu hình lại database: rpm -- rebuliddb
rpm command option
• Cài đặt phần mềm:
rpm -i package_file.rpm
rpm --install package_file.rpm
• Tháo gỡ phần mềm:
rpm -e package_name
rpm --uninstall package_name
• Nâng cấp phần mềm:
rpm -U package_file.rpm
rpm --upgrade package_file.rpm
[root@redhat /root]# rpm -q kernel
kernel-2.2.14-5.0
[root@redhat /root]# rpm -qa | grep kernel
kernel-headers-2.2.14-5.0
kernel-2.2.14-5.0
kernel-pcmcia-cs-2.2.14-5.0
kernel-utils-2.2.14-5.0
[root@redhat /root]# rpm -qf /etc/bashrc
bash-1.14.7-22
[root@redhat /root]# rpm -ql openssh-clients
/etc/ssh/ssh_config
/usr/bin/slogin
/usr/bin/ssh
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/man/man1/slogin.1.gz
/usr/man/man1/ssh-add.1.gz
/usr/man/man1/ssh-agent.1.gz
/usr/man/man1/ssh.1.gz
[root@redhat /etc]# rpm -qi kernel
Name : kernel Relocations: (not relocateable)
Version : 2.2.14 Vendor: Red Hat, Inc.
Release : 5.0 Build Date: Tue 07 Mar 2000 09:13:08
PM EST
Install date: Wed 01 Nov 2000 06:58:30 PM EST Build Host:
porky.devel.redhat.com
Group : System Environment/Kernel Source RPM: kernel2.2.14-5.0.src.rpm
Size : 11973135 License: GPL
Packager : Red Hat, Inc. < />Summary :The Linux kernel (the core of the Linux).
Description :
The kernel package contains the Linux kernel (vmlinuz), the
core of your Red Hat Linux operating system.
The kernel handles the basic functions of the operating system:
memory allocation, process allocation, device …
15
Creating binary packages from
source packages
Các thư mục con được tạo
• Không phải tất cả RPM package chứa sẵn
phần mềm đã biên dịch.
• Một số chỉ chứa mã nguồn và script để
biên dịch. Khi đó package có dạng:
package-version-patch.src.rpm
• Cài đặt vẫn dùng: rpm –i nhưng kết quả là
các thư mục con trong: usr/source/redhat.
SPECS directory
SPEC File sections
• Trong thư mục này có 1 file có tên :
/usr/src/redhat/specs/package_name.spec
• Vai trị:
– Cấu hình cách biên dịch các file mã nguồn.
– Chứa các script chạy khi cài đặt (install) hoặc
tháo gỡ (remove) phần mềm.
• Spec file chứa 8 thành phần như sau:
Các bước biên dịch
• Install the RPM source package:
rpm –ivh package-version-patch.src.rpm
• Start building:
rpm –ba package_name.spec
• Tarball file (*.tar) trong thư mục
SOURCES sẽ được giải nén vào BUILD.
• Biên dịch thành cơng, kết quả nằm ở thư
mục RPMS
Một số cách khác
• Cách 1: Sử dụng rpmbuild tools.
• Cách 2: dùng option –rebuild trong rpm
rpm –rebuild package-version-patch.src.rpm
• Cách 3: Trong một số trường hợp gói
phần mềm đặt dưới dạng tarball chứa
spec file. Kiểm tra sự tồn tại của spec file
rồi thực hiện biên dịch:
tar tzvf package-version-patch.tar.gz | grep .spec
rpm –bt package-version-patch.tar.gz
16
Cơng cụ làm việc với RPM
• YaST (SUSE)
• Up2date (RedHat)
• Yum - Yellow Dog Updater Modified
(Fedora and others)
• Mandrake Software Management
(Mandriva)
Debian package files
• Bao gồm chương trình đã biên dịch +
metadata file.
• Metadata file chứa:
– Thơng tin về gói phần mềm.
– Các scripts cần thực hiện.
– Thông tin về các gói phần mềm có liên quan
hoặc xung đột.
• Có thể chứa mã nguồn để tự biên dịch.
Debian package files
•
•
•
•
Package – tên của phần mềm sau khi cài.
Version – phiên bản chương trình phần mềm.
Build – phiên bản gói cài đặt.
Architecture – hệ thống máy tính mà phiên bản
đã được biên dịch.
Lệnh cơ bản với dpkg
• Cài đặt phần mềm:
Debian package manager tools
• Chương trình quản lý cơ bản nhất trong
Debian system là dpkg.
• Một số phiên bản khác, chạy trên các hệ
thống như Debian được xây dựng từ nền
tảng dpkg:
– dselect
– apt-get
– alien
Một số ví dụ
dpkg -i package_file.deb
dpkg --install package_file.deb
• Tháo gỡ phần mềm:
dpkg -r package_name
dpkg --remove package_name
• Tháo gỡ phần mềm và các file cấu hình:
dpkg -P package_name
dpkg --purge package_name
17
Một số ví dụ (tiếp)
Một số ví dụ (tiếp)
Một số ví dụ (tiếp)
Một số ví dụ (tiếp)
Một số ví dụ (tiếp)
Dselect tool
18
APT tools
Một số câu lệnh cần biết
• Phần mềm càng phức tạp Ỉ số gói phần
mềm liên quan tăng Ỉ cần có 1 cơng cụ
hỗ trợ tự động cài đặt cả phần mềm và
các gói liên quan.
• apt – advanced package tool : là một sự
mở rộng của dpkg, giải quyết vấn đề trên.
• apt tools là một bộ tiện ích hỗ trợ cài đặt
và quản lý cơ sở dữ liệu phần mềm.
Thank you!
19