目录
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(Red-Hat package Manager):
RPM软件可以实现几乎所有的功能:新增,删除,更新等。
rpm? -q? 软件名
rpm -qa | 显示当前系统中以 RPM 方式安装的所有软件列表 |
rpm -q? 软件名 | 查询指定软件是否已安装 |
rpm -qi??软件名 | 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 |
rpm -ql??软件名 | 显示指定的软件包在当前系统中安装的所有目录、文件列表 |
rpm -qc??软件名 | 列出已安装的指定软件的配置文件 |
rpm? -qp? 软件名
系统内部的 一个文件夹和硬件设备关联,只要访问文件夹等于访问硬件设备上的空间。(把硬盘变成文件,让系统识别并使用硬盘的空间
[root@localhost ~]#mount /dev/sr0 ?/mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
?
解挂载格式:
umount ? ?挂载的文件夹
卸载软件格式:
rpm -e?? 软件名
df? ——? disk? free?
元信息是一个文件,记录了安装包的路径、安装包的依赖关系
本地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
大部分是c语言开发的,更方便的使用
软件版本比较新,新功能,修复bug
可以自行定义配置文件的路径
源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50
程序包编译安装:
源代码-->预处理-->编译-->汇编-->链接-->执行
多文件:文件中的代码之间,很可能存在跨文件依赖关系
虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具可以大大减少编译过程的复杂度。
①选择安装在哪里
②检测编译环境
③选择安装模块
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 #关闭服务