linux软件包的管理-自己总结-附实例
- 格式:pdf
- 大小:360.15 KB
- 文档页数:3
使用Linux终端进行软件包管理在Linux操作系统下,软件包是一种通过预编译的二进制代码、配置文件、库文件等组成的软件安装单位。
通过软件包管理系统,用户可以方便地查找、安装、更新、卸载软件包。
在Linux系统中,终端是一种强大的工具,可以通过命令行来执行各种系统操作。
本文将介绍如何使用Linux终端进行软件包管理。
一、查找软件包在Linux终端中查找软件包可以通过以下命令实现:1. 使用apt命令查找软件包:$ apt search <关键词>例如,要查找名为“firefox”的软件包,可以输入:$ apt search firefox2. 使用yum命令查找软件包:$ yum search <关键词>例如,要查找名为“firefox”的软件包,可以输入:$ yum search firefox3. 使用dnf命令查找软件包(Fedora 22及以上版本):$ dnf search <关键词>例如,要查找名为“firefox”的软件包,可以输入:$ dnf search firefox二、安装软件包在Linux终端中安装软件包可以通过以下命令实现:1. 使用apt命令安装软件包:$ apt install <软件包名称>例如,要安装名为“firefox”的软件包,可以输入:$ apt install firefox2. 使用yum命令安装软件包:$ yum install <软件包名称>例如,要安装名为“firefox”的软件包,可以输入:$ yum install firefox3. 使用dnf命令安装软件包(Fedora 22及以上版本): $ dnf install <软件包名称>例如,要安装名为“firefox”的软件包,可以输入:$ dnf install firefox三、更新软件包在Linux终端中更新软件包可以通过以下命令实现:1. 使用apt命令更新软件包:$ apt update该命令会更新软件包列表。
在Linux终端中管理软件包Linux终端是Linux操作系统中用于命令行交互的工具,通过终端可以实现对软件包的管理。
软件包管理是Linux系统中一个重要的功能,它可以帮助我们方便地安装、卸载、更新和管理各种软件包。
本文将介绍在Linux终端中如何进行软件包管理的操作步骤和常用命令。
一、软件包管理系统在Linux中,常用的软件包管理系统有两种:Debian系和Red Hat 系。
Debian系的代表是Debian和Ubuntu,而Red Hat系的代表是Red Hat和CentOS。
这两种系统使用不同的软件包管理工具,分别是dpkg和rpm。
1. Debian系软件包管理工具dpkgdpkg是Debian系系统中的软件包管理工具,它可以处理.deb格式的软件包。
下面是一些常用的dpkg命令:- 安装软件包:sudo dpkg -i package.deb- 查询软件包信息:dpkg -l package- 卸载软件包:sudo dpkg -r package- 更新软件包:sudo dpkg -i --force-overwrite package.deb2. Red Hat系软件包管理工具rpmrpm是Red Hat系系统中的软件包管理工具,它可以处理.rpm格式的软件包。
下面是一些常用的rpm命令:- 安装软件包:sudo rpm -i package.rpm- 查询软件包信息:rpm -q package- 卸载软件包:sudo rpm -e package- 更新软件包:sudo rpm -U package.rpm二、软件包管理基本操作1. 软件包的安装在Linux终端中,可以使用软件包管理工具安装软件包。
以Debian 系为例,使用dpkg命令安装软件包的格式为:sudo dpkg -i package.deb其中package.deb是要安装的软件包文件名。
同样,对于Red Hat系的系统,使用rpm命令安装软件包的格式为:sudo rpm -i package.rpm其中package.rpm是要安装的软件包文件名。
提要:在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础;只有我们学会软件包的管理才能谈得上其它的应用;软件包的安装、更新、查询,以及几个常用的软件包管理工具,比如system-cofig-packages 、yum 、apt 等一、软件包管理的基础;1、什么是RPM,RPM有何用?初次为Fedora /Redhat 安装软件,我们应该学会RPM的安装和使用,也应该知道RPM是做什么用的;RPM 是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe 文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的,Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows的系统原理是差不多的;软件安装流程图:说明:1、RPM管理的软件的,对通过file.tar.gz 或file.tar.bz2源码包用make ;make install 安装的软件无效;2、安装软件时,最好用各自发行版所提供的系统软件包管理工具;1)Fedora 系统管理软件包工具system-config-package s,方便的添加和移除系统安装盘提供的软件包;2)Redhat 系统管理软件包工具,新一点的系统应该是redhat-config-packages,用法system-config-packages一样;3)apt + synaptic 软件包在线安装、移除、升级工具;4)yum 软件包在线安装、升级、移除工具;目前apt和yum 已经极为成熟了,建议我们安装软件时,采用apt或者yum ;如果安装系统盘提供的软件包,可以用system-config-packages 或redhat-config-packages ;一、RPM包管理的用途;1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;3、可以在查询系统中的软件包是否安装以及其版本;4、作为开发者可以把自己的程序打包为RPM 包发布;5、软件包签名GPG和MD5的导入、验证和签名发布6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;二、RPM 的使用权限;RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;三、rpm 的一点简单用法;我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;一)初始化rpm 数据库;通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库;[root@localhost]# rpm --initdb[root@localhost]# rpm --rebuilddb 注:这个要花好长时间;注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;二)RPM软件包管理的查询功能:命令格式rpm {-q|--query} [select-options] [query-options]RPM的查询功能是极为强大,是极为重要的功能之一;1、对系统中已安装软件的查询;1)查询系统已安装的软件;语法:rpm -q 软件名举例:[root@localhost]# rpm -q gaimgaim-1.3.0-1.fc4-q就是--query ,中文意思是“问”,此命令表示的是,是不是系统安装了gaim ;如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息;查看系统中所有已经安装的包,要加-a 参数;[root@localhost RPMS]# rpm -qa如果分页查看,再加一个管道|和more命令;[root@localhost RPMS]# rpm -qa |more在所有已经安装的软件包中查找某个软件,比如说gaim ;可以用grep 抽取出来;[root@localhost RPMS]# rpm -qa |grep gaim2)查询一个已经安装的文件属于哪个软件包;语法 rpm -qf 文件名注:文件名所在的绝对路径要指出举例:[root@localhost RPMS]# rpm -qf /usr/lib/libacl-devel-2.2.23-83)查询已安装软件包都安装到何处;语法:rpm -ql 软件名或 rpm rpmquery -ql 软件名举例:[root@localhost RPMS]# rpm -ql lynx[root@localhost RPMS]# rpmquery -ql lynx4)查询一个已安装软件包的信息语法格式: rpm -qi 软件名举例:[root@localhost RPMS]# rpm -qi lynx5)查看一下已安装软件的配置文件;语法格式:rpm -qc 软件名举例:[root@localhost RPMS]# rpm -qc lynx6)查看一个已经安装软件的文档安装位置:语法格式: rpm -qd 软件名举例:[root@localhost RPMS]# rpm -qd lynx7)查看一下已安装软件所依赖的软件包及文件;语法格式: rpm -qR 软件名举例:[root@localhost]# rpm -qR rpm-python查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如rpm -qil ;比如:[root@localhost RPMS]# rpm -qil lynx2、对于未安装的软件包的查看:查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等;1)查看一个软件包的用途、版本等信息;语法: rpm -qpi file.rpm举例:[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm2)查看一件软件包所包含的文件;语法: rpm -qpl file.rpm举例:[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm3)查看软件包的文档所在的位置;语法: rpm -qpd file.rpm举例:[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm5)查看一个软件包的配置文件;语法: rpm -qpc file.rpm举例:[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm6)查看一个软件包的依赖关系语法: rpm -qpR file.rpm举例:[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm/bin/bash/usr/bin/pythonconfig(yumex) = 0.42-3.0.fc4pygtk2pygtk2-libgladerpmlib(CompressedFileNames) <= 3.0.4-1rpmlib(PayloadFilesHavePrefix) <= 4.0-1usermodeyum >= 2.3.2三)软件包的安装、升级、删除等;1、安装和升级一个rpm 包;[root@localhost]#rpm -vih file.rpm 注:这个是用来安装一个新的rpm 包;[root@localhost]#rpm -Uvh file.rpm 注:这是用来升级一个rpm 包;如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;语法结构:[root@localhost]# rpm -ivh file.rpm --nodeps --force[root@localhost]# rpm -Uvh file.rpm --nodeps --force更多的参数,请查看man rpm举例应用:[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%][root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%]注:--replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;测试安装参数--test ,用来检查依赖关系;并不是真正的安装;[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]由新版本降级为旧版本,要加--oldpackage 参数;[root@localhost RPMS]# rpm -qa gaimgaim-1.5.0-1.fc4[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# rpm -qa gaimgaim-1.3.0-1.fc4为软件包指定安装目录:要加-relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在/opt/gaim 目录中;[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm Preparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# ls /opt/gaim为软件包指定安装目录:要加-relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在/opt/lynx 目录中;[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm Preparing... ########################################### [100%]1:lynx ########################################### [100%]我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;如果有错误输出,就做相应的链接,用ln -s ;2、删除一个rpm 包;首先您要学会查询rpm 包;[root@localhost]#rpm -e 软件包名举例:我想移除lynx 包,完整的操作应该是:[root@localhost RPMS]# rpm -e lynx如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。
《Linux系统管理》Linux软件包管理实验报告一、实验目的:1.了解作为系统管理员如何为新用户建立帐户2.如何增加、设置或修改账户和组3.掌握常用软件包的管理方法4.掌握网络通信管理5.掌握进程管理6.掌握常用的磁盘管理命令(1)查看student用户的配置文件及管理文件(3)将student用户更名为newStudent(4)显示当前登录的账户信息(2)删除创建的用户。
2.组管理(1)创建一个公共组group1(2)将group1组更名为group(3)添加group组的成员student1,student2,student3,student4,并给每一个用户分配一个密码(2)设定student1为group组的管理员(5)将group组内的用户student3和student4删除3.常用软件包的管理方法(1)RPM软件包①查询系统中安装的所有RPM软件包②查询httpd-2.4.6-90.el7.centos.x86_64.rpm,若不在请安装此包③查询httpd-2.4.6-90.el7.centos.x86_64.rpm包中文件的信息④查询ftp-0.17-67.el7.x86_64.rpm包中文件的信息⑤查询系统中已安装(python-cffi-1.6.0-5.el7.x86_64)包里所包含的文件⑥查询系统中指定文件所属的软件包⑦查询apache-commons-cli-1.2-13.el7.noarch.rpm,若不在请安装此包。
⑧删除apache-commons-cli-1.2-13.el7.noarch.rpm包(2)YUM软件包①查看YUM软件仓库配置文件的关键信息。
②进行YUM本地资源的配置。
③采用YUM命令进行软件包的查询,并安装httpd包(主要观察安装的过程)。
(3)TAR软件包①将整个/etc目录打包压缩成myetc.tar.gz文件,并保存在/root目录中。
Linux软件包管理RPM包管理在Windows下安装软件时,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装。
在Linux下安装软件对初学者来说,难度高于Windows下软件安装。
下面我就详细讲解Linux下如何安装软件。
先来看看Linux软件扩展名。
软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.deb是Debain Linux提供的一种包封装格式;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。
通过扩展名可以了解软件格式,进而了解软件安装。
RPM格式软件包的安装几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。
与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。
RPM全称是Red Hat Package Manager(Red Hat包管理器)。
RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。
大多数Linux RPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型-emacs-21.4-20.el5.i386.rpm。
RPM命令主要参数:-i 安装软件。
-t 测试安装,不是真的安装。
-p 显示安装进度。
-f 忽略任何错误。
-U 升级安装。
-v 检测套件是否正确安装。
-q 查询软件包是否被安装-a 查询所有软件包这些参数可以同时采用。
更多的内容可以参考RPM的命令帮助。
1.查询RPM包是否安装# rpm –q emacs #查询软件名为emacs的软件包# rpm –qa | grep emacs #查询软件名包含emacs的软件包2.安装RPM包软件# rpm -ivh emacs-21.4-20.el5.i386.rpm3.卸载软件# rpm -e 软件名需要说明的是,上面代码中使用的是软件名,而不是软件包名。
目录
Linux软件包管理 (2)
二进制软件包管理(RPM,YUM) (2)
软代码包安装 (3)
脚本安装 (3)
ATP报管理(ubantu) (3)
Linux软件包管理
二进制软件包管理(RPM,YUM)
RPM(RedHat package management):
安装:rpm ivh sudo-1.7.2pl-5.el5.i386.rpm
软件名称-版本号-发行号.硬件平台
卸载:rpm –e sudo (rpm --nodeps sudo) 软件包有依赖性关系,卸载时会产生提示信息,可使用后面的语句进行强行卸载
挂载光盘:mkdir /mnt/cdrom
Mount /dev/cdrom /mnt/cdrom
查看软件是否安装:rpm –q sudo
rpm –qa | grep samba
rpm –qf sudo (查询所述的软件包)
rpm –qi sudo rpm –qip sudo (查询已安装或未按装软件包的描述信息)
rpm –ql sudo rpm –qlp sudo (查询软件包安装的文件)
rpm –qd sudo rpm –qdp sudo (查询软件包帮助文档)
rpm –qc sudo rpm –qcp sudo (查询软件包配置文件)
校验:rpm –V sudo
提示:5 md5校验值内容变化(md5sum /etc/services)
S 文件大小变化
T 文件的时间
M 权限变化
U 文件的所有者变化
G 文件的用户组变化
L 连接文件变化
D 设备文件变化
软件包文件提取:
压缩所有文件到当前目录
rpm2cpio /mnt/cdrom/CentOS/initscripts-8.45.30-2.el5.centos.i386.rpm | cpio –idv 压缩指定文件到当前目录
rpm2cpio /mnt/cdrom/CentOS/initscripts-8.45.30-2.el5.centos.i386.rpm | cpio –idv ./etc/inittab 其他安装选项:rpm –ivh --excludedocs sudo-1. 7.2pl-5.el5.i386.rpm (不安装文档内容) rpm –ivh --prefix PATH sudo-1. 7.2pl-5.el5.i386.rpm (将软件包安装到由PATH指定的路径下)
rpm –ivh --test sudo-1. 7.2pl-5.el5.i386.rpm (只对安装进行测试,并不实际安装)
rpm –ivh --replacepkgs sudo-1. 7.2pl-5.el5.i386.rpm(覆盖安装该软件包)
rpm –ivh --replacefiles sudo-1. 7.2pl-5.el5.i386.rpm(文件冲突,覆盖)
rpm –Uvh sudo-1. 7.2pl-5.el5.i386.rpm(升级软件包)
YUM包管理
好处:1)自动解决软件包依赖关系2)方便的软件包升级
安装(yum install):yum install sudo (下载安装y,自动监测依赖关系) 监测升级(yun check-update):yum check-update sudo
升级(yum update):yum update sudo
软件包查询(yum list):yum list | more
软件包信息(yum info):yum info sudo
卸载(yum remove):yum remove sudo
帮助(yum –help,man yum):yum –help man yum
软代码包安装
应用举例(proftpd):
解压解包:tar –xzvf proftpd-1.3.3d.tar.gz
到此目录:cd proftpd-1.3.3d
配置:./configure --prefix=/usr/local/proftpd
编译:make
安装:make install
脚本安装
应用举例(webmin,OpenOffice)
解压解包:tar –xzvf webmin-1.530.tar.gz
到此目录:cd webmin-1.530
找到编写:vi README vi INSTALL
比如是用:./setup.sh
ATP报管理(ubantu)
搜索软件包:apt-cache search
软件包信息:apt-cache show
安装:apt-get install (reinstall,-f)
删除:apt-get remove (autoremove,--purge)
更新软件源:apt-get update
更新已安装包:apt-get update。