目录
一、源码包:
1.源码包安装优点:
2.源码包安装缺点:
3.源码包安装步骤:
二、RPM安装:
1.RPM包优点:
2.RPM包缺点:
3.RPM包命名规则:
4.RPM安装命令:
5.卸载命令:
6.升级命令:
7.查询已安装的软件信息:
8.查询包是否安装
9.查询未安装的RPM包文件:
10.查询文件或者目录属于哪个RPM软件
11.提取软件包文件修复
12.RPM包安装过程:
三、YUM安装及yum配置文件说明:
四、yum管理命令
1)yum安装:
2)yum卸载
3)yum升级
4)yum软件包查询
字符界面安装图形化:
多个服务器之间共享数据包:
在Linux中软件包类型也是多种多样的,大体上我们主要使用的软件包类型可以分为两种
Linux中两种软件安装包:
一、源码包:
软件的源代码是软件的原始数据,但是源代码不能在计算机中直接运行安装。需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装。源码包安装的方式可以在安装过程中根据自己的需求定制自己所需要的功能。
Linux上大部分软件也是开源软件。
例如:apache、tomcat、PHP、MySQL等。开源软件大多都提供源码下载、源码安装等方式。
1.源码包安装优点:
1)开放源代码,可以自行修改源代码。
2)可以自由选择安装所需功能。
3)软件是编译安装,更加稳定高效。
4)卸载方便,直接删除安装目录即可。
2.源码包安装缺点:
1.安装过程中过程较为复杂。
2.编译过程时间较长(与RPM包相比)。
3.源码包安装步骤:
1.官方网站下载源码包。
2.解压并进入源码包目录。
3.解压后进入解压生成的文件夹。
4.通常会有名为REDAME的文件。
此文件记录了:这个软件所能完成的功能,授权许可,安装需求,安装注意事项,安装方式等。
目录中会有一个名为configure的文件。
5.执行./configure,就会开始检测当前系统是否拥有安装软件所需的所有文件和工具。
(执行./configure --prefix(指定位置)=/usr/local/nginx)
6.检测成功后会生成makefile文件。
而有些软件没有提供configure脚本,直接提供了makefile文件,可以直接执行make编译步骤。
7.make:一般在输入make命令时,make命令默认会查找当前目录下的Makefile文件。
如果用其他文件作为Makefile文件那么需要在make之后加-f子选项来指定Makefile文件。
由于需要相应的编译软件才能将源代码转换为机器识别的语言,所以在执行configure的时候如果没有编译工具就会有error报错。
8.make install:进行安装。
7.8也可 make && make install
注意:安装后开启服务才可生效 netstat -atnp (查看端口)
/usr/local/nginx/sbin/nginx
源码包安装示例(nginx1.9.9):
从网络上下载Nginx软件作为演示,Nginx是当前最流行的web服务之一。
【】# yum -y install gcc* 或gcc gcc-c++ #安装gcc* gcc所有安装
【】# yum -y install pcre-devel #作为依赖安装。
【】# yum -y install openssl-devel #作为依赖安装。
【】# wget http://nginx.org/download/nginx-1.9.9.tar.gz #下载nginx
【】# tar -xvf nginx-1.9.9.tar.gz #解压缩。
【】# cd nginx-1.9.9/
【】# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
#查看解压缩后的目录信息,有configure可以执行./configure。
【】]# ./configure --prefix=/usr/local/nginx/
#运行configure并指定安装位置。[
【】# make && make install (编译并执行make install)
【】# /usr/local/nginx/sbin/nginx
#启动nginx,进行网页访问测试。
#在使用yum命令安装过程中,有些情况下会出现/var/run/yum.pid锁定的情况。有两种方法可以解决这个问题。第一:kill “已锁定PID” 第二:rm -rf /var/run/yum.pid
二、RPM安装:
RedHat Package Manager的缩写,是红帽软件包工具。RPM的提供可升级,具有强大查询功能,支持安全验证的通用型Linux软件包管理工具。由于这种软件管理方式非常方便,所以逐渐被其他Linux发行版所借用。现在已经称为Linux平台下通用的软件包管理方式。
1.RPM包优点:
1)安装简单方便。
2)安装时不用指定安装位置。
3)方便升级、卸载。
2.RPM包缺点:
※大多数RPM安装需要解决依赖关系。
3.RPM包命名规则:
httpd-2.2.15-53.el6.centos.x86_64.rpm
httpd 软件包名
2.2.15 软件版本
53 软件发布次数
el6.centos 适合的Linux平台
x86_64 适合的硬件平台
rpm rpm包扩展名
4.RPM安装命令:
格式:rpm -ivh 软件包名(全名)
-i install的意思,就是安装软件。也可以使用--install
-v 显示安装过程中的详细信息。
-h 以#号显示安装的进度。
5.卸载命令:
格式:rpm -e 软件名(不用指定包全名)
6.升级命令:
格式:rpm -Uvh 软件包全名
-U 升级安装,若没安装则直接安装,若安装有旧版本,则升级安装。
-F 升级安装,若没安装,则不安装,必须有旧版本才进行升级安装。
7.查询已安装的软件信息:
格式:rpm -q 包名
8.查询包是否安装
rpm -qa 查看系统中已安装的所有RPM软件包列表
rpm -qi 包名 查看指定软件所安装的信息。
rpm -ql 包名 查看指定软件所安装目录,文件列表
rpm -qR 包名 查询指定软件的依赖文件
rpm -qc 包名 查询指定软件的配置文件
9.查询未安装的RPM包文件:
格式: rpm -qpl 包全名 #查询指定未安装软件所安装的目录、文件列表
rpm -qpR 包全名 #查询指定未安装软件的依赖文件
10.查询文件或者目录属于哪个RPM软件
格式:rpm -qf 文件或目录名
11.提取软件包文件修复
rpm2cpio命令可以提取指定RPM包中的文件,实现文件恢复。
格式:rpm2cpio rpm包所在绝对路径全名 | cpio -idv ./命令绝对路径。
#此操作最好在/目录下执行,因为恢复出来的文件是绝对路径,在/目录下可以直接指定路径到默认所在目录。
假设不小心把系统下/usr/bin/ls命令删除了,使用时报错,需要恢复。
恢复步骤:
先确定ls命令属于哪个软件包
which ls(确定路径)得到/usr/bin/ls/
rpm -qf(查询文件或目录属于那个rpm包) /usr/bin/ls/
得到:mnt/Packages/coreutils-8.22-23.el7.x86_64.rpm
提取RPM包中ls命令,并恢复到指定目录下。
rpm2cpio /mnt/Packages/coreutils-8.22-23.el7.x86_64.rpm | cpio -idv ./usr/bin/ls
12.RPM包安装过程:
1)安装RPM包tree命令:
【】# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
卸载:
【】# rpm -e tree #卸载时不用指定包全名。
2)安装gcc:
【】#rpm -ivh gcc-4.8.5-36.el7.x86_64.rpm
【】#rpm -ivh cpp-4.8.5-36.el7.x86_64.rpm
【】#rpm -ivh glibc-devel-2.17-260.el7.x86_64.rpm
【】#rpm -ivh glibc-headers-2.17-260.el7.x86_64.rpm
【】#rpm -ivh kernel-headers-3.10.0-957.el7.x86_64.rpm
【】#rpm -ivh glibc-headers-2.17-260.el7.x86_64.rpm
【】#rpm -ivh glibc-devel-2.17-260.el7.x86_64.rpm
【】#rpm -ivh gcc-4.8.5-36.el7.x86_64.rpm
#安装GCC过程中因为有软件包依赖关系,所以安装过程显得特别困难。
三、YUM安装及yum配置文件说明:
因为在RPM安装过程中经常要解决依赖关系,而有些依赖关系并不会有准确的依赖安装包提示信息。
YUM是yellow dog update modified的简写。YUM是一个RPM包管理工具,可以很好的解决RPM包安装过程中会遇到的依赖关系问题。YUM可以从多个源当中搜索软件以及软件安装所依赖的安装包,并自动安装相应的依赖软件。使用YUM安装软件时至少需要一个YUM源,可以把YUM源理解为一个存放一些RPM包的文件夹。用户可以使用ftp、http等方式访问YUM源。
设置YUM源:
Centos7当中YUM源的配置文件存在于/etc/yum.repos.d/目录下,用户可以自定义yum配置文件名称,但是后缀必须是以.repo结尾。
【】# cat /etc/yum.repos.d/CentOS-Base.repo
[base] #YUM源唯一ID号,可任意填写。
name=CentOS-$releasever - Base #YUM源描述,可任意填写。
mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=os&infra=$infra #指定镜像站点目录。
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#指定YUM源URL(统一资源定位)地址,FTP或HTTP地址。
gpgcheck=1 #是否开启gpg验证,0关闭,1开启。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #检查软件包gpg验证信息位置。
[root@localhost Packages]# cat /etc/yum.repos.d/CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
# file:///media/cdrom/
# file:///media/cdrecorder/
gpgcheck=1
enabled=1 #是否启用该YUM源,0不启用,1启用。gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
注意:用本地源安装时需要禁用网络源,需把网络配置文件改名
四、yum管理命令
1)yum安装:
yum install 软件名
yum groupinstall 软件组名
2)yum卸载
yum remove 软件名
yum groupremove 软件组名
3)yum升级
yum update
yum groupdate
4)yum软件包查询
yum list 查询所有可安装的软件包
yum list 包名 查询yum源中是否有所查询包
yum info 软件名 查询指定软件包的信息
yum grouplist 软件组名 查询所有可以安装的软件组
yum groupinfo 软件组名 列出软件组中包含的软件
yum搜索
yum search 软件名/关键字 查找相关功能的包
注:
频繁的用yum安装后可能会出现安装错误的现象。
需要执行yum clean all 命令来清空一下yum缓存信息。
之后使用yum makecache根据配置文件建立新的缓存数据。
再执行yum list 读取yum可安装的软件包。
字符界面安装图形化:
yum -y groupinstall "X Window System"
yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools"
#安装图形化以及工具。
systemctl get-default #查看默认运行级别。
systemctl set-default graphical.target #设置默认级别为graphical.target(图形)
多个服务器之间共享数据包:
1.rz #win和Linux
2.scp#Linux和Linux scp /root/tree-1.7.0.tgz [email protected]:/root #上传
scp [email protected]:/root/zf.txt /root/ #下载
3.局域网YUM源:
在日常工作情况下,多台服务器可能都需要安装同样的服务等。那么我们重复下载多次同样的安装包就是并不合理的了(占用带宽、下载时间较长等问题)。所以我们更需要“一次下载,多次使用”的方式来使用。
此处采用了http共享
在这种情况下,需要分清“服务器端”和“客户端”两种身份。
服务器端我们使用centos7.6当作服务器端,将RPM包共享给客户端,在当前实验下,我们使用光盘YUM源作为共享。我们主要使用createrepo命令创建repository仓库。在当前此命令是安装过的。如果没有此命令yum安装即可。
服务器端:
1.安装httpd、createrepo命令建立依赖关系库。
2.将光盘中Packages的所有内容cp到/var/www/html/package下。
3.createrepo /var/www/html/
4.关闭放火墙、seLinux。
5.启动http服务。
客户端:
6.关闭防火墙、selinux。(通过IP/package的方式用浏览器验证)
7.客户端/dev/sr0卸载。
8.修改/etc/yum.repos.d/CentOS-Media.repo将enabled=1修改为0。
7.修改/etc/yum.repos.d/CentOS-Base.repo,注释所有信息
添加:
[test]
name=centos7
baseurl=http://192.168.30.252
gpgcheck=0
enabled=1
8.保存退出。测试安装效果。
(1)yum clean all 清除原有yum缓存
(2)yum makecache 建立源数据缓存
(3)yum repolist 查看当前使用yum源
(4)yum list 查看当前源下安装包
补充:
关闭防护墙命令 iptables -F
关闭保护机制 setenforce 0
kill PID(杀死进程)
echo $? 查看是否执行成功
解决重复挂载问题:/etc/fstab写入文件,注意写入文件后若要移除记得从文件注释,不然移除后下次开机自检过不去
vim编辑 /dev/sro (tab键)/mnt/ (tab) iso9660 (tab) default (tab) 0(空格)0
执行./configure --prefix(指定位置)=/usr/local/nginx
启动服务:systemctl staet 服务(httpd
简述:局域网YUM源:
局域网yum源服务器端:
1.安装httpd:安装之后开启服务,进行共享数据包。
2.把所有rpm包复制到网页根目录。
3.createrepo生成所有rpm包之间的依赖关系。
4.关防火墙和selinux。
5.启动/重启httpd服务。
局域网yum源客户端:
1.关防火墙和selinux。
2.确保自己的本地光盘未挂载。
3.本地yum源未生效。
4.修改网络yum源,注释网络源信息。
5.重新写入网络yum配置,指定baseurl为服务器端IP地
————————————————
版权声明:本文为CSDN博主「弓长丿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_57911290/article/details/122842289