软件管理

软件管理

导语:

安装软件的三种方式:
1、rpm
rpm  -ivh   软件包存放位置

install  --->安装

2、yum
yum是rpm命令的升级版,也是管理软件包的命令,其中yum要依托于rpm命令才能使用。


3、源码安装


4、二进制安装

卸载软件

一、rpm介绍

rpm软件包名称:
软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
#有依赖关系,不能自动解决依赖关系。
举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
noarch : 32位64位都支持
x86_64 :  64位
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;
======

#用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系
rpm安装
语法 # rpm -ivh 软件包名称(路径)
-i install 安装
-vh verbose human 人性化详细显示
-U upgrade 升级

查找rpm包的网站:http://rpmfind.net/ http://pkgs.org
1.通过rpm安装
可以先下载下来
[root@linux-server ~]# wget   http://mirror.centos.org/centos/7/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm
#wget下载命令
#wget   下载地址   -O 指定存放路径

#curl   下载地址 -o 另存为的文件路径


[root@linux-server ~]# rpm -ivh unzip-6.0-21.el7.x86_64.rpm #本地安装rpm包

2.直接通过连接安装rpm包
[root@linux-server ~]# rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm

各种查询

==查询   
(从本地的rpm数据库)
-q query (查询)
-l list (列出)
-f file
-a all
[root@linux-server ~]# rpm -qa | grep 软件名   # 查找软件是否安装
[root@linux-server ~]# rpm -ql httpd           #查询http安装的文件
[root@linux-server ~]# rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
[root@linux-server ~]# rpm -qf /etc/passwd #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件

卸载

语法:# rpm -e 软件名称
-e erase的意思
[root@linux-server ~]# rpm -e httpd
rpm工具管理软件包总结:
1. 很难解决包依赖关系
2. 如果某个文件没有,很难知道它由哪个rpm包提供

二 yum方式管理软件

#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
分类:本地yum和远程yum
本地yum:
file://
远程yum:
http://
ftp://

yum操作

安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源

清理yum缓存:(元数据建立)
# yum clean all

缓存软件包信息:    
  提高搜索/安装软件的速度
   # yum makecache
   
查询yum源信息:  
   # yum repolist    

查看命令属于哪个软件
   # yum provides rz    

安装软件:
# yum -y install 软件名称

  例如:
# yum -y install httpd           //-y跳过确认提示直接安装

重装:
   # yum -y reinstall 软件名      
   
卸载软件:
# yum erase 软件名
# yum remove 软件名

例如:
# yum -y remove httpd

更换网络yum源–aliyun

阿里yum源地址页面
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11WaK1yM
安装主yum源
[root@linux-server ~]# cd /etc/yum.repo.d
[root@linux-server yum.repos.d]# mkdir back
[root@linux-server yum.repos.d]# mv *.repo back
[root@linux-server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载aliyun的yum源
参数解释
curl -o 指定存放路径
或者
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安装扩展源--epel.repo
[root@linux-server ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@linux-server ~]# cd /etc/yum.repos.d/
[root@linux-server yum.repos.d]# ls
CentOS-Base.repo epel.repo

制作本地yum源方式

1.通过镜像制作本地yum源:

首先需要挂载镜像
[root@linux-server ~]# mkdir /mnt/centos7u4
将本地镜像上传到虚拟机中的/root目录中

# 语法: mount   挂载设备     挂载点

[root@linux-server ~]# mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/
[root@linux-server ~]# rm -rf /etc/yum.repos.d/*
[root@linux-server ~]# cd /etc/yum.repos.d/   #yum源配置文件存放目录
[root@linux-server yum.repos.d]# vim CentOS.Base.repo #在编写yum配置文件是必须是.repo
[centos7u4]  #yum源区别名称,用来区分其他的yum源
name=centos7u4  #yum源描述   yum源名字
baseurl=file:///mnt/centos7u4  #指定本地yum源的路径
enabled=1  #是否使用此yum源(1为打开,0为关闭)
gpgcheck=0 #检查软件

2.通过开启yum下载缓存功能制作自己的yum源—-了解

制作自己的yum源:
打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
# vim /etc/yum.conf 修改下面参数的值为1,软件会被保存到cachedir指定的目录下
keepcache=1
[root@linux-server ~]# yum install -y httpd

[root@linux-server ~]# mkdir /yum_cache

[root@linux-server ~]# find /var/cache/yum/   -name "*.rpm" | xargs -i mv {} /yum_cache/


[root@linux-server ~]# ls /yum_cache/
apr-1.4.8-7.el7.x86_64.rpm
apr-util-1.5.2-6.el7.x86_64.rpm
httpd-2.4.6-97.el7.centos.5.x86_64.rpm
httpd-tools-2.4.6-97.el7.centos.5.x86_64.rpm
mailcap-2.1.41-2.el7.noarch.rpm


[root@linux-server ~]# yum install -y createrepo #创建repo文件工具
[root@linux-server ~]# createrepo /yum_cache/         //此目录就可以作为yum源了。
[root@linux-server ~]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///yum_cache/
enabled=1   #默认是开启的  
gpgcheck=0
[root@linux-server ~]# yum repolist
yum排错:
1.yum配置文件必须以.repo结尾      
2.yum.conf里面8,9行的值设置成0
3.配置文件关键字错误
4.检查yum源是否存在
5.baseurl路径是否正确
6.镜像大小是否正确
7.当有Yum进程存在的时,无法同时再打开一个Yum进程

三 源码包管理

一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。
源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。
源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。

获得源码包途径 官方网站,可以获得最新的软件包

mysql: http://www.mysql.com/

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

Nginx: www.nginx.org

安装源码包 
准备工作(去Nginx官网下载Nginx软件的源码包)
1.编译环境如编译器gcc、make
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel #编译环境的准备

gcc是编译工具,编译单个文件
make工具可以看成是一个智能的批处理工具,通过调用makefile文件中用户指定的命令来进行编译和链接的。(将这种高级语言写的代码编译成二进制语言)
pcre支持正则表达式
zlib-devel,有些应用依赖于这个库才能正常运行,因此需要安装zlib-devel
openssl-devel 某些库文件等跟开发相关的东西。

2. 准备软件 nginx-1.16.0.tar.gz
3. 部署安装Nginx软件服务
实战:                                                                            
[root@linux-server ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@linux-server ~]# tar xzf nginx-1.16.1.tar.gz
[root@linux-server ~]# cd nginx-1.16.1
[root@linux-server nginx-1.16.1]# ./configure --user=www --group=www --prefix=/usr/local/nginx
[root@linux-server nginx-1.16.1]# make #编译文件
[root@linux-server nginx-1.16.1]# make install #安装文件
[root@linux-server ~]# useradd www   #创建nginx用户
[root@linux-server ~]# /usr/local/nginx/sbin/nginx #启动nginx
[root@linux-server ~]# systemctl stop firewalld #关闭防火墙

停止nginx
[root@linux-server nginx-1.16.1]# /usr/local/nginx/sbin/nginx -s stop

访问会弹出nginx的index.html界面

详解源码安装三步曲 
# ./configure   #相对路径执行安装

a. 指定安装路径,例如 --prefix=/usr/local/nginx    
b. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求   最终生成:Makefile
c. 软件模块或者功能的启用禁用

#make //按Makefile文件编译,产生可执行的文件。但是这个文件在当前目录中

#make install   //按Makefile定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝

💡 感谢你读到这里!这篇《软件管理》是我的用心分享,如果你觉得有收获,不妨:


点个「赞」或「分享」,让更多同路人相遇


🔍 关注我的博客,持续接收技术/成长类干货


💬 文末留言聊聊你的想法,或遇到的同类问题~


🔒 本文为原创,转载请保留原文链接(https://www.lichu228.top/archives/257)与作者信息,感谢尊重与支持!


🌐 想找更多优质内容?点击进入博客主页探索吧~


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇