大家好,又见面了,我是你们的朋友全栈君。
目录
一、简介
网上很多Linux下载软件的方法,看了很多帖子感觉Linux下载软件的方式有很多,每个人都有自己的习惯,对于一个新手来说及其不友好,有时候会看的很蒙。在这里做出总结。
二、简单原理
Linux可以识别的包
只有懂得原理才能无懈可击,万变不离其宗。
1、源码包
源代码包{
优点:
开源:如果有足够能力,可以修改源代码
可以自由选择所需的功能
软件是编译安装,所以更加适合自己的系统,更加稳定也效率高
卸载方便:直接删除文件夹
缺点:
安装过程步骤较多,尤其是安装较大的软件集合(如:LAMP环境搭建),容易出现拼写
错误
编译时间较长,安装比二进制安装时间长
因为是编译安装,安装过程中一旦报错新手很难解决
}
2、rpm包
二进制包:与源代码区别就是源代码包经过编译成为机器能直接识别的二进制包{
优点:
包管理系统简单,只需要几个命令就可以实现包的安装、升级、查询和卸载
安装速度比源码包快
缺点:
经过编译,不可以看到源代码
功能选择不如源代包灵活
依赖性
}
RPM包管理-rpm命令管理
下面的是一个软件的包名
httpd-2.2.15-15.e16.contos.1.i686.rpm
- httpd:软件包名
- 2.2.15:软件版本
- 15:软件发布的次数
- el6.centos:适合的Linux平台
- i686:适合的硬件平台
- rpm:rpm包扩展名
依赖性
提到软件安装,不得不说的就是软件具有依赖性:通俗了讲就是一个软件要运行起来必须要依赖其他的软件或程序。
感觉很像:在Win上玩游戏需要下载很多的Visual C++ 2005
什么的。
- 在Linux中依赖形式种类
1)树形依赖:a->b->c
a依赖b;b依赖c;
2)环形依赖:a->b->c->a(这种安装相对复杂)
a依赖b;b依赖c;c又依赖a; - 提供一个可以查询依赖的网站
我们在安装时候它提示:缺少***so.数字
结尾的都是库依赖
查询依赖(www.rpmfind.net)
默认安装位置
RPM默认安装路径:
/etc 一些设置文件放置的目录如/etc/crontab
/usr/bin 一些可执行文件
/usr/lib 一些程序使用的动态函数库
/usr/share/doc 一些基本的软件使用手册与帮助文档
/usr/share/man 一些man page文件
三、获取软件的方法
1、ftp文件传输软件
2、wget直接网站下载
详情查看:https://blog.csdn.net/weixin_42119415/article/details/100551739
四、Linux查询软件是否安装
使用:
rpm -q 包名
选项:
-q(query) 查询
-a(all) 所有
五、Linux的软件安装方法
注意:在安装源码包前一定要有gcc编译器
阅读下面yum安装gcc很方便。
一起输入命令,回车执行命令
“
1、rpm源码包安装
(1)安装
注意这里必须是包全名
使用:
rpm -ivh 包全名
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依赖性
(2)升级
注意:这里可以不用包全名
,U要大写
使用:
rpm -Uvh 包名
选项:
-U(upgrade) 升级
(3)卸载
注意:这里可以不用包全名
使用:
rpm -e 包名
选项:
-e(erase) 卸载
--nodeps 不检查依赖性
(5)RPM包安装位置
默认安装:
RPM包默认安装路径 | 文件含义 |
---|---|
/etc | 配置文件安装目录 |
/usr/bin | 可执行的命令安装目录 |
/usr/lib | 程序所使用的函数库保存位置 |
/usr/share/doc | 基本的软件使用手册保存位置 |
usr/share/man | 帮助文件保存位置 |
2、yum安装,方便便捷,依赖自动解决
(1)查询可用软件列表
yum list
yum search 关键字
(2)安装
yum会自动安装依赖,很方便
yum -y install 包名
选项:
install 安装
-y 自动回答yes
(3)升级
此时注意如果不加包名:会出现把所有软件包都升级包括Linux内核,但是Linux升级完成后需要在本地进行配置,如果是远程服务器管理的话,你会出现服务器永远启动不了
yum -y updata 包名
选项:
updata 升级
-y 自动回答yes
(4)卸载
yum卸载会把依赖也卸载,要注意
yum -y remove 包名
选项:
remove 卸载
-y 自动回答yes
3、解压后直接使用
解压完最好先看README.md,或者找一找网上的教程
例如:
使用对应压缩命令,把软件解压后直接使用
>1
.tar压缩格式
压缩:
tar 选项[-zcf] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
解压:
tar -zxvf 包名
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
>2
.zip压缩格式
压缩:
zip 选项[-r] [压缩后文件名] [文件或目录]
-r 压缩目录
解压:
基本格式:unzip [选项] file[.zip]
-Z 以形如 ls -l 的格式显示目标文件内容
-Z1 仅显示压缩文件内容的文件名
-l 显示压缩文件中包括时间、占用空间和文件名等信息
-t 在内存中解压文件并进行文件的完整性校验(CRC校验)
-f 将磁盘上已经存在且内容新于对应磁盘文件的压缩内容解压出来
-n 解压缩时不覆盖已存在的文件(而是跳过)
-q 安静模式,仅解压缩而不输出详细信息
-d dir 将文件解压至dir指定的文件夹中
>3
.bz2压缩格式
压缩:
bzip2 选项[-k] [文件]
-k 产生压缩文件后保留原文件
解压:
bzip2 选项[-k] [文件]
指令选项:(默认功能为压缩)
-k 产生压缩文件后
-c 将输出写至标准输出
-d 进行解压操作
-v 输出压缩/解压的文件名和压缩比等信息
-k 在压缩/解压过程中保留原文件
-digit digit部分为数字(1-9),代表压缩速度,digit越小,
则压缩速度越快,但压缩效果越差,digit越大,
则压缩速度越慢,压缩效果越好。默认为6.
>4
.gz压缩格式
基础格式: gzip [Options] file1 file2 file3
指令选项:(默认功能为压缩)
-c 将输出写至标准输出,并保持原文件不变
-d 进行解压操作
-v 输出压缩/解压的文件名和压缩比等信息
-digit digit部分为数字(1-9),代表压缩速度,digit越小,
则压缩速度越快,但压缩效果越差,
digit越大,则压缩速度越慢,压缩效果越好。
默认为6.
我是文文,问题请指正
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127870.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...