博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一、Linux应用程序基础 1、应用程序与系统命令的关系 文件位置 主要用途...
阅读量:6551 次
发布时间:2019-06-24

本文共 6357 字,大约阅读时间需要 21 分钟。

一、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
PARTICULAR PURPOSE.

This program built for x86_64-redhat-linux-gnu

1、解包
用途:解压并释放源代码包到指定目录中

2、配置

用途:设置安装目录、安装模块等选项

3、make编译

用途:生成可执行的二进制文件

4、安装make isntall

用途:复制二进制文件到系统,配置应用环境

通过源代码方式安装 httpd-2.2.17.tar.gz 软件确保web服务正常运行。

[root@CentOS6-node1 ~]# ls
anaconda-ks.cfg firefox-3.0.10.tar.gz install.log.syslog vmware-tools-distrib 视频 下载
a.txt httpd-2.2.17.tar.gz pass 公共的 图片 音乐
b.txt install.log RealPlayer11GOLD.rpm 模板 文档 桌面
[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

验证:

在xshell中输入firefox打开浏览器;然后再地址栏中输入127.0.0.1;可以看看It works,则说明安装ok。

转载于:https://blog.51cto.com/13929859/2162167

你可能感兴趣的文章
在自己的应用中启动另外一个应用,随便说一下,发现一个秘密,就是当应用没退出的时候,启动就会变成关闭!!!...
查看>>
NetAdvantage 笔记
查看>>
Apache Maven 入门
查看>>
[转] B树、B-树、B+树、B*树 知识详解
查看>>
int.NSInteger.NSUInteger.NSNumber的区别
查看>>
使用JS与CSS3的翻转实现3D翻牌效果
查看>>
上海期货交易所CTP行情和交易接入
查看>>
Django models 操作高级补充
查看>>
springClould 的一些组件
查看>>
验证码
查看>>
Spring扩展:Spring框架的由来
查看>>
[2017BUAA软工助教]博客格式的详细说明
查看>>
PHP面向过程和面向对象
查看>>
使用Visual Studio2012调试Redis源码
查看>>
jQuery中slideToggle()的详细使用方法和解释
查看>>
微信支付开发(4) 交易通知
查看>>
为什么我的淘宝店铺动态评分清零了?
查看>>
Python web前端 06 运算符 循环
查看>>
关于SQL 导出脚本失败 及SQL 的重装
查看>>
VFP数据库主要命令的使用总结
查看>>