在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选项确保设备状态两个全部勾选

在Linux安装卸载文件_第1张图片

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

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、可能会出现的问题

可能会出现报错在Linux安装卸载文件_第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

你可能感兴趣的:(linux,服务器,运维)