Linux软件管理

包管理工具上,影响最大的两个系列,就是debian的dpkg包和Red Hat的rpm包两大系列。

  • dpkg系的前端工具是apt,用于Debian系统及其衍生系统如Ubuntu系统,以及Ubuntu的衍生系统如LinuxMint。
  • rpm系的影响更广,主要有两大分支:
  • zypper:用于OpenSUSE系统。OpenSUSE上还有强大的yast2工具
  • yum:用于CentOS系统。
  • dnf:由于yum很久不维护,所以Fedora使用了yum的一个新的分支dnf

【1】软件包管理

在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础,只有我们学会软件包的管理才能谈得上其它的应用。

RPM

RPM是软件管理程序,提供软件的安装、升级、查询、反安装的功能。

  • 优点:
    • a、安装方便,软件中所有数据都经过编译和打包
    • b、查询、升级、反安装方便
  • 缺点:
    • a、缺乏灵活性
    • b、存在相依属性
用法:

rpm 参数 软件包

指令选项
-i:安装。
-U:升级安装,如果不存在也安装。
-F:更新安装,如果不存在不安装。
-v:查看信息。
-h:有进度条。
--replacepkgs:强制覆盖安装。 
--nodeps:不考虑相依属性。 
-q <软件名>:查询。
-qa:查询所有。
-ql <软件名>:列出软件的文件清单。
-qi <软件名>:列出软件信息。
-qf <文件名>:查询文件所属软件。
-e <软件名>:删除软件。

例子:

rpm -ivh bind-9.3.6-4.P1.el5_4.2.i386.rpm#安装
rpm -Uvh/Fvh bind-9.3.6-4.P1.el5_4.2.i386.rpm #升级安装
rpm  -e  bind-9.3.6-4.P1.el5_4.2.i386 #删除软件包
rpm -qpi *.rpm     #查看软件包里的内容
rpm -qpl *.rpm  #查看软件包将会在系统里安装哪些部分
rpm –qa   #列出所有被安装的rpm 软件包

【2】YUM

yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.

它能便于管理大量系统的更新问题

yum特点
  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性
yum配置

挂载光盘文件到硬盘

mkdir –p /mnt/cdrom
chmod 777 /mnt
mount -t iso9660 /dev/cdrom /mnt/cdrom

配置/etc/yum.repos.d/server.repo

[cdrom]
name=cdrom
baseurl=file:///mnt/cdrom
enabled=1

清除原有的yum信息

[root@localhost ~]# yum clean all

查看yum 信息

[root@localhost ~]# yum list
创建本地YUM仓库
  • ① 新建一个目录——该目录作为软件仓库,将光盘中的rpm包(位于Packages文件夹)保存到该目录下。
  • ② 对该目录内的rpm软件包建立索引:createrepo -v /rpm-directory,创建该目录下的rpm包索引,索引创建完成后,会在该文件夹下出现一个repodata目录,里面保存了仓库索引信息。

注:第②步中的createrepo工具在默认情况下是没有安装的,需要自己手动安装(Packages中已包含createrepo安装包),安装方法如下:rpm -ivh createrepo-…….rpm。安装createrepo需要手动解决依赖关系。(createrepo工具主要用于收集目录中RPM包文件的头信息,以创建repodata软件仓库数据(经gzip压缩的xml文件))

  • ③在/etc/yum.repos.d目录下 新建一个.repo文件,其中baseurl = file:///rpm-directory 绝对路径
  • ④清理一下yum缓存yum clean all,列出所有的软件包yum list all,查看是否成功。
yum管理软件
yum  install –y   software   #安装软件
yum  update  -y software    #更新软件
yum  remove  -y  software   #删除软件
yum  list     #列出资源库中特定的可以安装或更新以及已经安装的rpm包
yum grouplist # 累出所有软件包群组
yum groupinstall   ‘包群组名’ # 安装软件包群组
yum groupremove  ‘包群组名
yum  info    包名    #查看软件包信息
yum search  包名 # 搜索
yum clean all  #清除缓存
yum添加163源

地址:

下载方式:

【3】apt-get

用Linux apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:

deb [web或ftp地址] [发行版名字][main/contrib/non-free]

我们常用的Ubuntu就是一个基于Debian的发行

命令:
apt-get update:在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。
apt-get install packagename:安装一个新软件包
apt-get remove packagename:卸载一个已安装的软件包(保留配置文件)
apt-get –purge remove packagename:卸载一个已安装的软件包(删除配置文件)
apt-get autoclean apt:会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件
apt-get clean:这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
apt-get upgrade:更新所有已安装的软件包
apt-get dist-upgrade:将系统升级到新版本
apt-get autoclean:定期运行这个命令来清除那些已经卸载的软件包的.deb文件。
坚持原创技术分享,您的支持将鼓励我继续创作!