Linux--安装及管理程序--理论和命令配置

Linux–安装及管理程序–理论和命令配置


前言:
了解Linux应用程序基础,学习如何查询RPM软件包信息了解安装、升级、卸载、 RPM软件包 ,如何与运用yum仓库,学习源代码编译安装

一:Linux应用程序基础

1.1:应用程序与系统命令的关

方面 系统命令 应用程序
文件位置 一般在/bin和/bin目录中,或为Shell内部指令 通常在/usr/和/usr/local目录中
主要用途 完成对系统的基本管理工作,例如IP配置工具(ifconfig) 完成相对独立的其他辅助任务,例如网页浏览器
适用环境 一般只在字符操作界面中运行 根据实际需要,有些程序可以在图形界面中运行
运行格式 一般包括命令字、命令选项和命令参数 通常没有固定的执行格式
关系 是独立的

1.2:典型应用程序的目录结构

文件类型 保存目录
普通执行程序文件 /usr/bin(管理员和其他用户都可以使用)
服务器执行程序文件和管理程序文件 /usr/sbin(仅管理员使用)
应用程序配置文件 /etc(应用程序配置文件默认路径)
日志文件 /var/log(可变长文件存放位置)
应用程序文档文件 /usr/share/doc(一般都是一些说明文档在此)
应用程序手册页文件 /usr/share/man(man手册可以查看命令帮助信息和程序帮助信息)

都是默认安装路径

1.3:常见的软件包封装类型

文件类型 保存目录
rpm软件包 一键安装,扩展名为“.rpm”只能在使用RPM(RPM Package Manager,RPM软件包管理器)机制的Linux操作系统中安装,如RHEL,Fedora,CentOS等。
deb软件 扩展名为“.deb”只能在使用DPKG(Debian Package,Debian包管理器)机制的Linux操作系统中进行安装,如Debian,Ubuntu等。
源代码软件包 一般为“.tar.gz”,“.tar.bz2”等格式的压缩包,这种软件包是程序员开发完成的原始代码,因多数使用tar命令打包而成,所以经常被称为“TarBall”。安装源码软件包需要使用相应的编译工具,如Linux中的C语言编译器gcc。
绿色免安装的软件包 在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件即可直接使用。免安装,硬盘版,直接用

RPM软件包:

扩展名为“.rpm”。只能在使用rpm机制的linux操作系统中安装。其一般针对特定的版本的系统量身定做,依赖性比较强。需要用rpm命令来安装。

rpm:自动安装包,把安装过程的各种操作编译封装到里面,适合新手使用

deb:在乌班图(ubuntu,是界面)系统中使用,不在centos中使用

题外话:1.LINUX家族,下面Redhat,红帽 三个认证(开源但是不是免费,基础服务免费)

2.因为红帽的这个原因,有人不爽,就由此产生了社区(系统开发者,都是大佬),他们设计了centos

服务器中用centos的多,政府不差钱,用的红帽的多

有一个面向客户端的linux系统的是ubuntu系统(最好用),开源,纯免费,特别适用于软件开发人群

全球中最好用,中国用不了,因为长城防火墙挡住了

3.debian,是linux的早期版本系统,是乌版图的前身,服务端和客户端都具备功能后来衍生出了乌版图和kaili

4.kaili是黑客专用的渗透工具,包括攻防攻击

kaili占用资源很少,通常是安装在树莓派中

5.suse是德国的linux系统,被ISP运营商所使用(电信,移动,联通) 定制版

源代码软件包:原始代码,是人能看得懂的

jazz——————class,class看不懂,是机器能识别的

绿色免安装的软件包:解压后可以直接使用

RPM Package Manager
●由Red Hat公司提出,被众多Linux发行版所采用
●建立统一的数据库文件
●详细记录软件包安装、卸载等变化信息
●自动分析软件包依赖关系
■RPM软件包
●软件素材参考: htp://ww.rpm.org

RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名 - 软件版本 - 发布次数.操作系统类型.硬件架构类型.rpm”的文件名形式。例如:

mark

二:查询RPM软件包信息

2.1:查询已安装的RPM软件信息

使用rpm命令的查询功能可以检查某个软件包是否已经安装,了解软件包的用途,软件包复制到系统中的文件等各种相关信息,以便更好地管理Linux系统中的应用程序。

使用命令的基本格式 rpm -q[子选项] [软件名] 常用选项有以下几种 -qa -qi -ql -qf -qc -qd
命令 解释
rpm -qa 查看系统中以RPM方式安装的所有软件列表
rpm -qi 软件包的详细信息(查看指定软件包的名称,版本,许可协议,用途等描述信息)
rpm -ql 软件包当中的所有文件,显示指定的软件包在当前系统中安装的所有目录,文件列表
rpm -qf 根据指定文件或目录查看是属于哪个软件包安装的
rpm -qc 查看软件包所有配置文件。如conf cnf ini 都是配置文件
rpm -qd 查看软件包的文档

列如:

-q 查看基本信息,即是否安装
[root@localhost ~]# rpm -q bash     ##查看bash安装
bash-4.2.46-31.el7.x86_64
[root@localhost opt]# rpm -qa |grep bash
bash-4.2.46-28.el7.x86_64
bash-completion-2.1-6.el7.noarch
-qa 查看系统已安装的所有软件包
grep 过滤筛选
[root@localhost ~]# rpm -qa		#查询当前系统已安装的所有软件包,显示过多,这里就不展示
[root@localhost ~]# rpm -qa | grep "mdadm"	#后面加| grep筛选出想要查询的信息
mdadm-4.0-5.el7.x86_64

-qi 查看已安装的软件包的详细信息,-q已安装,-i(information),组合起来用

[root@localhost ~]# rpm -qi mdadm   ##查看mdadm的详细信息
Name        : mdadm
Version     : 4.1
Release     : rc1_2.el7
Architecture: x86_64
Install Date: 2020年06月09日 星期二 23时52分19秒
Group       : System Environment/Base
Size        : 1055302
License     : GPLv2+
Signature   : RSA/SHA256, 2018年11月12日 星期一 22时39分41秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : mdadm-4.1-rc1_2.el7.src.rpm
Build Date  : 2018年10月31日 星期三 06时22分23秒
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.kernel.org/pub/linux/utils/raid/mdadm/
Summary     : The mdadm program controls Linux md devices (software RAID arrays)
Description :
The mdadm program is used to create, manage, and monitor Linux MD (software
RAID) devices.  As such, it provides similar functionality to the raidtools
package.  However, mdadm is a single program, and it can perform
almost all functions without a configuration file, though a configuration
file can be used to help with some common tasks.

查询postfix文件列表

[root@localhost opt]# rpm -ql postfix  信息有点多这边就不详细记录了

2.2 查询未安装的RPM软件包文件中信息
rpm -qp 【子选项】RPM包文件

常用选项

-qpi 查看未安装的软件包的详细信息

-qpl 查看未安装软件包的所有文件

-qpc 查看未安装软件包的所有配置文件 (配置文件后缀 conf,cnf,ini;前两个看得多,PHP的文件是inin)

-qpd 查看未安装软件包的文档
小结:未安装的命令选项就是在已安装的命令选项上多一个p,没有-a,-f子选项

2.2:安装,升级软件包

使用rpm命令安装软件包时,需要指定完整的包文件名作为参数(可以有多个)

而卸载软件包时,只需要指定软件名称即可。

若要一次性安装多个RPM软件包,可以使用通配符“*”,这种方式在安装存在相互依赖关系的多个软件包时特别有用,系统会自动检查依赖性并决定安装顺序,而无需管理员去判断应该先装哪一个包。

在安装一个新的软件包时,通常使用“-ivh”的组合选项,这样便于了解软件安装的过程信息,及时跟踪安装进度。

命令格式
rpm  [选项] rpm包文件 常用选项 -i -u -f

卸载指定

rpm -e 

2.3:维护RPM数据库

用于记录在Linux系统中安装,卸载,升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预。当RPM数据库发生损坏(误删文件,非法关机,病毒破坏等导致),且Linux系统无法自动完成修复时,当导致无法使用rpm命令正常的安装,卸载及查询软件包。

这时候可以使用rpm命令的“–rebuilddb”或“–initdb”功能对RPM数据库进行重建。

例如
[root@localhost~]#rpm --rebuilddb
或者
[root@localhost~]#rpm --initdb

db的意思是数据库(database)
init的意思是初始化

2.4挂载文件

[root@localhost ~]#  mount /dev/cdrom /mnt 
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt 忙
       /dev/sr0 已经挂载到 /mnt 上

查看挂载

[root@localhost ~]# df -Th
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda3      xfs        50G  4.2G   46G    9% /
devtmpfs       devtmpfs   11G     0   11G    0% /dev
tmpfs          tmpfs      11G     0   11G    0% /dev/shm
tmpfs          tmpfs      11G   21M   11G    1% /run
tmpfs          tmpfs      11G     0   11G    0% /sys/fs/cgroup
/dev/sda1      xfs      1014M  174M  841M   18% /boot
/dev/sda5      xfs       239G  110M  239G    1% /home
tmpfs          tmpfs     2.1G  4.0K  2.1G    1% /run/user/42
tmpfs          tmpfs     2.1G   56K  2.1G    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /mnt
解除挂载
[root@localhost ~]# umount /etc/sss
umount: /etc/sss: mountpoint not found
[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  4.2G   46G    9% /
devtmpfs         11G     0   11G    0% /dev
tmpfs            11G     0   11G    0% /dev/shm
tmpfs            11G   21M   11G    1% /run
tmpfs            11G     0   11G    0% /sys/fs/cgroup
/dev/sda1      1014M  174M  841M   18% /boot
/dev/sda5       239G  110M  239G    1% /home
tmpfs           2.1G  4.0K  2.1G    1% /run/user/42
tmpfs           2.1G   56K  2.1G    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /mnt

三:Yum概述与常用命令

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

安装软件(以foo-x.x.x.rpm为例)
yum install foo-x.x.x.rpm

删除软件
yum remove foo-x.x.x.rpm
或者
yum erase foo-x.x.x.rpm

升级软件
yum upgrade foo
或者
yum update foo

查询信息
yum info foo

搜索软件(以包含foo字段为例)
yum search foo

显示软件包依赖关系
yum deplist foo

清空yum仓库缓存
yum clean all

例如

yum安装
[root@localhost ~]# yum -y install gcc gcc-c++ make
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
centos                                                                  | 3.6 kB  00:00:00     
软件包 gcc-4.8.5-36.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-36.el7.x86_64 已安装并且是最新版本
软件包 1:make-3.82-23.el7.x86_64 已安装并且是最新版本
无须任何处理

四:源代码编译安装

4.1:源代码编译安装概述

Linux操作系统之所以能够在十余年的时间里发展壮大以至于风靡全球,其开放源代码的特性是很重要的原因之一,及Linux操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。

虽然现代的Linux发行版本大部分采用包管理机制对软件进行打包安装,可以省去软件的编译安装过程,但是还有些情况需要使用源代码编译的方式为系统安装新的应用程序
5.2:编译安装过程

下载源代码安装包文件

步骤1.tar解包

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

步骤2:./configgure配置

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

步骤3:make编译

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

步骤4:make install 安装

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

测试及应用.维护软件

#####安装GCC   make#########一般Linux装系统就装好了
gcc            make   
#####下面为HTTP的依赖关系包#####共7个包
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm 
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm 
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-13.el7.x86_64.rpm 
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm 


上传http-2.4.25.tar.gz软件包到/opt目录下

打开Xmanager Enterprise 5

mark

mark

mark

mark

mark

切换到 /opt目录下

[root@localhost ~]# cd /opt

解压压缩包

[root@localhost opt]# tar xzvf httpd-2.4.25.tar.gz -C /opt   

进入httpd-2.4.25目录

[root@localhost opt]# cd httpd-2.4.25/ 

./configure配置 这里添加了安装的路径

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache  

[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install 

进入/usr/local/apache/bin/目录

[root@localhost httpd-2.4.25]# cd /usr/local/apache/bin/ 

[root@localhost bin]# ll

opt   

进入httpd-2.4.25目录

[root@localhost opt]# cd httpd-2.4.25/ 

./configure配置 这里添加了安装的路径

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache  

[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install 

进入/usr/local/apache/bin/目录

[root@localhost httpd-2.4.25]# cd /usr/local/apache/bin/ 

[root@localhost bin]# ll

mark

猜你喜欢

转载自blog.csdn.net/weixin_47151643/article/details/106710858