linux应用程序基础及安装方式(RPM,YUM和源代码编译)!

Posted 龙少。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux应用程序基础及安装方式(RPM,YUM和源代码编译)!相关的知识,希望对你有一定的参考价值。

一.linux应用程序基础

1.应用程序和系统命令的关系

在这里插入图片描述

2.典型应用程序的目录结构

在这里插入图片描述

3.常用的软件包封装类型

在这里插入图片描述

二.linux系统安装程序软件的三种方式

1.rpm包管理工具

(1)rpm包管理工具

Red-Hat Package Manager的缩写
①由Red-Hat公司提出,被众多Linux发行版所采用
②建立统一的数据库文件
③详细记录软件包安装,卸载等变化信息
④自动分析软件包依赖关系
说明;如果存在依赖关系,必须先要安装依赖包才能再安装软件包

(2)rpm软件包安装

rpm -ivh +软件包的名字
1)软件包一般命名格式:bash-4.1.2-15.e16_4.x86_64.rpm
说明:bash是软件名,4.12是版本号,15是发布次数,4.x86_64是硬件平台,.rpm是扩展名

2)下载软件网址:
https://pkgs.org/
https://www.rpmfind.net/
http://www.rpm.org

3)wget+网址下载
下载:切换 cd /opt 输入wget+网址

4)相关命令:
查询一个软件包是否安装
rpm -q 软件名

[root@localhost ~]# rpm -q httpd
未安装软件包 httpd 
[root@localhost ~]# rpm -q openssh
openssh-7.4p1-16.el7.x86_64

查询所有已安装的软件包
rpm -qa

查询已安装的软件包openssh
rpm -qa | grep openssh
rpm -qa | grep “^open”

[root@localhost ~]# rpm -qa | grep openssh
openssh-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64

[root@localhost ~]# rpm -qa |grep  "^open"
openldap-2.4.44-20.el7.x86_64
openjpeg-libs-1.5.1-18.el7.x86_64
open-sans-fonts-1.10-1.el7.noarch
open-vm-tools-desktop-10.2.5-3.el7.x86_64
openssl-libs-1.0.2k-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
open-vm-tools-10.2.5-3.el7.x86_64
openssl-1.0.2k-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
opencc-0.4.3-3.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64

mount 挂载
将/dev/sro 挂载在/mnt 的文件里
mount /dev/sro /mnt

查看自带软件包packages里查询httpd
ls /mnt/packages/ | grep httpd

安装软件(无网络有安装包的情况下)
rpm -ivh +软件安装包名称

查看软件里的属性
rpm -qi+软件名称

查看配置文件
rpm -qc +软件包名称

查看软件httpd的主配置文件
/etc/httpd/conf/httpd.conf

查看所有文件
rpm -ql+软件包名称

查看软件httpd的日志文件
/var/log/httpd

查看软件包的配置帮助文档
rpm -qd+软件包名称

查看软件包由哪个安装包安装的
rpm -qf+路径名称

卸载软件
rpm -e +软件名称

忽略依赖关系强制卸载软件
rpm -e 软件包名称 --nodeps 慎用

启动软件
systemctl start +安装软件(httpd)

查看服务器端口是否启动
netstat -antp | grep httpd

查看80端口是否在启动、监听
netstat -antp | grep 80

查看是否开机自启
systemctl is-enable httpd

设置开启开机自启
systemctl enable+安装软件名称

关闭开机自启,开机不自启
systemctl disable+安装软件名称

vim+主配置文件

重启软件
systemctl restart+安装包软件

vim /etc/resol.conf 修改域名ip
vim /etc/hosts 修改网站网址

查看已安装文件的依赖关系,所需要的依赖包
rpm -qR+安装软件包

查看未安装的软件包的具体信息
rpm -qpi +未安装的具体软件包名称

升级;更新
rpm -U 或 -F
说明 -U:表示如果软件未安装,直接升级安装;如果已安装,就执行升级操作。
-F:表示如果软件未安装,直接放弃升级安装操作。

查看rpm数据库文件
cd /var/lib/rpm

rpm --rebuilddb 修复
rpm --initdb 修复

2.yum源

安装软件
yum install+安装软件名+ -y
-y连同依赖包一起安装

卸载软件
yum remove+安装软件名 -f
-f 连同依赖关系一起卸载
说明:当卸载主程序时,依赖包不会被卸载。当卸载依赖包,主程序也将会被卸载。

查看yum已安装的所有软件列表
yum list

查看当前在使用的软件源
yum repolist

查看所有软件源(包含禁用的)
yum repolist all

查看已安装的软件包(可用于查看软件是否已安装)
yum list installed httpd

查看命令由哪个软件包安装
yum provides+命令
yum wahtprovides+命令路径

[root@localhost ~]# yum provides rz
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
extras/7/x86_64/filelists_db                                                                                                                                                              | 231 kB  00:00:00     
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :base
匹配来源:
文件名    :/usr/bin/rz

lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :@anaconda
匹配来源:
文件名    :/usr/bin/rz


[root@localhost ~]# yum whatprovides /usr/bin/rz
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :base
匹配来源:
文件名    :/usr/bin/rz

lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源    :@anaconda
匹配来源:
文件名    :/usr/bin/rz

想要下载但还没有下载(搜索软件包)
yum search + 软件名称

查看当前系统当中有哪些软件包可供更新
yum list updates

更新升级所有(只升级软件)
yum upgrade

更新升级所有(连内核一并更新)
yum undate

更新软件wget
yum undate wget

只下载到/data/packages不安装
yum install +软件包名称 --downloadonly --downloaddir=/data/packages

进入日志文件查看
cd /var/log/
tail yum.log

[root@localhost ~]# cd /var/log
[root@localhost log]# tail yum.log
Apr 29 17:34:49 Installed: tree-1.6.0-10.el7.x86_64


[root@localhost ~]# tail /var/log/yum.log
Apr 29 17:34:49 Installed: tree-1.6.0-10.el7.x86_64

yum配置文件位置
/etc/yum.repos.d/

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo

yum主配置文件
/etc/yum.conf

3.源码安装(Tarball)

(1)源代码编译概述

① 源代码安装软件的优点

获得最新软件版本,及时修复bug

可以根据用户需求进行灵活定制

② 应用场景举例

安装较新版本的应用程序时

当前安装的程序无法满足需求时

需要为应用程序添加新的功能时

③ Tarball封包

.tar.gz和.tar.bz2 格式居多

④ 确认源代码编译环境

需要安装支持C/C++程序语言的编译器,如:gcc,gcc-c++,make…

(2)源代码编译安装的过程

下载源代码安装包文件

① 步骤1:tar解包

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

② 步骤2:.lconfigure配置

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

③ 步骤3: make编译

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

④ 步骤4: make install安装

用途:复制二进制文件到系统,配置应用环境
测试及应用、维护软件

以上是关于linux应用程序基础及安装方式(RPM,YUM和源代码编译)!的主要内容,如果未能解决你的问题,请参考以下文章

Linux 程序包管理及sed基础

Lniux 安装及管理程序

Linux学习日记之yum源的搭建及共享

Linux查看Yum的安装目录及包目录

linux下yum安装及配置

Linux系统中程序的安装及管理创建私有yum仓库实验