Giáo trình Bài mở đầu - Bài 3: Chương trình ứng dụng - Ngô Duy Hòa
Bạn đang xem tài liệu "Giáo trình Bài mở đầu - Bài 3: Chương trình ứng dụng - Ngô Duy Hòa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_bai_mo_dau_bai_3_chuong_trinh_ung_dung_ngo_duy_ho.pdf
Nội dung text: Giáo trình Bài mở đầu - Bài 3: Chương trình ứng dụng - Ngô Duy Hòa
- Nội dung bài học •Các chương trình ứng dụng cơ bản. – Dành cho người dùng thường. Chương trình ứng dụ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: – Office and Database Applications. 1. Các chương trình ứng dụng – Graphic tools and Multimedia. – Mail,Web, FTP clients. – Network tools – Programming IDE. • System Applications: – System Settings Menu – System Tools Menu. Linux Office. OpenOffice • Phát triển từ StartOffice. •Hỗ trợ làm việc với Microsoft Office. •Cóthể cài trên: linux, window, solaris •Phần lớn là open source (free) •Bao gồm các thành phần như sau: • Đa dạng: – Writer (soạn thảo văn bản) – KOffice, (www.koffice.org) –Calc (bảng tính tương tự như Excel) – GNOME Office, (www.gnome.org/gnome- office) –Draw (đồ họa cơ bản) – OpenOffice, (www.openoffice.org) –Impress (soạn thảo trình diễn, tương tự – StarOffice.(www.sun.com/startoffice) PowerPoint) – CrossOver Office (www.codeweavers.com). – 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 Client Commands FTP clients Network Tools 6
- Programming Language Programming IDE •Hỗ trợ lập trình với: • Anjuta – C / C++ • Kdevelop – Pascal • Eclipse – Perl, PHP, Python • QtEZ – Shell,TCL. •SciTE – Assembly. – Java. • Komodo • 7
- System Settings Menu System Settings Menu System Settings Menu • Server settings: cấu hình các dịch vụ. • Network: cấu hình về mạng. • Authentication: cấu hình cho password. • Packages: cấu hình về các gói cài đặt. • Date & Time: cấu hình về thời gian. • Printing: cấu hình về máy in. • Display: cấu hình về màn hình. • Root Password: thay đổi root password. • Keyboard: cấu hình về bàn phím. • Security Level: cấu hình firewall, • Language: cấu hình về ngôn ngữ. • Soundcard Detection: cấu hình soundcard. • Login Screen: cấu hình về màn hình login. • Users and Groups: cấu hình người dùng. • Mouse: cấu hình về chuột. 8
- Server Setting Authentication Date & Time Display Networking Security level 9
- Package management Users & Groups System Tools Menu System Tools Menu • 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. Disk Management 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 Gói phần mềm cài đặt • Binary package: đã được biên dịch đối với •Thường đặt dưới dạng: 1 hệ thống cụ thể (Intel,AMD,Motorola, ) –Dạng nén: package_file.tar.gz • Source package: một tập các file mã –Chuẩn RPM : package_file.rpm nguồn chưa được biên dịch và không viết –Chuẩn Debian: package_file.deb cho 1 hệ thống cụ thể nào Æ biên dịch hệ •Chứa các thông tin: thống nào Æ chạy trên hệ thống đó. – 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. • Source code thường được nén: *.tar.gz. •Cóthể biên dịch trên nhiều hệ thống khác •Giải nén và tìm đọc trong thư mục các file nhau. hướng dẫn: README & INSTALL. •So với file đã biên dịch sẵn: • Tìm và chạy file ./configure nếu có. – Được công bố trước và hỗ trợ cài đặt linh • Thay đổi cấu hình Makefile nếu cần. động hơn. • Biên dịch chương trình bằng lệnh: make. – An toàn hơn : có thể đọc code để loại bỏ phần mềm gián điệp. •Cài đặt vào hệ thống: make install. 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 • Đối với các file nén ta có các tools tương ứng •Với file *.tar – tarball file: một tập các file đi như trên. cùng nhau để cài đặt, được hợp lại như • Tuy nhiên các tools này chỉ làm việc với các file một file duy nhất. đơ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 •Cóthể thực hiện với các tools tương ứng ta làm như sau: đã liệt kê: uncompress, gunzip, bunzip2. tar c my-project-v.1/ > my-project-v.1.tar hoặc •Cóthể thực hiện gộp 2 giai đoạn: tar cf my-project-v.1.tar my-project-v.1/ –Giải nén với đuôi : z, gz, bz2 –Giải nén với đuôi : tar • Để giải nén *.tar ra 1 thư mục ta làm như •Sử dụng option của tar tool: sau: –Với *.tar.bz2: -xj tar xvf my-project-v.1.tar –Với *.tar.gz : -xz –Với *.tar. Z : -xZ 12
- Ví dụ với httperf-0.8.tar.gz Giải nén httperf-0.8.tar.gz [root@redhat /root]# gunzip httperf-0.8.tar.gz httperf-0.8/Makefile.in [root@redhat /root]# tar xvf httperf-0.8.tar httperf-0.8/configure httperf-0.8/ httperf-0.8/install-sh httperf-0.8/timer.h httperf-0.8/mkinstalldirs httperf-0.8/core.c httperf-0.8/config.sub httperf-0.8/httperf.c httperf-0.8/configure.in httperf-0.8/core.h httperf-0.8/config.h.in httperf-0.8/event.h httperf-0.8/config.guess httperf-0.8/httperf.h httperf-0.8/aclocal.m4 [root@redhat /root]# cd httperf-0.8 Chạy ./configure Kết quả chạy ./configure [root@redhat httperf-0.8]# ./configure creating cache ./config.cache checking for getopt_long yes checking for gcc gcc updating cache ./config.cache checking whether the C compiler (gcc ) yes creating ./config.status checking whether the C compiler (gcc ) creating stat/Makefile is a cross-compiler no creating lib/Makefile checking whether we are using GNU C yes creating Makefile checking whether gcc accepts -g yes creating gen/Makefile checking for a BSD compatible install creating config.h Nội dung Makefile Nội dung Makefile # Generated automatically from Makefile.in by configure. . SHELL=/bin/sh SUBDIRS = lib gen stat srcdir = . CC = gcc top_srcdir = . RANLIB = ranlib top_builddir = . MKDIR = $(top_srcdir)/mkinstalldirs prefix = /usr/local INSTALL = /usr/bin/install -c bindir = ${exec_prefix}/bin INSTALL_PROGRAM = ${INSTALL} mandir = ${prefix}/man INSTALL_DATA = ${INSTALL} -m 644 #DEFS += -DTIME_SYSCALLS #DEFS += -DDONT_POLL 13
- Biên dịch bằng: make Cài đặt vào hệ thống [root@redhat httperf-0.8]# make [root@redhat httperf-0.8]# make install making all in lib making install in lib make[1]: Entering directory `/root/httperf-0.8/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 make[1]: Nothing to be done for `install’. E -g -O2 -Wall getopt.c make[1]: Leaving directory `/root/httperf-0.8/lib’ gcc -c -DHAVE_CONFIG_H -I -I -I /lib -DNDEBUG - making install in gen D_GNU_SOURCE -D_XOPEN_SOURC make[1]: Entering directory `/root/httperf-0.8/gen’ E -g -O2 -Wall getopt1.c make[1]: Nothing to be done for `install’. gcc -c -DHAVE_CONFIG_H -I -I -I /lib -DNDEBUG - make[1]: Leaving directory `/root/httperf-0.8/gen’ D_GNU_SOURCE -D_XOPEN_SOURC . Cài đặt vào hệ thống Công cụ quản lý • Làm việc trên các hệ thống cụ thể: making install in stat – Red Hat Package Manager (RPM). make[1]: Entering directory `/root/httperf-0.8/stat’ make[1]: Nothing to be done for `install’. – Debian GNU/Linux Package Manager. make[1]: Leaving directory `/root/httperf-0.8/stat’ • Các công cụ hỗ trợ: ./mkinstalldirs /bin /usr/local/man/man1 – RPM-based : rpm,yum,up2date,yast, . /usr/bin/install -c httperf /bin/httperf – Debian-based: dpkg,aptitude,synaptic, /usr/bin/install -c -m 644 ./httperf.man /usr/local/man/man1/httperf.1 – RPM & Debian systems: apt. [root@redhat httperf-0.8]# Công cụ quản lý RPM package files •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 •Chứa các thông tin như sau: hệ thống. –Chương trình phần mềm đã biên dịch (binary • Cho phép cài đặt hoặc nâng cấp thông qua môi file) dưới dạng nén. trường mạng. – Tên và phiên bản phần mềm. •Xác định các file chứa trong gói phần mềm. – Ngày biên dịch và hệ thống đã biên dịch. •Xác định phiên bản phần mềm cài đặt thông qua –Sự mô tả về gói phần mềm. cơ sở dữ liệu quản lý phần mềm. – Thông tin về tác giả gói phần mềm. •Xác định các phần mềm liên quan tương thích. –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ợ. •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. 14
- RPM package files 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 • Package – tên của phần mềm sau khi cài. theo đường dẫn: /var/lib/rpm. • Version – phiên bản phần mềm. • Vai trò: •Patch –chỉ số vá lỗi cho phiên bản phần mềm. –Xác định các phiên bản đã cài đặt. • Architecture – hệ thống máy tính mà phiên bản –Xác định các gói phần mềm liên quan đã cài được biên dịch. Ví dụ: đặt hay chưa. – Intel x86: i386, i586. •Cấu hình lại database: rpm rebuliddb – Sun Sparc: sparc. RPM command-line tool 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 [root@redhat /etc]# rpm -qi kernel kernel-2.2.14-5.0 Name : kernel Relocations: (not relocateable) [root@redhat /root]# rpm -qa | grep kernel Version : 2.2.14 Vendor: Red Hat, Inc. kernel-headers-2.2.14-5.0 Release : 5.0 Build Date: Tue 07 Mar 2000 09:13:08 kernel-2.2.14-5.0 PM EST kernel-pcmcia-cs-2.2.14-5.0 Install date: Wed 01 Nov 2000 06:58:30 PM EST Build Host: kernel-utils-2.2.14-5.0 porky.devel.redhat.com [root@redhat /root]# rpm -qf /etc/bashrc Group : System Environment/Kernel Source RPM: kernel- bash-1.14.7-22 2.2.14-5.0.src.rpm [root@redhat /root]# rpm -ql openssh-clients Size : 11973135 License: GPL /etc/ssh/ssh_config Packager : Red Hat, Inc. /usr/bin/slogin Summary :The Linux kernel (the core of the Linux). /usr/bin/ssh Description : /usr/bin/ssh-add The kernel package contains the Linux kernel (vmlinuz), the /usr/bin/ssh-agent core of your Red Hat Linux operating system. /usr/man/man1/slogin.1.gz The kernel handles the basic functions of the operating system: /usr/man/man1/ssh-add.1.gz memory allocation, process allocation, device /usr/man/man1/ssh-agent.1.gz /usr/man/man1/ssh.1.gz 15
- Creating binary packages from Các thư mục con được tạo source packages • 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 Một số cách khác • Cách 1: Sử dụng rpmbuild tools. • Install the RPM source package: • Cách 2: dùng option –rebuild trong rpm rpm –ivh package-version-patch.src.rpm rpm –rebuild package-version-patch.src.rpm • Start building: • Cách 3: Trong một số trường hợp gói rpm –ba package_name.spec 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 • Tarball file (*.tar) trong thư mục rồi thực hiện biên dịch: SOURCES sẽ được giải nén vào BUILD. • Biên dịch thành công, kết quả nằm ở thư tar tzvf package-version-patch.tar.gz | grep .spec mục RPMS rpm –bt package-version-patch.tar.gz 16
- Công cụ làm việc với RPM Debian package files •YaST (SUSE) •Bao gồm chương trình đã biên dịch + • Up2date (RedHat) metadata file. • Yum - Yellow Dog Updater Modified • Metadata file chứa: (Fedora and others) – Thông tin về gói phần mềm. • Mandrake Software Management – Các scripts cần thực hiện. (Mandriva) – 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 Debian package manager tools •Chương trình quản lý cơ bản nhất trong Debian system là dpkg. • Package – tên của phần mềm sau khi cài. •Một số phiên bản khác, chạy trên các hệ • Version – phiên bản chương trình phần mềm. thống như Debian được xây dựng từ nền • Build – phiên bản gói cài đặt. tảng dpkg: • Architecture – hệ thống máy tính mà phiên bản – dselect đã được biên dịch. – apt-get – alien Lệnh cơ bản với dpkg Một số ví dụ •Cài đặt phần mềm: 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