Linux详解之软件包管理与源

包管理与源是Linux学习中不可缺少的部分,同时也令很多初学者倍感困惑。本文整理了一些Linux相关的包管理与源方面的材料,希望对大家有帮助。

Linux中的软件包主要分为RPM软件包及DEB软件包两类,其中Redhat Linux等系统使用RPM软件包,Ubuntu Linux等系统使用Deb软件包。本文主要侧重介绍Ubuntu Linux的包管理方法。

首先要介绍几个概念和理解:

(1)安装就是把软件送到一个特定的位置,并且配置好其周边环境,使之能够正确运行。

(2)Deb包就是一个压缩起来的可以安装的软件包。

(3)源是提供软件下载的站点,不同的源提供的软件可能不同。

(4)Ubuntu建立本地数据库,记录软件包之间的依赖关系。

(5)软件包管理工具的作用是提供在操作系统中安装、升级、卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。

如果能够理解上面的几点,就可以对包管理有一个基本的认识。Ubuntu中使用的是Deb软件包,在/etc/apt/sources.list配置文件中保存了提供deb软件包下载的站点,即源。由于该软件包间可能存在依赖关系,一旦安装的软件包多至一定数量,手工的安装与卸载将会非常繁琐且容易出错。为了解决这一问题,出现了很多高级软件包管理工具,如apt-get、aptitude、yum、synaptic等。以apt-get为例,该工具会建立本地数据库,记录软件包之间的依赖关系。当要安装某软件包时,会从源中搜索并下载到本地,同时还会检查该软件包依赖的所有其他包,并安装系统中尚未安装的依赖包;删除则采用类似的方式,从而简化了包管理过程。值得注意的是,这些高级包管理工具最终都是调用dpkg来完成的。

另外,要介绍几个包管理中常用到的命令,详细用于可使用man command或command --help了解并学习。

(1)dpkg

是“debian package”的简写,是Debian软件包管理器的基础。

(2)apt-get

用于从远程获取软件包以及处理复杂的软件包关系。

apt-get update:在修改源后,需要运行该命令,此外也需要定期运行该命令以确保本机的软件包列表是最新的。

apt-get upgrade:用以更新软件包

apt-get dist-upgrade:将系统升级到新版本。

apt-get source:下载源代码。

(3)apt-cache

apt-cache search string:在软件包列表中搜索字符串

apt-cache showpkg:显示软件包信息

(4)alien

可完成rpm软件包与deb软件包之间的转换。

alien -to-deb:转换为deb软件包

alien -to-rpm:转换为rpm软件包

最后,还有介绍几种初学者常遇到问题的解决方案。

(1)怎样安装tar文件?

一般情况下,这里面保存了软件的源代码,需要先用tar命令解压并进行编译,最后安装。

解压根据文件打包格式使用相应命令,然后进入到解压出的目录,

一般依次执行./configure

make

sudo make install

即可完成安装。

(2)怎样安装下载好的deb软件包?

sudo dpkg -i package.deb或者

sudo alien -i package.deb

(3)怎样在Ubuntu中安装rpm软件包?

首先,要使用alien将rpm包转换为deb包。

sudo alien --to-deb package.rpm

接着按照deb软件包安装方式进行安装。

(4)怎样查询本机已安装的软件包?

使用dpkg -l | more命令

时间: 2024-08-18 22:02:54

Linux详解之软件包管理与源的相关文章

Linux软件包管理之源码安装

Linux软件包管理之源码安装 源码包的编译用到了linux系统里的编译器,常见的源码包一般都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言.Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件.所以如果你的机器上没有安装gcc就没有办法去编译源码.你可以使用 yum install -y gcc 来完成安装. 3.1 源码包安装的步骤 1.拿到源代码,并解压 #tar xf package-version.tar.{gz|bz2|xz} 注意:展开

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

编译步骤: 1.#cd SOURCE_CODE 2../configure 作用: 检测编译环境 提供给用户编译配置(通过脚本选项) --help 帮助信息 --prefix=/usr/local/name 安装路径 二进制 /usr/local/name/bin /usr/local/name/libexec不允许自动执行,只能被其他程序调用执行 配置文件 /usr/local/name/conf 库文件 /usr/local/name/lib 帮助文档 /usr/local/name/sha

揭秘SFTP&&SCP命令 Linux详解

很多童鞋对于如果在字符终端进行上传下载以及复制的命令不熟悉,那么下面我就来说一下如何通过sftp以及scp命令进行上传下载以及复制文件的操作. 先来看一下sftp命令: 举例说明:现在我有两台虚拟机,分别是192.168.1.118和192.168.1.121,假设121的主机是远程服务器,且服务器上有一个user2的用户.此时,你想将118上的/etc/passwd文件上传到user2的主目录下,并将user2的.bashrc文件复制到118主机的/tmp目录下. 上传命令是put,下载命令是

软件包管理之源码格式的rpm包

CentOS release 6.5 nginx-1.0.15-5.el6.src.rpm [[email protected] ~]# useradd -r mockbuild    #新建mockbuild用户 [[email protected] ~]# rpm -ivh nginx-1.0.15-5.el6.src.rpm     #和安装二进制rpm包一样 warning: nginx-1.0.15-5.el6.src.rpm: Header V3 RSA/SHA256 Signatu

Redis数据库操作、持久化详解及内存管理基础概览

Redis数据库操作.持久化详解及内存管理基础概览 前言 ? 上篇主要介绍了redis的编译安装流程以及redis常用的两个命令工具,本文主要讲述redis的数据库相关操作:增删改查等等,以及简述理解redis持久化原理和配置操作. Redis数据库操作 Redis 数据库常用命令(一般大小写均可)--比较简单,直接介绍语法,自行尝试验证当然这些只是冰山一角,例如不同的数据类型对应的操作都不一样,有研究兴趣的可以深入了解.单个数据库命令: set--写入数据 语法:set key value g

linux学习笔记之软件包管理

软件包管理 软件包组成 二进制程序 配置文件 单文件 将主配置文件切割成多个小文件,并放置于某个目录中. /etc/profile ,/etc/profile.d/* /etc/pam.conf , /etc/pam.d/* 单文件,在内部分割成多个片段. [mysql] [mysqld]... 库文件: 二进制 可执行  函数(c程序都由函数组成) 共享模块 静态库 动态库 帮助文件 手册页 文档(/usr/share/doc) /bin /sbin 系统启动使用 /usr/bin  /usr

Linux下的程序包管理之源码形式

 Linux下程序包管理之源码形式 程序包的前世今生: 说到程序包管理,不得不提到是就是程序包是由什么组成的?也就是怎么形成的?程序是由源代码程序经过预处理.编译.然后汇编形成二进制的程序,这是针对特定硬件而形成的程序.有计算机编程基础的同学都应该知道源代码编译的时候是要调用特定的库(库文件),而这些库,在不同的系统上是不同的,比如Linux和window上的就不同,不同发行版的Linux上的库也不尽相同,所以这就导致了在不同种类系统上编译生成的二进制程序的运行环境也不尽相同,那么这些程序是不能

linux详解sudoers

sudo使用 Linux是多用户多任务的操作系统, 共享该系统的用户往往不只一个.出于安全性考虑, 有必要通过useradd创建一些非root用户, 只让它们拥有不完全的权限; 如有必要,再来提升权限执行. sudo就是来解决这个需求的: 这些非root用户不需要知道root的密码,就可以提权到root,执行一些root才能执行的命令. 执行sudo -u <用户名> <命令>, 将允许当前用户,提权到<用户名>的身份,再执行后面的<命令>, 即使<命

详解程序包管理RPM

一.定义      RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 二.RPM包管理的用途 1.可以安装.删除.升级和管理软件:当然也支持在线安装和升级软件:2.通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包:3.可以在查询系统中的