软件安装


linux系统之软件安装

1. 安装软件三种方式

rpm安装 类似360软件管家 红帽公司开发出来的工具

yum安装 本质还是rpm

编译安装 手动将源程序转换成可执行文件



2. rpm安装

挂载

所有的外来硬件设备,想在linux中使用必须挂载

用系统中的某个文件夹和外来硬件设备挂载,那么使用该文件夹,就是使用该硬件设备

为什么要挂载光盘

因为光盘中有软件包,不挂载,rpm安装不了

# 挂载  √
mount   硬件设备   文件夹
[root@localhost /]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost /]# 


# 解挂载  √
umount   硬件设备   文件夹
[root@localhost /]# umount /dev/sr0 /mnt
umount: /mnt:未挂载
[root@localhost /]# 


用法

# rpm安装  √
rpm -ivh  软件包(全称)
i  安装
v  显示过程
h  人性化

#安装时,软件名要写绝对路径
[root@localhost Packages]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 


# rpm卸载  √
rpm  -e   软件名
[root@localhost Packages]# rpm -e tree
[root@localhost Packages]# rpm -q tree
未安装软件包 tree 
[root@localhost Packages]# 


# 查找软件是否安装  √
rpm -q  软件名
[root@localhost Packages]# rpm -q tree
tree-1.6.0-10.el7.x86_64
[root@localhost Packages]# 


# 查询软件的配置文件(c etc)  √
rpm -qc    软件名
[root@localhost Packages]# rpm -qc httpd
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
[root@localhost Packages]# 


# 文件列表(l list)
rpm -ql  软件名
[root@localhost Packages]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@localhost Packages]# 


# 查询软件的基本信息
rpm -qi  软件名
[root@localhost Packages]# rpm -qi httpd
Name        : httpd
Version     : 2.4.6
Release     : 67.el7.centos
Architecture: x86_64
Install Date: 2023年10月28日 星期六 22时31分42秒
Group       : System Environment/Daemons
Size        : 9823661
License     : ASL 2.0
Signature   : RSA/SHA256, 2017年08月11日 星期五 00时40分32秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : httpd-2.4.6-67.el7.centos.src.rpm
Build Date  : 2017年08月04日 星期五 11时21分07秒
Build Host  : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
[root@localhost Packages]# 


# 查询当前系统中以rpm方式安装的全部软件(a -all)
rpm  -qa  软件名
[root@localhost Packages]# rpm -qa httpd
# 显示所有

[root@localhost Packages]# rpm -qa httpd
httpd-2.4.6-67.el7.centos.x86_64
[root@localhost Packages]# 


rpm的缺点

为什么不喜欢用rpm安装,因为rpm安装需要有依赖关系,没有还需要自己先安装依赖环境


RPM数据库

RPM数据库中存放rpm相关信息,如果RPM数据库发生损坏,会导致rpm功能用不了,可以通过重建rpm数据库修复

rpm数据库路径
/var/lib/rpm

rpm --rebuild 或者 rpm --initdb


3. yum安装

特点

1.yum安装原理用的还是rpm


2.yum仓库

自动解决依赖关系

yum install 软件包 官方网站上的包


3.为什么搭建本地yum仓库

没网的时候救急用

包少,包版本低


4.搭建yum仓库

本机 既是客户端,也是服务端

本机 安装包 原信息 配置文件


5.yum安装是系统自动安装


客户端的配置文件

服务器的配置文件


元信息

① 别人给

② 自己建

createrepo 生成元信息


服务端一定要有两个文件夹

repodata 必须叫这个名字

packages 安装包的文件夹


选项

-y  安装过程中,全部问题为是

用法

# yum安装软件
yum install -y

[root@localhost /]# yum install -y httpd


# yum卸载软件  只能卸载软件包,依赖关系不会卸载
yum remove -y  软件名

[root@localhost /]# yum remove -y httpd


本地yum源搭建过程 √

# 挂载光盘镜像
1. mount   /dev/sr0  /mnt     # 准备服务端必须要有的两个文件夹

# 将配置文件全部移走,减少影响
2. cd  /etc/yum.repos.d       # 切换到配置文件的规定目录
   mkdir  ba                    # 建立备份文件夹
   mv *.repo  ba        # 把网络源移动到备份文件夹中,减少影响

# 创建配置文件
# 注意:我们创建的配置文件必须以“.repo” 
3. vim local.repo
[base]                  # 仓库的描述
name=base               # 仓库的名字
baseurl=file:///mnt     # 安装包的位置
gpgcheck=0       # 验证安装的安全性和完整性
enable=1         # 默认开启

# 清楚缓存 # 重新生成元信息
4. yum clean all ; yum makecache     
   yum clean all && yum makecache

依赖关系

网络yum源

本地yum源

不能混用



4. 编译安装

源程序 ---> 可执行程序过程

image-20231028191715848


特点

将源代码编译成可执行文件

延伸安装 - 二进制包安装

自由度高,但是麻烦


用法

# linux编译安装,将高级语言转化成可执行文件

# 分步骤进行编译

gcc -E hello.c -o hello.i
# 将源程序进行预处理,生成一个hello.i文件

gcc -S hello.i -o hello.s
# 对预处理文件进行编译,生成汇编文件

gcc -c hello.s -o hello.o
# 对汇编文件进行编译,生成目标文件

gcc hello.o -o hello.exe
# 对目标文件进行链接,生成可执行文件



# 一步实现编译过程

gcc hello.c -o hello.exe
# 直接将源程序链接成可执行文件

编译安装过程步骤

第一步

解压

第二步

./configure 脚本文件,开发者写好的脚本,放在源代码目录中给你用的

1.检测编译环境(依赖包是否安装完整 gcc gcc-c++)

2.选择安装路径 yum和rpm 默认安装到 /etc

编译安装可以自由选择安装路径

3.添加减少安装软件的功能

yum和rpm安装,只是将常用的功能安装好了

--prefix= 指明安装路径

第三步

make 将高级语言编译成二进制

-j 2 使用2个cpu去编译

编译好会形成一个二进制文件

第四步

将这个二进制文件和配套文件复制到之前规定的目录中

编译安装过程 √

# 拖进来解压,或从官方下载
# wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xf nginx-1.18.0.tar.gz  -C /opt/

# 安装依赖环境
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel

# 指定安装目录
cd nginx-1.18.0
./configure   --prefix=/opt/apps/nginx

# 编译和安装
make && make install

# 将nginx命令放到全局命令中后,可以直接nginx启动服务
ln -s /opt/apps/nginx/sbin/nginx  /usr/sbin/nginx

# 关闭防火墙,关闭核心防护
systemctl stop firewalld
setenforce 0

# 查看80端口是否开启
ss -antp | grep 80

#修改nginx页面
vim /opt/apps/nginx/html/index.html
1000dd
This is nginx

# 查看80端口是否开启
ss -antp | grep 80


# 可以在任意文件夹中启动nginx
nginx


真机打开浏览器       ip地址     
另外一台linux虚拟机  curl ip地址 


# 关闭nginx服务
nginx -s stop
posted @   一个低调的wy  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示