一, Linux 应用程序基础
1, 应用程序与系统命令的关系
文件位置
主要用途
使用环境
运行格式
2,Linxu 下软件包的类型
rpm
deb
源代码包
自带安装程序的软件包
免安装的软件包
二, 使用 RPM 包管理工具
1,RPM 包的命令格式
软件名称 - 版本号. 此版本号. 硬件平台. rpm
rpm 包与源代码包的区别:
a,rpm 包的功能没有源代码的强大
b,rpm 包安装管理要比源代码简单方便
c,rpm 包版本通常比源代码包的低
2,RPM 包的管理工具就是 ---rpm 命令
rpm 命令的功能:
a, 查询, 验证 rpm 包信息
b, 安装, 升级, 卸载 rpm 包
c, 维护 rpm 数据库信息
1) 查询
a, 查询已经安装的 rpm 包
格式: rpm -q[子选项] rpm 包名
子选项:
a: 所有
i: 详细信息
l: 列表
c: 配置文件
d: 文档信息
f: 查看指定的文件或目录来源于哪个 rpm 包 格式: rpm -qf 文件或目录
b, 查询未安装的 rpm 包
格式: rpm -qp[子选项] rpm 包完整名称
子选项:
i: 详细信息
l: 列表
c: 配置文件
d: 文档信息
查看是否安装有 lynx 包
#rpm -q lynx 或 #rpm -qa lynx 或 #rpm -qa |grep lynx
查看由 httpd 所产生的配置文件?
第一步确认该 rpm 是否安装
#rpm -q httpd
已安装:
#rpm -qc httpd
未安装:
1) 将镜像放入到虚拟机的光驱中
2) 进入 #cd /media/CentOS_6.5_Final/Packages/
3) 查看 #rpm -qpc httpd-2.2.15-29.el6.centos.x86_64.rpm
查看由 httpd 所产生的文档文件?
第一步确认该 rpm 是否安装
#rpm -q httpd
已安装:
#rpm -qd httpd
未安装:
1) 将镜像放入到虚拟机的光驱中
2) 进入 #cd /media/CentOS_6.5_Final/Packages/
3) 查看 #rpm -qpd httpd-2.2.15-29.el6.centos.x86_64.rpm
查看命令 useradd, 由那个 rpm 产生?
第一步: 查看该命令所对应的文件
- # which useradd
- /usr/sbin/useradd
第二部: 查看该文件由那个 rpm 包产生
- # rpm -qf /usr/sbin/useradd
- shadow-utils-4.1.4.2-13.el6.x86_64
- [root@CentOS6-node1 ~]# configure document from
- [root@CentOS6-node1 ~]# 查看 rpm 包 vsftpd 会产生哪些文件或目录?^C
- [root@CentOS6-node1 ~]# 查看 rpm 包 elinks 的详细信息?^C
- [root@CentOS6-node1 ~]# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/vg_centos6node1-lv_root 38776280 5818208 30988308 16% /
- tmpfs 506176 224 505952 1% /dev/shm
- /dev/sda1 495844 34897 435347 8% /boot
- /dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
- [root@CentOS6-node1 ~]# cd /media/CentOS_6.5_Final/
- [root@CentOS6-node1 CentOS_6.5_Final]# cd Packages/
- [root@CentOS6-node1 Packages]# rpm -qpl vsftpd-2.2.2-11.el6_4.1.x86_64.rpm ^C
- [root@CentOS6-node1 Packages]# rpm -qpi elinks-0.12-0.21.pre5.el6_3.x86_64.rpm ^C
2) 安装, 升级, 卸载 rpm 包
安装:
rpm -ivh rpm 包完整名称
rpm -U rpm 包完整的名称 (如已经安装则进行升级, 未安装则就安装)
升级:
rpm -U rpm 包完整的名称
rpm -F rpm 包完整的名称
卸载:
rpm -e rpm 包名
选项:
--force: 强制
--nodeps: 忽略依赖关系
-h: 以'#'显示安装的进度
-v: 显示详细信息
安装 rpm 包 vsftpd?
- [root@CentOS6-node1 ~]# rpm -q vsftpd
- package vsftpd is not installed
- [root@CentOS6-node1 ~]# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/vg_centos6node1-lv_root 38776280 5818236 30988280 16% /
- tmpfs 506176 224 505952 1% /dev/shm
- /dev/sda1 495844 34897 435347 8% /boot
- /dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
- [root@CentOS6-node1 ~]# cd /media/CentOS_6.5_Final/Packages/
- [root@CentOS6-node1 Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
- warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
- Preparing... ########################################### [100%]
- 1:vsftpd ########################################### [100%]
- [root@CentOS6-node1 Packages]# rpm -q vsftpd
- vsftpd-2.2.2-11.el6_4.1.x86_64
- [root@CentOS6-node1 Packages]#
卸载 rpm 包 lynx?
- [root@CentOS6-node1 ~]# rpm -q lynx
- lynx-2.8.6-27.el6.x86_64
- [root@CentOS6-node1 ~]# rpm -e lynx
- error: Failed dependencies:
- text-www-browser is needed by (installed) docbook-utils-0.6.14-25.el6.noarch
- [root@CentOS6-node1 ~]# rpm -e lynx --nodeps //--nodeps 卸载忽略依赖关系
- [root@CentOS6-node1 ~]# rpm -q lynx
- package lynx is not installed
- [root@CentOS6-node1 ~]#
3) 维护 rpm 数据库信息
重建 RPM 数据库
rpm --rebuilddb 或 rpm --initdb
导入验证公钥
rpm --import 公钥存放的文件
- [root@CentOS6-node1 ~]# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/vg_centos6node1-lv_root 38776280 5813696 30992820 16% /
- tmpfs 506176 224 505952 1% /dev/shm
- /dev/sda1 495844 34897 435347 8% /boot
- /dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
- [root@CentOS6-node1 ~]# cd /media/CentOS_6.5_Final/
- [root@CentOS6-node1 CentOS_6.5_Final]# ls
- CentOS_BuildTag images repodata RPM-GPG-KEY-CentOS-Testing-6
- EFI isolinux RPM-GPG-KEY-CentOS-6 TRANS.TBL
- EULA Packages RPM-GPG-KEY-CentOS-Debug-6
- GPL RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Security-6
- [root@CentOS6-node1 CentOS_6.5_Final]# rpm --import K
自动解决 rpm 包的依赖关系 --yum:
1, 将 centos 6.5 的光盘放入到虚拟机的光驱中, 自动挂载上
2, 确认自动挂载成功
- [root@localhost ~]# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/mapper/VolGroup-lv_root 18069936 4942316 12209708 29% /
- tmpfs 1019324 224 1019100 1% /dev/shm
- /dev/sda1 495844 39955 430289 9% /boot
- /dev/sr0 3762278 3762278 0 100% /media/CentOS_6.5_Final (有此行就 ok)
3, 修改 yum 的客户端配置文件
- #rm -rf /etc/yum.repos.d/*
- #vim /etc/yum.repos.d/rhel-source.repo
- [rhel-source]
- name=Red Hat Enterprise Linux
- baseurl='file:///media/CentOS_6.5_Final'
- enabled=1
- gpgcheck=0
4, 安装 rpm 软件包
#yum -y install 软件包名称
5, 卸载 rpm 软件包
#yum -y remove 软件包名称
三, 从源代码编译安装程序
前提: 系统必须安装有 gcc, 及 make 环境
- [root@CentOS6-node1 ~]# gcc --version
- gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright ? 2010 Free Software Foundation, Inc.
- [root@CentOS6-node1 ~]# make --version
- GNU Make 3.81
- Copyright (C) 2006 Free Software Foundation, Inc.
- This is free software; see the source for copying conditions.
- There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
- [root@CentOS6-node1 ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/^C
- [root@CentOS6-node1 ~]# ls /usr/src/
- debug kernels
- [root@CentOS6-node1 ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/// 解包
- [root@CentOS6-node1 ~]# ls /usr/src/
- debug httpd-2.2.17 kernels
- [root@CentOS6-node1 ~]# cd /usr/src/httpd-2.2.17/// 进入到 httpd 释放的目录中
- [root@CentOS6-node1 httpd-2.2.17]# ./configure --prefix=/usr/local/apache; make ; make install // 配置, 编译, 安装
- [root@CentOS6-node1 httpd-2.2.17]# /usr/local/apache/bin/apachectl start
- httpd: apr_sockaddr_info_get() failed for CentOS6-node1
- httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
- [root@CentOS6-node1 httpd-2.2.17]# netstat -anpt |grep :80 // 查看是否启动成功
- tcp 0 0 :::80 :::* LISTEN 45291/httpd
来源: http://www.bubuko.com/infodetail-2735911.html