安装及管理程序

安装及管理程序

1.Linux应用程序基础
1.1Linux命令与应用程序的关系
v应用程序与系统命令的关系
     ■ 文件位置
      ●  系统命令:一般在/bin和/sbin目录中,或为Shell内部指令
      ●  应用程序:通常在/usr/bin和/usr/sbin目录中
     ■ 主要用途
      ●  系统命令:完成对系统的基本管理工作,例如IP配置工具
      ●  应用程序:完成相对独立的其他辅助任务,例如网页浏览器
     ■ 适用环境
      ●  系统命令:一般只在字符操作界面中运行
      ●  应用程序:根据实际需要,有些程序可在图形界面中运行
     ■ 运行格式
      ●  系统命令:一般包括命令字、命令选项和命令参数
      ●  应用程序:通常没有固定的执行格式
 
1.2Linux应用程序的组成
v典型应用程序的目录结构
 
1.3软件包的封装类型
 
2. 使用RPM包管理工具
2.1 RPM概述
vRPM Package Manager
     ■ 由Red Hat公司提出,被众多Linux发行版所采用
     ■ 建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系
vRPM软件包
     ■ 软件素材参考:http://rpmfind.net
     ■ 一般命名格式:
 
2.2使用RPM包管理命令——rpm
v主要功能
     ■ 1. 查询RPM软件、包文件的相关信息
     ■ 2. 安装、升级、卸载RPM软件包
     ■ 3. 维护RPM数据库信息
v查询已安装的RPM软件信息
     ■ 格式:rpm  -q[子选项]  [软件名]
     ■ 用法:结合不同的子选项 完成不同查询
      ●  -qa:查看系统中已安装的所有RPM软件包列表
      ●  -qi:查看指定软件的详细信息
      ●  -ql:查询指定软件包所安装的目录、文件列表
      ●  -qc:仅显示指定软件包安装的配置文件
      ●  -qd:仅显示指定软件包安装的文档文件
v查询文件或目录属于哪个RPM软件
     ■ 格式:rpm  -qf  文件或目录名
[root@sky ~]# rpm -q bash     <==查询是否已安装有bash软件包
bash-4.1.2-14.el6.x86_64
[root@sky ~]# rpm -qa | grep bash
bash-4.1.2-14.el6.x86_64
 
[root@sky ~]# rpm -qf /usr/bin/vim   <==查询vim是由哪个软件包安装的
vim-enhanced-7.0.109-3
 
[root@sky ~]# rpm -ql dhcp    <==查询dhcp软件包安装的文件列表
/etc/dhcpd.conf
/etc/rc.d/init.d/dhcpd
 
v查询未安装的RPM包文件
     ■ 格式:rpm  -qp[子选项]  RPM包文件
     ■ 用法:结合不同的子选项 完成不同查询
      ●  -qpi:通过.rpm包文件查看该软件的详细信息
      ●  -qpl:查看.rpm安装包内所包含的目录、文件列表
      ●  -qpc:查看.rpm安装包内包含的配置文件列表
      ●  -qpd:查看.rpm安装包内包含的文档文件列表
[root@localhost Server]# rpm -qpi ethtool-6-4.el5.i386.rpm
warning: ethtool-6-4.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Name        : ethtool                      Relocations: (not relocatable)
Version     : 6                                 Vendor: Red Hat, Inc.
Release     : 4.el5                         Build Date: 2009年12月22日 星期二 02时55分30秒
……
 
[root@localhost Server]# rpm -qpl ethtool-6-4.el5.i386.rpm
/sbin/ethtool
/usr/sbin/ethtool
/usr/share/doc/ethtool-6
/usr/share/doc/ethtool-6/AUTHORS
……
 
v安装或升级RPM软件
     ■ 格式:rpm  [选项]  RPM包文件...
     ■ 用法:不同选项适用于不同情况
      ●  -i:安装一个新的rpm软件包
      ●  -U:升级某个rpm软件,若原本未装,则进行安装
      ●  -F:更新某个rpm软件,若原本未装,则放弃安装
v卸载指定的RPM软件
     ■ 格式:rpm  -e  软件名
v辅助选项
     ■ --force:强制安装所指定的rpm软件包
     ■ --nodeps:安装、升级或卸载软件时,忽略依赖关系
     ■ -h:以“#”号显示安装的进度
     ■ -v:显示安装过程中的详细信息 
[root@sky ~]#rpm -ivh /media/cdrom/Server/lynx-2.8.5-28.1.el5_2.1.i386.rpm       <==安装lynx软件包同时显示安装进度
warning: /media/cdrom/Server/lynx-2.8.5-28.1.el5_2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:lynx                   ########################################### [100%]
 
[root@sky ~]# rpm -q lynx
lynx-2.8.5-28.1
[root@sky ~]# rpm -e lynx     <==卸载lynx软件包
[root@sky ~]# rpm -q lynx
package lynx is not installed
 
v重建RPM数据库
[root@sky ~]# rpm --rebuilddb
 
[root@sky ~]# rpm --initdb
 
#导入验证公钥
[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release
 
v安装有依赖关系的多个软件时
     ■ 被依赖的软件包需要先安装
     ■ 同时指定多个.rpm包文件进行安装
v卸载有依赖关系的多个软件时
     ■ 依赖其他程序的软件包需要先卸载
     ■ 同时指定多个软件名进行卸载
v忽略依赖关系
     ■ 结合“--nodeps”选项,但可能导致软件异常
 
3. 冲源代码编译安装程序
3.1源代码编译概述
v使用源代码安装软件的优点
     ■ 获得最新的软件版本,及时修复bug
     ■ 根据用户需要,灵活定制软件功能
v应用场合举例
     ■ 安装较新版本的应用程序时
      ●  自由软件的最新版本大都以源码的形式最先发布
     ■ 当前安装的程序无法满足需要时 
      ●  编译安装可由用户自行修改、定制功能
     ■ 需要为应用程序添加新的功能时
      ●  用户可以重新配置、自由修改源代码,加入新的功能
vTarball 封包:
     ■ .tar.gz 和 .tar.bz2 格式居多
     ■ 软件素材参考:http://sourceforge.net
v完整性校验
     ■ md5sum校验工具
      ●  计算MD5校验和,并与官方提供的值相比较,判断是否一致
[root@sky ~]# md5sum axel-1.0a.tar.gz 
2d94c0b36b374834567f1fcec5f89119   axel-1.0a.tar.gz      <==MD5校验和
 
v确认源代码编译环境
     ■ 需安装支持 C/C++程序语言的 编译器
      ●  gcc-4.1.1-52.el5、gcc-c++-4.1.1-52.el5
      ●  make-3.81-1.1.i386 ……
[root@localhost ~]# gcc --version
gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
Copyright (C) 2006 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@localhost ~]# g++ --version
g++ (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
……
 
3.2 编译安装的基本过程
v1. 解包
     ■ 习惯上将软件包释放到 /usr/src/目录
     ■ 解包后的源代码文件位置:
      ●  /usr/src/软件名-版本号/
[root@sky ~]# tar zxf zhcon-0.2.5.tar.gz -C /usr/src/   <==“-C”解压源代码包,并指定释放目录
[root@sky ~]# gzip -d zhcon-0.2.5-to-0.2.6.diff.gz
[root@sky ~]# cp zhcon-0.2.5-to-0.2.6.diff /usr/src/
[root@sky ~]# ls /usr/src/
kernels  redhat  zhcon-0.2.5  zhcon-0.2.5-to-0.2.6.diff
 
v2. 配置
     ■ 使用源码目录中的 configure 脚本
     ■ 执行“./configure --help” 可以查看帮助
     ■ 典型的配置选项:
      ●  --prefix=软件安装目录
[root@localhost ~]# cd /usr/src/zhcon-0.2.5/    <==切换到源代码所在目录
[root@localhost zhcon-0.2.5]# patch -p1 < /usr/src/zhcon-0.2.5-to-0.2.6.diff      <==通过patch命令对源代码包打补丁
patching file ChangeLog
……
[root@localhost zhcon-0.2.5]# ./configure --prefix=/usr/local/zhcon    <==若不指定任何配置选项,将采用默认值
checking for a BSD-compatible install... /usr/bin/install –c
……
 
v3. 编译
     ■ 执行 make 命令
v4. 安装
     ■ 执行 make install 命令
[root@sky zhcon-0.2.5]# make
[root@sky zhcon-0.2.5]# make install
 
v验证已编译安装完成的程序
     ■ 查看安装后的软件目录、了解软件程序的使用方法
[root@sky ~]# ls /usr/local/zhcon/
bin  etc  lib  man
[root@sky ~]# /usr/local/zhcon/bin/zhcon --help
zhcon
A Fast CJK Console Environment
Usage: zhcon [OPTIONS]... [FILES]...
 -h, --help        Print help and exit
 -V, --version     Print version and exit
     --utf8        use iconv filter to convert UTF-8 stream from/to system
                   encoding  (default=off)
……
#zhcon中文虚拟控制台提供了全拼、五笔、双拼等中文输入环境,但需要先执行“kbd_mode -a”命令设置使用ASCII键盘模式,以便能够正常使用输入法切换热键
#使用快捷键Ctrl+Space可打开/关闭中文输入法,使用快捷键Ctrl+D可以退出zhcon控制台;Ctrl+Shift可在不同的输入法之间进行切换,也可以使用快捷键Ctrl+Alt+1、Ctrl+Alt+2直接切换至全拼、五笔输入法。
 





posted @ 2015-05-26 19:28  Hello-Sky  阅读(173)  评论(0编辑  收藏  举报