在Linux安装卸载文件

目录

一、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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis——MyBatis的延迟加载

MyBatis的延迟加载(一对多查询案例) 1.什么是延迟加载? 开启延迟加载后,在真正使用数据的时候才发起级联查询,不用的时候不查询。 2.pojo User类: package com.wt.pojo;import java.io.Serializable; …

【华为鸿蒙系统学习】- HarmonyOS4.0之App项目开发|自学篇

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 创建鸿蒙第一个App项目 项目创建 工程目录区 预览区 运行Hello World 基本工程目录 ws:工…

SpringBoot+vue实现评论区分页效果

当评论区含大量数据时&#xff0c;一次性查询速度很慢&#xff0c;所以使用分页&#xff0c;实现分页效果。 前端&#xff1a; <h3>评论</h3><div><div style"font-size:14px;padding:10px;" v-for"r in form.remark"><!-- …

【Matlab in VSCode】在VSCode中编辑MATLAB文件

【Matlab in VSCode】在VSCode中编辑MATLAB文件 1.安装插件 插件&#xff1a;在vscode拓展商店下载 MATLABMatlab in VSCode 其他&#xff1a;Windows环境MATLAB2019bpython3.7.9 2.插件配置 MATLAB插件下载后不用配置。 Matlab in VSCode需要进行相应的配置。 Windows…

Ubuntu 常用命令之 ping 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 ping命令是一种网络诊断工具&#xff0c;用于测试主机之间网络的连通性。它发送ICMP Echo Request消息到指定的网络主机&#xff0c;并等待接收ICMP Echo Reply。通过这种方式&#xff0c;我们可以知道两台主机之间的网络是否畅通…

elementUI CDN引入本地文件报错,刷新页面报错

报错原因&#xff1a;vue.config.js的externals 配置中有外部cdn引入配置&#xff0c;而当前场景我的element是直接下载放在本地的&#xff0c;这时就需要将配置注释或者删除 webpack 中的 externals 配置项用于指定在打包时需要排除掉的模块&#xff0c;这些模块会被视为外部依…

bugku-misc-这是一张单纯的图片

附件&#xff1a;图片 1、查看属性 2、010 whex打开看看 可以看到html编码&#xff0c;将文件后缀&#xff0c;改成html&#xff0c;打开 即可

蓝牙物联网与嵌入式开发如何结合?

蓝牙物联网与嵌入式开发可以紧密结合&#xff0c;以实现更高效、更智能的物联网应用。以下是一些结合的方式&#xff1a; 嵌入式开发为蓝牙设备提供硬件基础设施和控制逻辑&#xff1a;嵌入式系统可以利用微处理器和各种外设组成的系统&#xff0c;为蓝牙设备提供硬件基础设施和…

FastGPT+ChatGLM3-6b搭建知识库

前言&#xff1a;我用fastgpt直接连接chatglm3&#xff0c;没有使用oneai&#xff0c;不是很复杂&#xff0c;只需要对chatglm3项目代码做少量修改就能支持使用embeddings&#xff0c;向量模型用的m3e&#xff0c;效果还可以 我的配置&#xff1a; 处理器&#xff1a;i5-13500 …

web前端html笔记2

新增状态标签<meter><progress> <meter> 属性 值 描述 high 数值 规定高值 low 数值 规定低值 max 数值 规定最大值 min 数值 规定最小值 optimum 数值 规定最优值 value 数值 规定当前值 <body> <meter high"50" …

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextInput输入框组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之TextInput输入框组件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、TextInput 接口 TextInput(value?:{placeholder?: ResourceStr, tex…

NIO的实战教程(简单且高效)

1. 参考 建议按顺序阅读以下三篇文章 为什么NIO被称为同步非阻塞&#xff1f; Java IO 与 NIO&#xff1a;高效的输入输出操作探究 【Java.NIO】Selector&#xff0c;及SelectionKey 2. 实战 我们将模拟一个简单的HTTP服务器&#xff0c;它将响应客户端请求并返回一个固定的…

【EI会议征稿】2024年光电信息与光学工程国际学术会议(OIOE 2024)

2024年光电信息与光学工程国际学术会议&#xff08;OIOE 2024&#xff09; 2024 International Conference on Optoelectronic Information and Optical Engineering 光电信息技术和光学工程技术广泛应用于国民经济和国防建设的各行各业。近年来&#xff0c;随着相关产业的迅…

AcWing算法提高课-1.4.2股票买卖 IV

算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 给定一个长度为 n n n 的数组&#xff0c;数组中的第 i i i 个数字表示一个给定股票在第 i i i 天的价格。 设计一个算法来计算你所能获取的最大利润&#xff0c;你最多可以完成 k k k 笔交易…

2024年你的年度目标OKR制定好了吗?

标题2023年余额见底&#xff0c;2024年的FLAG都制定好了吗&#xff1f; 目标很明确&#xff0c;计划很丰满&#xff0c;执行起来又处处透着一点点乏力&#xff0c;怎么办&#xff1f; 2024年可以尝试用OKR制定目标。 OKR目标管理方法&#xff0c;既适用于企业&#xff0c;也…

智能优化算法应用:基于卷尾猴算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于卷尾猴算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于卷尾猴算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.卷尾猴算法4.实验参数设定5.算法结果6.参考文…

前端案例—antdDesign的Select多选框组件加上全选功能

前端案例—antdDesign的Select多选框组件加上全选功能。 实现效果如下&#xff1a; Select 组件里有这个属性&#xff0c;可以利用这个对下拉菜单进行自定义。 const handleChange (e, value) > {setSelectState(e.target.checked)let arr productOptions?productOption…

嵌入式系统复习--ARM指令集(二)

文章目录 上一篇ARM指令详细介绍数据处理指令Load/Store指令转移指令异常中断指令协处理器指令下一篇 上一篇 嵌入式系统复习–ARM指令集&#xff08;一&#xff09; ARM指令详细介绍 分类 数据传送指令算术运算指令逻辑运算指令比较指令测试指令乘法指令 二进制编码格式 #…

Ubuntu 22.04 禁用(彻底移除)Snap

什么是Snaps Snaps 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu 16.04 LTS&#xff08;Long Term Support&#xff0c;长期支持版&#xff09;时引入的一种容器化的软件包格式。自 Ubuntu 16.04 LTS 起&#xff0c;Ubuntu 操作系统可以同时支持 Snap 及 Debian …

Python之Django项目的功能配置

1.创建Django项目 进入项目管理目录&#xff0c;比如&#xff1a;D盘 执行命令&#xff1a;diango-admin startproject demo1 创建项目 如果提示diango命令不存在&#xff0c;搜索diango-admin程序的位置&#xff0c;然后加入到环境变量path中。 进入项目&#xff0c;cd demo…