Linux入门系列——软件包管理

Linux入门系列——软件包管理,第1张

RedHat 系统中使用的是: rpm (redhat package manager) 现在称:RPM is Package Manager

Debian : dpt

Ubuntu : apt

安装软件的时候,有可能出现软件包的相互依赖关系;所以红帽公司推出了:yum(Yellowdog update modifier)

包的组成部分:

主包:

bind-9.7.1-1..e15.i586.rpm

子包:

bind-libs-9.7.1-1..e15.i586.rpm

bind-utils-9.7.1-1..e15.i586.rpm

包名:

PackageName-Version-Release.Arch.rpm

bind-major-minor-releases-release.arch.rpm

包名-主版本号-次版本号-发行号-rpm包的制作者的发行号.硬件平台.rpm

主版本号:重大改进;

次版本号:某个子功能发生重大变化;

发行号:修改BUG,调整了一点功能;

bind-9.7.1-1.noarch.rpm 这里的noarch表示不区分硬件平台,32和64都可以使用;如果是ppc则是在PowerPc上使用的包;

# rpm -ivh /path/to/Package_Name

-i,--install 表示安装

-v 表示显示安装过程的信息

-h 表示以#显示安装的进程,总数为50个;

-vv 显示更详细的过程;

--nodeps 安装的时候忽略依赖关系

--force 无论之前是否安装过,都强制安装,可以实现重装、降级;

--replacepkgs 重新安装,替换原有的安装;

--oldpackage 对软件包进行降级;

--test Do not install the package, simply check for and report potential conflicts. 不进行安装,只测试看在安装的时候有没有依赖包要装;

rpm -q soft_name

# rpm -q httpd

rpm -qa 查询当前系统中已经安装的rpm软件包;

# rpm -qa |grep ‘ssh*’

rpm -qi soft_name 查询软件包的安装信息:

[root@ns2 rpm]# rpm -qi zlib-devel

Name : zlib-devel Relocations: /usr

Version : 1.2.3 Vendor: CentOS

Release : 4.el5 Build Date: 2011年05月11日 星期三 18时57分15秒

Install Date: 2013年07月21日 星期日 17时02分41秒 Build Host: builder10.centos.org

Group : Development/Libraries Source RPM: zlib-1.2.3-4.el5.src.rpm

Size : 269981 License: BSD

Signature : DSA/SHA1, 2011年09月04日 星期日 03时24分25秒, Key ID a8a447dce8562897

URL : http://www.gzip.org/zlib/

Summary : Zlib 开发的头文件和库。

Description :

zlib-devel 软件包包括开发使用 zlib 压缩和解缩库的程序

所需的头文件和库。

[root@ns2 rpm]#

rpm -ql soft_name 查看该软件包在系统中存放了哪些文件;

rpm -qf /path/to/file_name 查看该文件是由哪个rpm包生成的。

rpm -qc soft_name 查看指定rpm包安装的配置文件的位置;

rpm -qd soft_name 查看指定rpm包安装的帮助文件的位置;

rpm -q --scripts soft_name 查看指定rpm包在安装、卸载、更新的前后,所要执行的shell脚本;

rpm -qp[i|l|d|c|] 即要加上一个“p”选项;

rpm -Uvh /path/to/package_name

如果安装的指定的软件包已经安装过,则进行升级 *** 作,如果没有安装过,则就使用指定的这个软件包进行安装;

rpm -Fvh /path/to/package_name

如果安装过,则升级,否则不进行任何 *** 作;

rpm -Fvh --oldpackage package_name 通常用这个来降级一个rpm包;

rpm -e package_name

--nodeps 强制卸载

rpm -V package_name 也可以使用--verify

通常用来检查安装后的文件是不是被修改过;

加密算法:

对称加密: 加密和解密使用同一个key

非对称加密:有一对密钥(公钥和私钥),公钥大家都可以知道,私钥只有持有人知道;公钥加密私钥解,私钥加密公钥也可以解。不能由公钥摧出私钥,也不能由私钥摧出公钥;私钥还用来做签名,因为只有私钥持有人自己才有;

单向加密:使用这种加密算法加密后,是不可以再还原的。通常用它来做数据完整性的验证,也就是验证数据在传输的过程中有没有被别人修改过。

在红帽的系统中,/etc/pki/rpm-gpg/目录下面存放了红帽公司的gpg-key(相当于公钥),所以只需要把这个gpgkey导入到系统中就可以验证了。导入方法如下:

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

接下来就可以对将要安装的rpm包进行验证了:

# rpm -K /path/to/package_file

dsa,gpg验证来源的合法性,也就是验证签名。但是可以使用--nosignature 来跳过签名验证;

sha1,md5验证软件包的完整性,可以使用--nodigest 来跳过完整性验证;

rpm --rebuilddb 重建数据库

--initdb 初始化数据库

yum install -y pack1 pack2 安装指定的软件包

yum remove pack1 pack2 -y 删除指定的软件包

yum update pack1 pack2 更新指定的软件包

yum list installed 列出所有已经安装的软件包

yum update 更新源

yum search string 搜索包含string的软件包

yum install package_name 获取软件包信息

# tar zxf nginx-1.4.7.tar.gz -C /usr/src

# configure --prefix=/usr/local/nginx --conf-path=/etc

# make

# make install

由于使用的是源码包安装在非正常路径下。所以还要做以下的调整:

修改/etc/profile文件。或是在/etc/profile.d/下创建一个以.sh结尾的文件;再把二进制程序的路径export出来就行了;

在/etc/ld.so.conf.d/中创建一个以.conf文件结尾的文件,而后把要增添的路径直接写入此文件中就行了;

这样系统就会在下次启动的时候,自动加载这些新增加的库;如果想让系统马上可以找到这些新增加的库,就必须执行下面的命令:

# ldconfig 通知系统重新搜索库文件,还可以加上-v选项,表示显示过程;

默认的头文件搜索路径是:/usr/include/

要添加新的头文件搜索路径,可以使用链接的方式:

ln -s /usr/local/nginx/include/* /usr/include/

ln -s /usr/local/nginx/include /usr/include/nginx

这时可以修改/etc/man.conf文件,在里面添加以下内容:

MANPATH /usr/local/nginx/man

还有一种方式就是临时使用:

# man -M /usr/local/nginx/man nginx 这样就可以查看nginx的man手册了;

一、Linux常用安装包及安装方法

1、安装包一般有四类:

 1)tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。

 2)rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一种包封装格式。包的管理工具YUM

 3)dpkg包,如software-1.2.3-1.deb。他是Debain Linux提供的一种包封装格式。包的管理工具apt-get

 4)bin包,如jdk-1_5_0_05-linux-i586.bin,有些Linux软件不公开源代码,只发布二进制可执行程序,这

类程序一般会以bin来标记。

2、tar一般安装方法

 1)取得应用软件:通过下载、购买光盘的方法获得;

 2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格

式,则能执行:“tar -xvzf 软件包名”,就能一步完成解压和解包工作。如果不是,则先用解压软件,再执

行“tar -xvf 解压后的tar包”进行解包;

 3)阅读附带的INSTALL文件、README文件;

 4)执行“./configure”命令为编译做好准备;

 5)执行“make”命令进行软件编译;

 6)执行“make install”完成安装;

 7)执行“make clean”删除安装时产生的临时文件。

一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理

,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。

3、rpm包一般安装方法

只需简单的一句话,就能说完。执行:

 rpm -ivh rpm软件包名

 rpm参数      参 数 说 明

  -i         安装软件

  -t         测试安装,不是真的安装

  -p         显示安装进度

  -f         忽略所有错误

  -U         升级安装

  -v         检测套件是否正确安装

4、deb包一般安装方法

 dpkg -i deb软件包名

 如:dpkg -i software-1.2.3-1.deb

5、bin包一般安装方法

    1)、打开一个SHELL,即终端

    2)、用CD 命令进入源代码压缩包所在的目录

    3)、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)

    4)、执行命令:./******.bin(realplayer for linux就是这样的安装包),执行安装过程中可以指定安装目录,类似于Windows下安装。

二、如何查找光盘中的rpm包

使用find命令查找光盘中的内容即可。比如要查找mysql相关的rpm包。可以执行如下命令:

find /media -name mysql*.rpm

说明:一般将光盘插入光驱,Linux系统会自动挂载,如上图,我的机器挂载点是/media目录。找到你需要的包名,直接安装即可。

1、打开系统,可以看到桌面如下图,找到软件中心,打开软件中心

2、你还可以直接从网站上下好deb的安装包,然后双击进行安装

3、或者你在安装包在的文件夹,按住shift,点击鼠标右键,会d出如下界面,点击在终端中打开

4、最后还有一种安装方法,输入如下命令,softname是你的软件名,必须准确才可以安装,建议你安装前上网查一下该输入什么,然后回车直接在Linux系统下安装软件了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8553495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存