linux学习笔记-软件包的相关知识
一.软件包种类
1.源码包
源码包即提供源代码的发行包
2.二进制包
二进制包即提供二进制文件的发行包
安装方法查找二进制包官网,复制到对应的系统目录
2.deb包
debian系列使用的软件包
3.rpm包
red-hat所开发的软件包类型
4.可执行包
这类软件包和windows的软件包类似,提供安装界面。
安装方法终端运行下载的包,会弹出类似于windows的软件的安装界面
卸载方法在软件的安装目录运行卸载的脚本,会弹出卸载界面
二.软件包的说明性文件
1.源码包和二进制包的说明文件种类
(1)安装说明
(2)依赖说明
(3)测试说明
(4)使用说明
(5)版权说明
(6)软件设计说明
2.源码包和二进制包的说明文件的具体内容
依赖,安装和测试说明:软件包的依赖情况,编译方法,安装方法,测试方法,卸载方法
使用说明:软件包的功能,安装位置,使用与配置方法
版权和软件设计说明:软件包所使用的版权内容,作者的联系方式,包的设计思路,包的网站,代码库的位置,提交代码的方式
3.源码包和二进制包的说明文件位置
常见位置
(1)INSTALL文件
(2)LICENSE文件
(3)PACKAGE-MAINTAINER文件
(3)RELEASE文件
(4)docs或doc目录下的html网页
(5)其它包内的大写字母名字的文件
三.软件包的依赖
1.软件包的依赖的分类
(1)构建安装所需要的依赖
(2)测试包所需要的依赖
(3)构建包文档所需要的依赖
(4)软件运行时的依赖
2.软件包依赖的解决办法
(1)源码包,二进制包和可执行包的依赖的解决办法
查找包内的依赖文档或官网的安装说明,找出所需要的依赖软件包的名字,在对应软件包官网下载对应的源码包
(2)deb包和rpm包解决依赖的思路
1.软件包官网查找依赖,下载对应的deb或rpm依赖包
2.使用deb或rpm包的不同的发行版本会自带包管理工具,可以使用这些工具在安装卸载deb或rpm包的同时解决依赖包
四.软件包的下载源
1.源码和二进制包的下载源为包的官网或代码库的地址
2.deb包和rpm包下载源为debian包或redhat包官网或软件官网提供的deb或rpm包
3.可执行包的下载源为软件官网
五.软件包的安装
一.源码包的安装思路:
(1)配置:配置软件的安装位置等信息,有的包没有配置脚本
(2)编译:源码文件编译为二进制文件
(3)测试 :测试生成的二进制文件的完整性,有的包没有测试脚本
(4)安装:使用安装脚本将二进制文件复制到系统的对应目录
(5)清理 :清理生成的二进制文件及配置文件,也可以直接删除解压完的包目录
2.源码包的分类:
(1)使用makefile文件的包
(2)使用setup.py的包
(3)使用build的包
3.源码包的配置方式:
(1)使用makefile文件的包中有configure文件的包
configure:配置文件用于配置源码包生成makefile文件,常用执行命令
./configure
常用参数:
--prefix= (安装软件到某个目录,一般情况下为/usr目录)
注释:有的包不提供配置文件
4.源码包的编译方法
(1)使用makefile文件的包
有的源码包不直接提供这个文件需要使用configure生成,或没有configure文件直接提供makefile文件
编译方法及常用参数注释
make
参数
-j(n) :n为同时执行的任务数量,不设置则为尽可能同时执行多的任务,通常设置为cpu核数的二倍
(2)使用setup.py的包
编译方法
python setup.py build
(3)使用build的包
编译方法
执行build.sh
./build.sh
5.源码包的测试方法
常见的测试命令
make check make test make tests ninja test
常用参数
-j(n)n为同时执行的任务数量,不设置则为尽可能同时执行多的任务,通常设置为cpu核数的二倍
使用方法
测试工具是源码包自带的脚本,需要参照软件包的测试说明,具体选择测试工具。
6.源码包的安装方法
(1)使用makefile的源码包安装方法
# make install
常用参数
-j(n)n为同时执行的任务数量,不设置则为尽可能同时执行多的任务,通常设置为cpu核数的二倍
(2)使用seup.py的源码包安装方法
# python setup.py install
(3)使用build的源码包的安装方法
使用build的源码包,基本是java的包,没有安装命令,参照包内的安装说明将编译生成的扩展名为.jar的二进制文件复制到对应目录
二.deb包的安装方法
# dpkg -i <package.deb>
三.rpm包的安装方法
# rpm -i <package.rpm>
六.软件包的卸载
1.源码包的卸载思路
(1)makefile源码包的卸载方法
makefile文件可以使用卸载命令的执行卸载命令
# make uninstall
(2)setup.py源码包的卸载方法
# python setup.py uninstall
makefile文件中没有卸载命令和.build的源码包卸载思路如下
查找安装文件,手动删除
2.deb包的卸载方法
dpkg -r <package.rpm>
3.rpm包的卸载方法
rpm -e <package.rpm>
linux学习笔记-软件包的相关知识的更多相关文章
- linux学习笔记:1.基础知识和命令行基本操作
初次学习linux系统,想在这里记录自己的学习痕迹,如发现有不足之处,希望能指出,谢谢啦,之后的学习是在虚拟机VMware 10下的Red Hat Enterprise linux 6 的操作. 一. ...
- Linux学习笔记——软件包管理
1.RPM包的管理 RPM软件包的一个例子: sudo-1.7.2p1-5.el5.i386.rpm 这个rpm包名包括软件名sudo,版本号1.7.2p1,发行号5.el5,和硬件平台i386 (1 ...
- linux 学习笔记 软件包管理
>查询文件所属软件包 #rpm -qf /usr/share/pixmaps/xplns.png 查询某个文件所属软件包 >查询软件包所包含文件列表 #rpm -ql xplus-3.3. ...
- linux学习笔记一----------文件相关操作
一.目录结构 二.文件管理操作命令(有关文件夹操作,使用Tab键自动补全文件名(如果多个默认第一个)) 1.ls 查看目录信息:ls -l 查看目录详细信息(等价于ll 某些系统不支持) 2.pwd ...
- linux学习笔记-3.文件相关命令
1.进入到用户根目录 cd ~ 或者 cdcd ~hadoop回到原来路径cd - 2.查看文件详情 stat a.txt 3.移动 mv a.txt /ect/改名mv b.txt a.txt移动并 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- deepin linux 学习笔记(二)——文本编辑器
目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 11
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...
随机推荐
- MFC 多窗口通信时,使用RadioButton和Button时冲突问题
最近项目需要我们实现在两个窗口间进行通信,其中有个小功能如图所示: 当我点击GDIProgram中的Button1时,会更新Dialog的Radio1和Radio2的状态. Dialog中的Radio ...
- 二叉搜索树的平衡--AVL树和树的旋转
二叉搜索树只有保持平衡时其查找效率才会高. 要保持二叉搜索树的平衡不是一件易事.不过还是有一些非常经典的办法可以做到,其中最好的方法就是将二叉搜索树实现为AVL树. AVL树得名于它的发明者 G.M. ...
- ES6-字符串扩展-padStart(),padEnd()
ES6 引入了字符串补全长度的功能,如果某个字符串不够指定长度,会在头部活尾部补全. padStart() 用于头部补全: padEnd() 用于尾部补全. 上面代码中,padStart 和 padE ...
- Spring Boot开启的 2 种方式
Spring Boot依赖 使用Spring Boot很简单,先添加基础依赖包,有以下两种方式 1. 继承spring-boot-starter-parent项目 <parent> < ...
- spring boot -thymeleaf-url
绝对路径格式:th:href="@{http://www.baidu.com}" <a th:href="@{http://www.baidu.com}" ...
- Python -- tabulate 模块,
pip install tabulate >>> from tabulate import tabulate >>> table = [["Sun&quo ...
- SSM整合(四)-整合后配置文件汇总
1.新建Maven项目创建pom.xml pom.xml内容如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- Shell脚本 | 性能测试之CPU占有率
Android 是一个基于 Linux 内核的移动操作系统,Linux 的 CPU 占有率的计算方式也可以应用到 Android App 上. 今天分享的这个脚本的功能,是在多核情况下计算进程的 CP ...
- MyBatis源码解析【8】简单demo理解接口式编程
前言 这个分类比较连续,如果这里看不懂,或者第一次看,请回顾之前的博客 http://www.cnblogs.com/linkstar/category/1027239.html 上一次我们经过源码的 ...
- nginx介绍(五) - 高可用
前言 即便想 nginx 这么牛B的服务器, 也不能保证他不挂啊, 就算不是机器出故障, 比如, 停电了, 那么机器挂了, 很正常啊. 这时候, 没有分发服务器, 网站就不能正常访问了, 咋搞? 网站 ...