就业班 2401--3.4 Linux Day10--软件管理

一、软件管理

导语:

安装软件
rpm
yum
源码安装
​
卸载软件

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://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
#wget下载命令
#wget -O 指定存放路径
[root@linux-server ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm  #本地安装rpm包
​
2.直接通过连接安装rpm包
[root@linux-server ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.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 list  
​
安装软件:# yum install 软件名称# yum install mysql mysql-server -y         #-y跳过确认提示直接安装
​
重装:# yum -y reinstall 软件名        卸载软件:# yum erase  mysql-server # yum remove mysql-server # yum -y remove mysql-server
查看历史操作并恢复#yum history # 查看历史操作记录  #yum history undo id # 恢复
[root@linux-server ~]# yum -y remove `rpm -qa | grep httpd`  #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉

更换网络yum源--aliyun

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11WaK1yM  --阿里yum源地址
[root@linux-server ~]# cd /etc/yum.repos.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源
curl -o get-repo.sh https://gitea.beyourself.org.cn/newrain001/shell-project/raw/branch/master/os/get-repo.sh &>/dev/null && sh get-repo.sh

阿里云源
cd /etc/yum.repos.d && rm -rf * && curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

作业:更换163的yum源

源码包管理

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

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

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

二、自建yum源

本地源

一、使用本地的镜像文件来制作yum源(做完记得删除)

1、挂载dvd镜像或将镜像拷贝到机器中
mkdir /yum-repo
mount /dev/cdrom /yum-repo # 如果我们在设置中挂载了镜像使用这个方法
mount 镜像的路径  /yum-repo # 如果我们拷贝镜像到了系统中,可以用这种方法
​
2、准备本地yum源文件
vim /etc/yum.repos.d/xa2401.repo # 源文件必须以.repo结尾
# 源标识
[xa2401]
# 源名字
name=xa2401-base
# 源地址,本地用file://
baseurl=file:///yum-repo
# 是否检查
gpgcheck=0
# 是否开启
enabled=1
​

二、自己准备的包做成yum源

1、你可以在网上下载包,或在其他机器上缓存包并拷贝到一个目录中。可以看到我的这个目录下全都是rpm包
这个package文件夹是自己创建的,包也是自己导进去的
[root@localhost ~]# ls /package/ | head -2
adcli-0.8.1-16.el7_9.1.x86_64.rpm
at-3.1.13-25.el7_9.x86_64.rpm
​
2、安装制作yum源的工具
yum install -y createrepo  #这个用来制作源
​
3、制作源
createrepo /package
​
4、创建源文件
# 源标识
[xa2401]
# 源名字
name=xa2401-base
# 源地址,本地用file://
baseurl=file:///package
# 是否检查
gpgcheck=0
# 是否开启
enabled=1

远程源

一、使用ftp制作远程源

1、关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
​
2、安装vsftpd
yum install -y vsftpd
​
3、创建目录并拷贝包,然后授权
mkdir /var/ftp/xa2401-ftp
ls /yum-repo/Packages/* | head -100 | xargs -i cp {} /var/ftp/xa2401-ftp/  # 拷贝一些包过来
createrepo /var/ftp/xa2401-ftp/ # 创建为yum源
chown ftp.ftp -R /var/ftp/xa2401-ftp
​
4、启动并访问测试
systemctl start vsftpd
打开此电脑,地址栏访问 ftp://ip地址,如果可以看到,表示配置正确
​
​
5、客户端配置源文件
vim /etc/yum.repos.d/xa2401-ftp.repo # 源文件必须以.repo结尾
# 源标识
[xa2401-ftp]
# 源名字
name=xa2401-ftp
# 源地址,远程用ftp://
baseurl=ftp://192.168.75.248
# 是否检查
gpgcheck=0
# 是否开启
enabled=1

总结:(本地源和远程源

=================================================================

制作本地源
1、找到源内的包
    1.1 可以网络上下载、从别的源克隆、配置缓存,然后通过缓存获取包
    1.2 通过挂载镜像获取镜像中的包
2、如果包所在的目录不是一个yum源,需要做成yum源
yum install -y createrepo
createrepo 目录
3、写源文件
/etc/yum.repos.d/hello.repo
[源标识]
name=源名字
baseurl=file://包目录的绝对路径
enabled=1 # 开启
gpgcheck=0 # 关闭密钥检查

远程源
1、关闭防火墙、selinux
2、安装ftp服务,提供21号端口供客户端访问
yum install -y vsftpd
3、在/var/ftp/创建源目录,准备包拷贝到目录中
4、制作源并授权
createrepo /var/ftp/源目录
chown ftp.ftp -R  /var/ftp/源目录
5、启动ftp
systemctl start vsftpd
6、测试并编写源文件(客户端)
/etc/yum.repos.d/hello.repo
[源标识]
name=源名字
baseurl=ftp://IP地址/包目录的基于/var/ftp的相对路径
enabled=1 # 开启
gpgcheck=0 # 关闭密钥检查
================================================================

如何获取阿里云的源

[root@localhost ~]# yum install -y yum-utils
[root@localhost ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
源标识                   源名称                                                  状态
base/7/x86_64            CentOS-7 - Base - mirrors.aliyun.com                    10,072
epel/x86_64              Extra Packages for Enterprise Linux 7 - x86_64          13,785
extras/7/x86_64          CentOS-7 - Extras - mirrors.aliyun.com                     519
updates/7/x86_64         CentOS-7 - Updates - mirrors.aliyun.com                  5,766
xa2401-ftp               xa2401-ftp                                                 100
repolist: 30,242
​
[root@localhost ~]# reposync -r base -r epel -r extras -r updates

补充:

pidof httpd (可以杀死所有进程)

要批量改文件名字

rename 原 新 要操作的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/511212.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SkyWalking链路追踪上下文TraceContext的追踪身份traceId生成的实现原理剖析

结论先行 SkyWalking 通过字节码增强技术实现,结合依赖注入和控制反转思想,以SkyWalking方式将追踪身份traceId编织到链路追踪上下文TraceContext中。 是不是很有趣,很有意思!!! 实现原理剖析 TraceConte…

Kubernetes基础(二十七)-nodePort/targetPort/port/containerPort/hostPort

1 nodePort/targetPort/port/containerPort 1.1 实现层级 1.2 配置方式 ########service########### apiVersion: v1 kind: Service metadata: labels: name: app1 name: app1 namespace: default spec: type: NodePort ports: - <strong>port: 8080 t…

xss.haozi:0x00

0x00没有什么过滤所以怎么写都没有关系有很多解 <script>alert(1)</script>

嵌入式驱动学习第二周——Linux内核打印

前言 这篇博客来聊一聊Linux内核打印。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可以关注本博主并订阅本专栏&#xff0c;一起讨论一起学习。现在关注就是老粉啦&#xff01; 目录 前言1. dmesg指令…

1.1_2 性能指标——速率、带宽、吞吐量

文章目录 1.1_2 性能指标——速率、带宽、吞吐量&#xff08;一&#xff09;速率&#xff08;二&#xff09;带宽&#xff08;三&#xff09;吞吐量 1.1_2 性能指标——速率、带宽、吞吐量 &#xff08;一&#xff09;速率 速率即数据率或称数据传输率或比特率。 速率就是“快…

python自动化管理和zabbix监控网络设备(zabbix部署监控网络设备以及验证部分)

目录 前言 一、Zabbix搭建 二、FW1 三、python脚本 四、core-sw1 五、core-sw2 六、DMZ-sw1 前言 详细配置视频解析访问&#xff1a;白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 一、Zabbix搭建 sed -i s/SELINUXenforcing/SELINUXdisable/ /etc/selinux/config…

如何在MinIO系统中进行配置并结合内网穿透实现公网远程连接上传文件

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统&#xff0c;它可以100%的运行在标准硬件上&#xff0c;即X86等…

后端传给前端的时间字段前端显示不正确

具体问题是什么呢&#xff0c;就比如我后段有一个字段是TimeStamp类型&#xff0c;从数据库中查出数据是下面的样式&#xff1a; 但是前端显示的是下面的格式&#xff1a; 这个的解决方法还是挺多的&#xff0c;那接下来具体来看看吧~ 第一种&#xff1a; 在application.prop…

动态规划:LeetCode第10题 正则表达式匹配

题目&#xff1a; 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c;是要涵盖 整个 字符串 s的&#xff0c;而不是部分字符串。 示例 1&#xff1a; …

Flutter的线程模型

在Flutter框架中&#xff0c;Embedder层负责把Flutter嵌入到各个平台上去&#xff0c;其所做的主要工作包括线程设置、渲染Surface设置&#xff0c;以及插件等。因此&#xff0c; Embedder负责线程的创建和管理&#xff0c;并且提供Task Runner给Engine使用。Engine则是负责提供…

retinaNet FocalLoss源码详解

targets[positive_indices, assigned_annotations[positive_indices, 4].long()] 1 ## 把正样本所对应的锚框所对应的类别的列置为1 # aim torch.randint(0, 1, (1, 80)) # tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, # 0…

实名制交友-智能匹配-仿二狗交友系统-TP6+uni-APP小程序H5公众号-源码交付-支持二开!

一、代码风格 通常不同的开发者具备不同的代码风格&#xff0c;但为了保证语音交友系统开发质量&#xff0c;在编码前需要进行代码风格的统一&#xff0c;通过制定一定的规则&#xff0c;约束开发者的行为。具有统一风格的代码才能更清晰、更完整、更容易理解、更方便后期维护…