LINUX系统安装和管理

发布时间:2023年12月24日

目录

一.应用程序

对比应用程序与系统命令的关系

典型应用程序的目录结构

常见的软件包装类型

二.RPM软件包管理

1.RPM是什么?

2.RPM命令的格式

查看已安装的软件包格式

查看未安装的软件包

3.RPM安装包从哪里来?

4.挂载的定义

挂载命令mount

查看挂载情况

挂载规则

三.yum安装

1.定义

2.安装过程?

3.实验-----配置本地yum仓库

客户端配置文件的格式

实验过程

四.编译安装

1.编译安装基本介绍

2.安装准备

3.实验过程


Linux系统与Windows系统不兼容,在Windows平台开发出来的软件在Linux上无法运行,在Linux上开发的软件在Windows上又无法运行,这就导致了软件移植困难。

如何在Linux安装、卸载软件

1、编译安装 灵活性搞 难度较大 ?可以安装较新的版本

2、rpm安装 (redhat) linux 包安装 ? ?查软件信息:是否安装,文件列表

2、yum 是升级版本,解决rpm的弊端

一.应用程序

对比应用程序与系统命令的关系

角色系统命令应用程序
文件位置一般在/bin和/sbin目录中,或为shell内部指令通常在user/bin和user/sbin目录中
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字、命令选项和命令参数通常没有固定的执行格式

典型应用程序的目录结构

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

常见的软件包装类型

文件类型保存目录
RPM软件包扩展名为“.rpm”
DEB软件包扩展名为“.deb”
源代码软件包一般为“.tar.gz”、“tar.ba2”等格式的压缩包包含程序的原始代码
绿色免安装的软件

软件包的扩展名不一,以TarBall格式的居多

在压缩包内提供已编译好的执行程序文件

解开压缩包后的文件即可直接使用

二.RPM软件包管理

1.RPM是什么?

RPM(Red-Hat package Manager):

  • 由Red Hat公司提出, 被众多Linux发行版所采用
  • 建立统一的文件数据库
  • 详细记录软件包安装、卸载、升级等变化信息
  • 自动分析软件包依赖关系

2.RPM命令的格式

RPM软件可以实现几乎所有的功能:新增,删除,更新等。

查看已安装的软件包格式

rpm? -q? 软件名

rpm -qa显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q? 软件名查询指定软件是否已安装
rpm -qi??软件名查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql??软件名显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc??软件名

列出已安装的指定软件的配置文件

查看未安装的软件包

rpm? -qp? 软件名

3.RPM安装包从哪里来?

  • 官网下载??或者? 自研
  • 在安装光驱中 ,约4.7G?中,3个G 都是安装包。

4.挂载的定义

系统内部的 一个文件夹和硬件设备关联,只要访问文件夹等于访问硬件设备上的空间。(把硬盘变成文件,让系统识别并使用硬盘的空间

挂载命令mount

[root@localhost ~]#mount /dev/sr0 ?/mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
?

解挂载格式:

umount ? ?挂载的文件夹

卸载软件格式:

rpm -e?? 软件名

查看挂载情况

df? ——? disk? free?

挂载规则
  • 最好使用空文件夹挂载,如果挂载的文件夹有文件存在,那么文件可能会消失
  • 一个文件夹如果挂载多个设备 只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
  • 一个设备可以挂载在多个文件夹上 一个光驱可以挂载在多个文件夹上
  • 一个挂载点同一时间只能挂载一个设备

三.yum安装

1.定义

  • YUM(Yellow dog Updater,Modified )yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
  • yum是c/s架构(c/s架构是分为客户端和服务端;服务端是存放软件安装包,客户端是进行安装软件包;配置文件指向服务端)
  • yum仓库的分类,本地和网络(本地:自己既是客户端也是服务端;网络:客户端和服务端分开)

2.安装过程?

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

  • 第一次客户端根据配置文件找到服务端;
  • 客户端将元信息下载到本地(元信息是安装包的位置以及安装包的依赖关系)
  • 根据元信息去下载对应的安装包到本地后,然后安装
  • 安装完成后,删除安装包

3.实验-----配置本地yum仓库

本地yum(不需要依赖网络)

yum ?install ? 安装

yum install 软件名 -y (-y表示同意)?

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

cd /etc/yum.repos.d/ ? ?客户端的配置文件

客户端必须要有文件后缀面(必须要以.repo结尾)(必须要放在/etc/yum.repos.d文件夹中)

客户端配置文件的格式

[local]

name=local

baseurl=服务器地址

gpgcheck=0 (代表不验证)

enabled=1是开启/enable=0是关闭

baseurl

file:// 本机位置

file:// /mnt 本机挂载点(本机挂载在mnt文件夹)

http:// 网络地址

https:// 网络地址

作为服务端需要提供安装包、源数据;所以看到repodata、package就可以复制当前地址

实验过程

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

注意:如果出现下面的情况? ?要kill? 114533 或者? kill? ? -9? ?114533四.编译安装

建议使用rm -rf /var/run/yum.pid

1.编译安装基本介绍

大部分是c语言开发的,更方便的使用

软件版本比较新,新功能,修复bug

可以自行定义配置文件的路径

源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50

程序包编译安装:

源代码-->预处理-->编译-->汇编-->链接-->执行

多文件:文件中的代码之间,很可能存在跨文件依赖关系

虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具可以大大减少编译过程的复杂度。

2.安装准备

①选择安装在哪里

②检测编译环境

③选择安装模块

3.实验过程

mkdir  /data/               
cd     /data
wget http://nginx.org/download/nginx-1.18.0.tar.gz    #下载安装包
tar xf  nginx-1.18.0.tar.gz      #解压源码包
cd /data/nginx-1.18.0/           #切换目录
yum -y install gcc  gcc-c++  pcre-devel openssl-devel zlib-devel openssl  openssl-devel
#安装编译环境需要的包
 
 
 
./configure --prefix=/apps/nginx             #指明安装路径
make        #将所有的源代码翻译成二进制,会形成一个绿色的可执行文件
make install
会执行文件,及相关的一些依赖文件拷贝到之前指定的目录中
(make  -j 2 && make  install     #启用两核进行安装 )
 
 
 
ln -s  /apps/nginx/sbin/*   /usr/bin/         #为了可以补全
systemctl stop firewalld                      #关闭防火墙
setenforce 0                                   #关闭防护
 
nginx                  #开启服务
ss   -natp|grep  80    #检测服务开启
curl 192.168.91.100    #检测服务开启
 
        
nginx  -s   stop       #关闭服务  

文章来源:https://blog.csdn.net/zk584715834/article/details/135180548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。