一.软件包种类

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学习笔记-软件包的相关知识的更多相关文章

  1. linux学习笔记:1.基础知识和命令行基本操作

    初次学习linux系统,想在这里记录自己的学习痕迹,如发现有不足之处,希望能指出,谢谢啦,之后的学习是在虚拟机VMware 10下的Red Hat Enterprise linux 6 的操作. 一. ...

  2. Linux学习笔记——软件包管理

    1.RPM包的管理 RPM软件包的一个例子: sudo-1.7.2p1-5.el5.i386.rpm 这个rpm包名包括软件名sudo,版本号1.7.2p1,发行号5.el5,和硬件平台i386 (1 ...

  3. linux 学习笔记 软件包管理

    >查询文件所属软件包 #rpm -qf /usr/share/pixmaps/xplns.png 查询某个文件所属软件包 >查询软件包所包含文件列表 #rpm -ql xplus-3.3. ...

  4. linux学习笔记一----------文件相关操作

    一.目录结构 二.文件管理操作命令(有关文件夹操作,使用Tab键自动补全文件名(如果多个默认第一个)) 1.ls 查看目录信息:ls -l 查看目录详细信息(等价于ll 某些系统不支持) 2.pwd ...

  5. linux学习笔记-3.文件相关命令

    1.进入到用户根目录 cd ~ 或者 cdcd ~hadoop回到原来路径cd - 2.查看文件详情 stat a.txt 3.移动 mv a.txt /ect/改名mv b.txt a.txt移动并 ...

  6. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  7. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  8. Linux 学习笔记之超详细基础linux命令 Part 12

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

随机推荐

  1. Visual Studio 2017中使用正则修改部分内容

    最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效果如下 修改前: /// <summary> /// ...

  2. 前端学习之路-CSS介绍,Html介绍,JavaScript介绍

    CSS介绍 学前端必备掌握CSS样式,css为层叠样式表,用来定义页面的显示效果,加强用户的体验乐趣,那么如何用css到html中呢? style属性方式 利用标签中的style属性来改变显示样式 & ...

  3. [宏]preempt_disable

    //include/linux/preempt.h #ifdef CONFIG_PREEMPT_COUNT //如果内核支持抢占 do { \ inc_preempt_count(); \ barri ...

  4. python语法基础-初始化/继承

    写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化in ...

  5. [源码]Dephi溢出demo( Shellcode for XP)

    [源码]Dephi溢出demo( Shellcode for XP) unit Unit1; interface uses Windows, Messages, SysUtils, Variants, ...

  6. html css 其他常用 onclick跳转

    opacity: 0.5. 0-1 透明度 cursor: pointer;手指 clear:both 清楚浮动 我是医生不是人 文本内容超出框word-wrap:break-word; word-b ...

  7. .NetCore使用skywalking实现实时性能监控

    一.简介 很久之前写了一篇 <.Net Core 2.0+ InfluxDB+Grafana+App Metrics 实现跨平台的实时性能监控>关于NetCore性能监控的文章,使用Inf ...

  8. 在mpvue中使用map如何避坑

    最近在做一个需求,当用户放大地图到某个级别时,自动显示marker的callout标签,当小于这个缩放级别时,则隐藏callout.然而在我实现的过程中,却发现一个严重的问题:当我操作marker数据 ...

  9. table滑块

    我们做table时,常常想做一个滑块的移动效果,来让app显得更加生动,原理很简单,废话不说,直接上code public class AnimationActivity extends AppCom ...

  10. 【awesome-dotnet-core-learning】(1)-Sprache-解析器构建库

    [awesome-dotnet-core-learning](1)-Sprache-解析器构建库 关于awesome-dotnet-core-learning .NET Core从2016年发布1.0 ...