linux下软件包管理-源码包-二进制包

linux软件包管理
 
1.软件包分类
    源码包
    二进制包(rpm包)
    
2.rpm包命名规则
 
    命名规则:
        name-major-minjor-release-release.arch.rpm
        
         name:包名
        major:主版本号
        minjor:次版本号
        release:发行版本,修复了重大的bug
        release:rpm的功能更新
        arch:平台
    包全名:软件未安装前
    包名:软件安装后        
3.安装

  rpm -ivh 包全名

4.升级

    rpm    -Uvh 包全名

5.卸载
    rpm -e 包名
    -e(erase)
    --nodeps:不关注依赖性,一般不使用
 
6.查询

rpm -q 包名 
     
    rpm -qa :查询所有已安装的包 
     
    rpm -qi 包名:查询包的详情
     
    rpm -qip 包名:查询包的详情(未安装包) 
     
    rpm -ql 包名:查询指定包安装后文件的生成列表 
     
    rpm -qlp 包名:未安装的包的信息列表 
     
    rpm -qf 包名:查找指定的文件由哪个rpm包生成

7.校验

    rpm -V 包名

S:文件大小改变了
    M:文件权限修改了
    5:md5校验失败
    D:设备主从码
    L:文件路径
    U:属主
    G:属组
    T:文件的修改时间
    
8.查询软件包的依赖性

    rpm -qR 包名

9.导入密钥文件

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-REDHAT-RELEASE

rpm包安装默认的位置:

/etc/ 配置文件安装
/usr/bin/ 可执行的命令安装目录
/usr/lib/ rpm包的库目录
/usr/share/doc/ 使用手册
/usr/share/man/ 帮助文档


yum在线安装包
 
yum文件所在地/etc/yum.repos.d,一repo结尾

制作光盘源:
 
1.挂载光盘
 
2.禁止网络源
 
3.修改配置文件

[cdrom]
name=cdrom repo
baseurl=file:///media/cdrom/Server
enable=1
gpkcheck=0



yum命令:
 
yum list
        all:列出所有
        available:可用的
        instatlled:已经安装的软件
        updates:可用的升级
 
yum search 关键词 :搜索服务器上所有和关键词有关的包
 
安装:

yum -y install 包名

卸载:

yum -y remove 包名

清除缓存:

    yum clean

一般原则:服务器使用最小化安装,用什么软件安装什么软件,尽量避免卸载
 
yum组管理

yum grouplist 
 
yum groupinstall "Chinaese Support"


源码包管理:
 
源码包安装位置:/usr/local/软件名
 
安装源码包一定要指定一个安装位置

源码安装的过程:
1.下载源码

2.解压源码包,并进入到源码包目录

3.执行./configure
    ./configure可接选项,可输入./configure --help查看可用到的选项
    
4.make

5.make install

安装注意事项:
源码包保存位置:/usr/local/src/
软件安装位置:/usr/local/



脚本安装包:
 
脚本实例下载:lnmp.org

时间: 2024-12-28 12:47:06

linux下软件包管理-源码包-二进制包的相关文章

Linux下软件包管理

为什么要有软件包管理器? 虽然使用源代码进行编译可以定制一些高级功能,但对于Linux发行商来说,管理软件不容易,而且不是每个使用Linux的用户都有能力进行编译安装,如果能够将软件预先在相同的硬件与操作系统上编译好在发行出发行版的话,就可以让相同的发行版具有完全一致的软件版本,再加上安装/删除/管理机制,从此对软件包的管理也就相对简单得多,所以就将源代码包按照对应的平台格式封装起来,并发行出来,发行出来的软件包,我们在红帽系列的系统上称之为 RPM: 两大主流的软件包管理器版本: RPM:RP

Windows,linux下编译qt源码(比较简单)

一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic –static –release -nomake examples  --nomake demos-nomake docs -continue 4.待执行完之后执行make 5.makeinstall 参考:http://www.cnblogs.com/qianyuming/archive/201

软件包管理—源码编译安装

基础了解 在一个比较大型的项目中,所有的文件不可能全部编辑于一个文件中.常常会将源码存放于多个文件中,便于日后维护和管理,故编译安装起来就不那么容易. 在项目完成之后,项目的发布者通常会进行如下操作: 1.autoconf:会生成configure文件. 该文件主要用于检查编译环境是否满足编译需求,并定义启用哪些功能或特性,同时定义安装路径. 其结果是,结合makefile.in生成makefile文件. 2.automake:生成makefile.in文件. 编译安装的步骤(以源码安装Pyth

vc 下和Linux 下的auto_ptr源码剖析

1.vc template<class _Ty> class auto_ptr { public: typedef _Ty element_type; auto_ptr(_Ty *_P = 0)  : _Owns(_P != 0), _Ptr(_P) {} //拷贝构造  将_Y的管理权_Owns = false 释放后将指针赋值过去 auto_ptr(const auto_ptr<_Ty>& _Y) : _Owns(_Y._Owns), _Ptr(_Y.release()

linux下安装apache源码

卸载原先的rpm包安装的apache yum -y remove httpd* 1.上传源代码包: 2.解压源代码包: 源代码安装: 1.生成编译配置文件 rpm -qa | grep gcc (检查是否含有gcc 编译库) yum -y install gcc* 安装gcc库: 2.进行编译 make 3.进行安装 make install

linux下对rpm源码手工打补丁

基本命令语法:patch [-R] {-p(n)} [--dry-run] < patch_file_namep:为path的缩写.n:指将patch文件中的path第n条’/’及其左边部分取消.-R:卸载patch包.--dry-run:尝试patch软件,并不真正修改软件.使用实例:/home/sense/patch-2.6.19.1=============================================================diff --git a/arch/i

Linux下软件包安装详解

一.概述 现在Linux上软件的安装方式有多种,有源码包编译,软件包管理器,软件包管理器前端工具,通用二进制编译等.源码包,优点是,灵活性和可定制性比较好,缺点是,技术要求高,操作复杂,虽然网上有编译安装软件的文档,也有很多人在使用,也都是默认或者简单配置后编译的.后来出了软件包管理工具RPM,RPM软件包管理软件方便多了但是它的依赖关系让人头疼,所以又推出出了YUM解决了让人头疼的依赖关系.在这里我给大家介绍一下几种常用Linux软件安装方式. 二.软件包的组成 一个软件包安装之后包含多种类型

debian下软件包管理方式总结

linux最流行的包管理方式除了rpm之外就是debian的deb格式了.目前采用deb管理方式的主流操作系统主要有debian和ubuntu系列.和rpm包管理方式不同的是,虽然debian也有包含所有软件包的诸多iso光盘.但debian使用者更习惯于直接从网络上通过源get软件包现在rpm也有apt-get的port,但还是不够完善,rpm使用者一般是通过yum或者光盘寻找软件简单总结一下debian下管理软件常用的操作1.首先需要配置source,默认配置文件是/etc/apt/sour

Linux c 开发 - Memcached源码分析之命令解析(2)

前言 从我们上一章<Linux c 开发 - Memcached源码分析之基于Libevent的网络模型>我们基本了解了Memcached的网络模型.这一章节,我们需要详细解读Memcached的命令解析. 我们回顾上一章发现Memcached会分成主线程和N个工作线程.主线程主要用于监听accpet客户端的Socket连接,而工作线程主要用于接管具体的客户端连接. 主线程和工作线程之间主要通过基于Libevent的pipe的读写事件来监听,当有连接练上来的时候,主线程会将连接交个某一个工作线