在Linux安装卸载文件

news2025/1/17 0:22:04

目录

一、Linux系统应用程序

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

2、常见的软件包封装类型

二、RPM软件包管理

1、RPM是什么?

2、rpm一般命名格式

3、RPM安装包从何而来?如何挂载?

4、挂载的注意事项:

5、目的:提供安装包

6、查看已经安装的软件包

7.查看未安装的软件包格式:

8、安装

9、卸载

10、重建数据库:

11、yum

三、yum仓库的搭建

2、可能会出现的问题

四、编译安装

1、安装准备工作:

2、安装过程:

3、./configure --help可以安装模块

4、configure是作者放到源码包中给我们使用的是脚本文件

5、安装时可能会遇到的问题:

6、步骤:


一、Linux系统应用程序

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

所在目录文件类型
/usr/bin普通执行程序文件
/usr/sbin服务器执行程序文件和管理程序文件
/etc应用程序配置文件
/var/log日志文件目录
/var/share/doc应用程序参考文档文件
/usr/local/share/man应用程序手册页文件

2、常见的软件包封装类型

文件类型                                       保存目录
RPM软件包                                   扩展名为“.rpm"
DEB软件包                                   扩展名为“.deb"
源代码软件包                                一般为“.tar.gz"等格式的压缩包".tar.bz2"包含程序的原始代码
绿色免安装的软件包                    软件包的扩展名不一,以TarBall格式的居多在压缩包内提供已编                                                        译好的执行程序文件解开压缩包后的文件即可直接使用如“子网                                                        掩码计算器”

二、RPM软件包管理

1、RPM是什么?

①由Red hat公司提出,被众多Linux发行版所采用

②建立统一的文件数据库

③详细记录软件包安装,卸载,升级等变化信息

④自动分析软件包依赖关系

2、rpm一般命名格式

bash-4.1.2-15.el6_4.x86_64.rpm

3、RPM安装包从何而来?如何挂载?

①安装包在网上下载

②从光盘中复制:挂载光盘   mount /dev/sr0      /mnt/               umount是取消挂载      df是查看挂载情况

4、挂载的注意事项:

①最好使用空文件夹进行挂载cdrom

②一个文件夹挂载多个装备

③一个设备可以挂载多少文件夹上

5、目的:提供安装包

6、查看已经安装的软件包

格式:rpm   -q  软件吗

选项功能
-q查询已安装的软件都要加q
-qi查看指定软件详细信息
-ql显示指定软件包的所有文件列表
-qc显示指定软件包的配置文件
-qa显示当前系统中以 RPM 方式安装的所有软件列表

7.查看未安装的软件包格式:

rpm -qp软件名

8、安装

格式:rpm -ivh 软件名

-i安装
-v过程
-h人性化

9、卸载

格式:

rpm -e 软件名

10、重建数据库:

①rpm --rebuliddb

②rpm --initdb

11、yum

为了解依赖关系所以发明了yum命令

客户端:配置文件指向服务器

服务端:软件包

yum仓库

本地:自己既是服务端又是客户端

网络:二者是分开的

元信息:是一个文件,记录了:安装包路径,安装包依赖关系

①客户端根据配置文件找到了服务端

②客户端将元信息下载到本地

③根据元信息去下载对应的安装包到本地后进行安装

④安装完成后再删除安装包

系统安装好自带网络yum

服务端:vim /etc/yum.conf服务端配置文件

客户端:cd /etc/yum.repos.d/必须要有后缀名 要以.repo结尾

必须要放在文件夹下

三、yum仓库的搭建

①配置虚拟机,打开虚拟机设置,在cd选项确保设备状态两个全部勾选

②所需要的命令公式,如下图。

mount /dev/sr0 /mnt          #挂载提供安装包
cd /etc/yum.repos.d          #切换到固定目录
mkdir bak                    #建立备份文件夹
mv *.repo bak                #将所有网络源移走,减少干扰
vim zhuo.repo                #自建本地源的配置文件
 
[zhuo]                       #自定义仓库描述
name=zhuoer                  #自定义仓库名
baseurl=file:///mnt          #指明仓库位置
gpgcheck=0                   #不验证安全性(若为1则验证)
 
yum clean all                #清理缓存
yum makecache                #重新建立元数据
yum install bind -y          #下载软件bind进行验证

③实验开始

先输入到mv*.repo back

然后进入到vim然后输入i进入输入模式输入[local]

然后name=local

然后basecrl=file:///mnt

然后gpgcheck=0关闭

最后输入esc关闭然后输入:wq保存并退出

然后输入yum clean all

最后输入yum makecache 重新下载元数据

具体代码看上图操作

2、可能会出现的问题

可能会出现报错

出现报错指令后使用ctrl+c就可以停止命令

然后输入命令rm -rf /var/run/yum.pid     或者kill -9 2550就可以解决

四、编译安装

1、安装准备工作:

①选择装在哪

②检测编译环境

③选择安装模块

2、安装过程:

①./configure

②make

③make install

3、./configure --help可以安装模块

4、configure是作者放到源码包中给我们使用的是脚本文件

5、安装时可能会遇到的问题:

①./configure可能会缺少编译工具:解决方法先删除make file文件,然后观察报错信息,然后自己去百度

②make步骤:将源代码翻译成二进制,会形成一个绿色的可执行文件

③make install将执行及相关依赖文件拷贝到指定的目录中

6、步骤:

①预先安装软件
 

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcre apr*

②操作编译代码

[root@localhost ~]# mkdir /bianyi
[root@localhost ~]# cd /bianyi/
[root@localhost bianyi]# wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.48.tar.bz2
--2021-07-01 22:39:47--  https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.48.tar.bz2
正在解析主机 mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)... 39.155.141.16, 2001:da8:20f:4435:4adf:37ff:fe55:2840
正在连接 mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)|39.155.141.16|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:7194385 (6.9M) [application/octet-stream]
正在保存至: “httpd-2.4.48.tar.bz2”
 
100%[=========================================================>] 7,194,385   4.45MB/s 用时 1.5s   
 
2021-07-01 22:39:49 (4.45 MB/s) - 已保存 “httpd-2.4.48.tar.bz2” [7194385/7194385])
[root@localhost bianyi]tar xvf httpd-2.4.48.tar.bz2
[root@localhost bianyi]# ls
httpd-2.4.48  httpd-2.4.48.tar.bz2
[root@localhost bianyi]# cd httpd-2.4.48/
[root@localhost httpd-2.4.48]# ./configure \
--prefix=/usr/local/apache \
 
 
./configure --prefix=/usr/local/apache 
 
中间省略
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.
无apr包安装即可
[root@localhost httpd-2.4.48]# yum install apr* -y
中间省略
作为依赖被升级:
  cyrus-sasl.x86_64 0:2.1.26-23.el7               cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7        
  cyrus-sasl-lib.x86_64 0:2.1.26-23.el7           cyrus-sasl-md5.x86_64 0:2.1.26-23.el7           
  cyrus-sasl-plain.x86_64 0:2.1.26-23.el7         cyrus-sasl-scram.x86_64 0:2.1.26-23.el7         
  expat.x86_64 0:2.1.0-12.el7                     libdb.x86_64 0:5.3.21-25.el7                    
  libdb-utils.x86_64 0:5.3.21-25.el7              openldap.x86_64 0:2.4.44-23.el7_9               
 
完毕!
[root@localhost httpd-2.4.48]# ./configure \
> --prefix=/usr/local/apache \
 
checking for APR-util... yes
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/bianyi/httpd-2.4.48':
configure: error: C compiler cannot create executables
See `config.log' for more details
提示gcc 没有安装,安装即可
[root@localhost httpd-2.4.48]# yum install gcc* -y
中间省略
作为依赖被升级:
  glibc.x86_64 0:2.17-324.el7_9 glibc-common.x86_64 0:2.17-324.el7_9 libgcc.x86_64 0:4.8.5-44.el7
  libgomp.x86_64 0:4.8.5-44.el7 libstdc++.x86_64 0:4.8.5-44.el7
[root@localhost httpd-2.4.48]# ./configure \
> --prefix=/usr/local/apache \
 
checking for gcc option to accept ISO C99... -std=gnu99
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
pcre没装安装即可
[root@localhost httpd-2.4.48]# yum install pcre* -y
中间省略
已安装:
  pcre-devel.x86_64 0:8.32-17.el7                  pcre-static.x86_64 0:8.32-17.el7               
  pcre-tools.x86_64 0:8.32-17.el7                  pcre2-devel.x86_64 0:10.23-2.el7               
  pcre2-static.x86_64 0:10.23-2.el7                pcre2-tools.x86_64 0:10.23-2.el7               
  pcre2-utf16.x86_64 0:10.23-2.el7                 pcre2-utf32.x86_64 0:10.23-2.el7               
 
完毕!
[root@localhost httpd-2.4.48]# ./configure \
> --prefix=/usr/local/apache \
 
中间省略
 Server Version: 2.4.48
    Install prefix: /usr/local/apache
    C compiler:     gcc -std=gnu99
    CFLAGS:           -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE  
    LDFLAGS:           
    LIBS:             
    C preprocessor: gcc -E
[root@localhost httpd-2.4.48]# make
等待编译完成
/modules/lua -I/bianyi/httpd-2.4.48/modules/proxy -I/bianyi/httpd-2.4.48/modules/http2 -I/bianyi/httpd-2.4.48/modules/session -I/bianyi/httpd-2.4.48/modules/ssl -I/bianyi/httpd-2.4.48/modules/test -I/bianyi/httpd-2.4.48/server -I/bianyi/httpd-2.4.48/modules/md -I/bianyi/httpd-2.4.48/modules/arch/unix -I/bianyi/httpd-2.4.48/modules/dav/main -I/bianyi/httpd-2.4.48/modules/generators -I/bianyi/httpd-2.4.48/modules/mappers -prefer-pic -c mod_rewrite.c && touch mod_rewrite.slo
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -std=gnu99  -pthread           -o mod_rewrite.la -rpath /usr/local/apache/modules -module -avoid-version  mod_rewrite.lo 
make[4]: 离开目录“/bianyi/httpd-2.4.48/modules/mappers”
make[3]: 离开目录“/bianyi/httpd-2.4.48/modules/mappers”
make[2]: 离开目录“/bianyi/httpd-2.4.48/modules”
make[2]: 进入目录“/bianyi/httpd-2.4.48/support”
make[2]: 离开目录“/bianyi/httpd-2.4.48/support”
 
make[1]: 离开目录“/bianyi/httpd-2.4.48”
[root@localhost httpd-2.4.48]# make install
等待编译完成
Installing man pages and online manual
mkdir /usr/local/apache/man
mkdir /usr/local/apache/man/man1
mkdir /usr/local/apache/man/man8
mkdir /usr/local/apache/manual
make[1]: 离开目录“/bianyi/httpd-2.4.48”
[root@localhost bin]# /usr/local/apache/bin/apachectl
#启动服务
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost bin]# netstat -ntap |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      56463/httpd 
[root@localhost bin]# systemctl stop firewalld.service 
[root@localhost bin]# setenforce 0
[root@localhost bin]# netstat -ntap |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      56463/httpd

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初学链表(分析建立学生信息链表)

本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。 #include <stdio.h> #include <stdlib.h> #include <string.h> struct stud_node { int num; char name[20]; int score; struct stud_node *next; }; struct stu…

又是阿里,通义灵码免费平替GitHub Copilot

毫无疑问&#xff0c;人工智能已经在影响着我们日常生活的方方面面&#xff0c;同样的在软件开发领域&#xff0c;AI正在改变我们的开发方式。在软件开发领域&#xff0c;尽管有许多强大的AI编码工具&#xff0c;但国产&#xff0c;免费&#xff0c;使用门槛低&#xff0c;用起…

配置IPv4静态路由与静态BFD联动示例

静态路由简介 定义 静态路由是一种需要管理员手工配置的特殊路由。 目的 静态路由在不同网络环境中有不同的目的&#xff1a; 当网络结构比较简单时&#xff0c;只需配置静态路由就可以使网络正常工作。 在复杂网络环境中&#xff0c;配置静态路由可以改进网络的性能&…

备份至关重要!如何解决iCloud的上次备份无法完成的问题

将iPhone和iPad备份到iCloud对于在设备发生故障或丢失时确保数据安全至关重要。但iOS用户有时会收到一条令人不安的消息&#xff0c;“上次备份无法完成。”下面我们来看看可能导致此问题的原因&#xff0c;如何解决此问题&#xff0c;并使你的iCloud备份再次顺利运行。 这些故…

爬虫字典生成工具,CeWL使用教程

爬虫字典生成工具,CeWL使用教程 1.工具概述2.参数解析3.使用实例1.工具概述 CeWL 是一个 ruby 应用程序,它将给定的 URL 爬到指定的深度,可以选择跟随外部链接,并返回一个单词列表,然后可用于密码破解者 Cewl 是黑客武器库中的强大工具,因为它允许创建有针对性的单词列…

sql_lab之sqli中的报错注入,less13

报错注入&#xff08;less-13&#xff09; 正常报错注入&#xff1a; 1.输入用户名和密码123 123显示登录错误 2.输入用户名和密码123’ 123显示登录错误 123后面有’)说明是’)注入 3.查询数据库名 1) and updatexml(<a><b></b></a>,concat(1111…

收支明细记录与图表展示:轻松管理财务,掌控财务状况!

在财务管理中&#xff0c;了解每个项目的支出占比是关键的&#xff0c;这有助于精确掌握项目开销和预算管理。为了帮助你轻松实现这一目标&#xff0c;我们向你介绍一项强大的功能&#xff1a;项目支出明细记录与项目图表相结合。现在&#xff0c;你可以快速一目了然地查看每个…

【SpringCloud】-GateWay源码解析

GateWay系列 【SpringCloud】-GateWay网关 一、背景介绍 当一个请求来到 Spring Cloud Gateway 之后&#xff0c;会经过一系列的处理流程&#xff0c;其中涉及到路由的匹配、过滤器链的执行等步骤。今天我们来说说请求经过 Gateway 的主要执行流程和原理是什么吧 二、正文 …

01_数据结构和算法概述

01_数据结构和算法概述 0.1 什么是数据结构&#xff1f;官方解释&#xff1a; 0.2 数据结构分类物理结构分类&#xff1a; 0.3 什么是算法&#xff1f;官方解释&#xff1a;大白话&#xff1a; 0.4 算法初体验 0.1 什么是数据结构&#xff1f; 官方解释&#xff1a; 数据结构是…

直接插入排序【从0-1学数据结构】

文章目录 &#x1f497; 直接插入排序Java代码C代码JavaScript代码稳定性时间复杂度空间复杂度 我们先来学习 直接插入排序, 直接排序算是所有排序中最简单的了,代码也非常好实现,尽管直接插入排序很简单,但是我们依旧不可以上来就直接写代码,一定要分析之后才开始写,这样可以提…

Nsum问题

题目 题解 暴力法 class Solution:def fourSum(self, nums: List[int], target: int) -> List[List[int]]:if len(nums) < 4:return []nums.sort()N len(nums)res []for i in range(N-3):for j in range(i1, N-2):for k in range(j1, N-1):for m in range(k1, N):tmp…

java八股 设计模式

企业场景篇-03-设计模式-工厂设计模式-工厂方法模式_哔哩哔哩_bilibili 1.简单工厂模式 新加咖啡类的时候需要在唯一的那个工厂类里加代码&#xff0c;这样就耦合了 2.工厂模式 相对于简单模式的一个工厂生产所有咖啡&#xff0c;这里只定义了一个抽象咖啡工厂&#xff0c;然…

通过生成表征的自条件图像生成

文章目录 摘要1、简介2、相关工作3、方法4、结果4.1、设置4.2、无条件类别的生成4.3、无分类器指导4.4、消融实验4.5、计算成本4.6、定性结果 5、讨论 摘要 https://arxiv.org/pdf/2312.03701.pdf 本文提出了表示条件图像生成&#xff08;Representation-Conditioned Image Ge…

如何在Linux设置JumpServer实现无公网ip远程访问管理界面

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…

2024年个人目标制定清单~有没有适合你的那一款

在2024年&#xff0c;个人的生活目标可以有多种多样&#xff0c;这主要取决于个人的价值观、兴趣和生活情况。 个人生活目标&#xff1a; 健康和健身&#xff1a;保持身体健康和良好的心理状态是许多人重要的生活目标。这可能包括定期运动&#xff0c;均衡饮食&#xff0c;以…

爬虫工作量由小到大的思维转变---<第二十二章 Scrapy开始很快,越来越慢(诊断篇)>

前言: 相信很多朋友在scrapy跑起来看到速度200/min开心的不得了;可是,越跑到后面,发现速度变成了10-/min;刚开始以为是ip代理的问题,结果根本不得法门... 新手跑3000 ~ 5000左右数据,我相信大多数人没有问题,也不会发现问题; 可一旦数据量上了10W,你是不是就能明显感觉到速度…

Leetcode 435 无重叠区间

题意理解&#xff1a; 给定一个区间的集合 intervals 要求需要移除区间&#xff0c;使剩余区间互不重叠 目标&#xff1a;最少需要移除几个区间。 解题思路&#xff1a; 采用贪心思路解题&#xff0c;什么是全局最优解&#xff0c;什么是局部最优解。 全局最优解&#xff0c;删…

Mac使用Vmware Fusion虚拟机配置静态ip地址

一、设置虚拟机的网络为NAT 二、修改虚拟机的网络适配器网络 1、查看虚拟机的网卡 cd /etc/sysconfig/network-scripts#有些系统显示的是ens33&#xff0c;ens160等等 #不同的系统和版本&#xff0c;都会有所不同 #Centos8中默认是ens160,在RedHat/Centos7则为ens33 2、查看网…

Netty Review - 深入探讨Netty的心跳检测机制:原理、实战、IdleStateHandler源码分析

文章目录 概述心跳检测Code模拟心跳超时正常情况 IdleStateHandler源码分析channelReadchannelActiveinitialize 概述 心跳检测 Netty 的心跳检测机制是一种用于保持网络连接活跃的机制&#xff0c;它通过定期发送和接收特定的消息&#xff08;心跳包&#xff09;来确保客户端…

111基于matlab的粒子滤波进行锂离子电池的循环寿命预测

基于matlab的粒子滤波进行锂离子电池的循环寿命预测&#xff0c;输出实验、粒子滤波及自然预测数据结果。程序已调通&#xff0c;可直接运行。 111matlab锂离子电池寿命预测 (xiaohongshu.com)