澳门新濠新天地3559_www.3559.com新濠新天地网址

您的位置:新天地3559 > 电工电气 > 能够极大地简化你的工业互联网部署,界软体安

能够极大地简化你的工业互联网部署,界软体安

2019-11-08 22:56

加利福尼亚布雷亚,2016年5月26日——摩莎最新推出的ThingsPro 软体套件,它是用于分布式数据采集和设备管理的集成解决方案,能够极大地简化你的工业互联网部署。ThingsPro 软体套件是基

将我的Macbook (2009年4月买的,macbook5,2版)灌上Ubuntu 11.10,完全的Ubuntu,OS X掰掰!

由于自由软体的蓬勃发展,加上大型Unix-Like 主机的强大效能,让很多软体开发者将他们的软体使用Tarball 来释出。 后来Linux 发展起来后,由一些企业或社群将这些软体收集起来制作成为distributions 以发布这好用的Linux 作业系统。 但后来发现到,这些distribution 的软体管理实在伤脑筋, 如果软体有漏洞时,又该如何修补呢? 使用tarball 的方式来管理吗? 又常常不晓得到底我们安装过了哪些程式? 因此,一些社群与企业就开始思考Linux 的软体管理方式。

0.关键词解释

  RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名);

    解释:RPM软件包管理器

  YUM:Yellow dog Updater, Modified(现名);

    解释:Shell前端(作为RPM的前端)软件包管理器 。一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。[百科]

  --------------------------------------------

  DPKG:Debian Packager(现名)

    解释:为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除,是Debian软件包管理器的基础 。

      所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。

      dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。

      dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。

      dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包以及处理复杂的软件包关系。

      “dpkg”是“Debian Package”的简写。[百科]

  APT:Advanced Packaging Tool(现名)

    解释:Advanced Packaging Tool(apt),前端(作为DPKG 的前端)包管理工具,是Linux下的一款安装包管理工具,是一个客户/服务器系统。

      Debian GNU/Linux 是Linux APT的缔造者。

      初衷是利用工具来解决软件安装时候的依赖性问题。

      其工作原理大致为:用户安装Linux APT客户端工具,查寻APT服务器端的资料库(repositories)上的RPM软件包信息,并分析软件包之间的依赖性然后下载并进行安装。

 

图片 1

使用体验非常好,Ubuntu 11.10对于刚接触Linux的人来说,是一个非常好入门的版本。

 

1. 前世今生谈起源

在安装软体(套件)的部份,95%以上都可以透过内建的"Ubuntu软体中心"来达成!只要在软体中心输入关键字,便会出现相关的软体套件(or 函式库)供选择,选择喜欢的软体套件后,只要按一下[安装],便可以安装完成!(不需要一直按下一步)。例如:我搜寻"影片",便出现影片播放器、影片剪辑等相关软体套件供选择,您不需要知道套件名称就可以找到适合的软体了!

如同刚刚谈过的方式,Linux 开发商先在固定的硬体平台与作业系统平台上面将需要安装或升级的软体编译好, 然后将这个软体的所有相关档案打包成为一个特殊格式的档案,在这个软体档案内还包含了预先侦测系统与相依软体的脚本, 并提供记载该软体提供的所有档案资讯等。 最终将这个软体档案释出。 用户端取得这个档案后,只要透过特定的指令来安装,那么该软体档案就会依照内部的脚本来侦测相依的前驱软体是否存在,若安装的环境符合需求,那就会开始安装 ,安装完成后还会将该软体的资讯写入软体管理机制中,以达成未来可以进行升级、移除等动作呢。

Linux界的两大主流: RPM与DPKG

由于自由软体的蓬勃发展,加上大型Unix-Like 主机的强大效能,让很多软体开发者将他们的软体使用Tarball 来释出。 后来Linux 发展起来后,由一些企业或社群将这些软体收集起来制作成为distributions 以发布这好用的Linux 作业系统。 但后来发现到,这些distribution 的软体管理实在伤脑筋, 如果软体有漏洞时,又该如何修补呢? 使用tarball 的方式来管理吗? 又常常不晓得到底我们安装过了哪些程式? 因此,一些社群与企业就开始思考Linux 的软体管理方式。

 

如同刚刚谈过的方式,Linux 开发商先在固定的硬体平台与作业系统平台上面将需要安装或升级的软体编译好, 然后将这个软体的所有相关档案打包成为一个特殊格式的档案,在这个软体档案内还包含了预先侦测系统与相依软体的脚本, 并提供记载该软体提供的所有档案资讯等。 最终将这个软体档案释出。 用户端取得这个档案后,只要透过特定的指令来安装,那么该软体档案就会依照内部的脚本来侦测相依的前驱软体是否存在,若安装的环境符合需求,那就会开始安装 ,安装完成后还会将该软体的资讯写入软体管理机制中,以达成未来可以进行升级、移除等动作呢。

 

目前在Linux 界软体安装方式最常见的有两种,分别是:

  • DPKG: 
    这个机制最早是由Debian Linux 社群所开发出来的,透过dpkg 的机制, Debian 提供的软体就能够简单的安装起来,同时还能提供安装后的软体资讯,实在非常不错。 只要是衍生于Debian 的其他Linux distributions 大多使用dpkg 这个机制来管理软体的, 包括B2D, Ubuntu 等等。 
  • RPM : 
    这个机制最早是由Red Hat 这家公司开发出来的,后来实在很好用,因此很多distributions 就使用这个机制来作为软体安装的管理方式。 包括Fedora, CentOS, SuSE 等等知名的开发商都是用这咚咚。

  不论dpkg/rpm 这些机制或多或少都会有软体属性相依的问题,那该如何解决呢? 其实前面不是谈到过每个软体档案都有提供相依属性的检查吗? 那 么如果我们将相依属性的资料做成列表, 等到实际软体安装时,若发生有相依属性的软体状况时,例​​如安装A 需要先安装B 与C ,而安装B 则需要安装D 与E 时,那么当妳要安装A ,透过相依属性列表,管理机制自动去取得B, C, D, E 来同时安装, 不就解决了属性相依的问题吗?

  目前新的Linux 开发商都有提供这样的『线上升级』机制,透过这个机制, 原版光碟就只有第一次安装时需要用到而已,其他时候只要有网路,妳就能够取得原本开发商所提供的任何软体了呢! 在dpkg 管理机制上就开发出APT 的线上升级机制,RPM 则依开发商的不同,有Red Hat 系统的yum , SuSE 系统的Yast Online Update (YOU),Mandriva 的urpmi 软体等。

distribution 代表 软体管理机制 使用指令 线上升级机制(指令)
Red Hat/Fedora RPM rpm, rpmbuild YUM (yum)
Debian/Ubuntu DPKG dpkg APT (apt-get)

  以CentOS为例: 使用的软体管理机制为RPM机制,而用来作为线上升级的方式则为yum !

RPM与DPKG

目前市面上大部分的Linux distro都是根基于Red Hat及Debian这两大厂牌的改装(SuSE是一个异类)​​。 因此在套件管理上,Red Hat的RPM与Debian的DPKG就成为Linux套件管理上的两大标准。

 

这边也不讨论类Unix作业系统在套件管理(软体的安装,移除,查询)上所持的哲学与一般人常用的MS Windows系列有很大的不同而衍生出的困难了,直接就这两个套件管理工具列出比较以利查询。

 

不过,因为我的ubuntu是装在macbook上,所以有些设备的驱动程式并不是很直接可以拿到,例如:macbook的iSight网络视频摄像机

 

2.使用

所以这边简单地说明如何在ubuntu里安装isight的驱动程式:

目前在Linux 界软体安装方式最常见的有两种,分别是:

  2.1 安装

目的 rpm 用法 dpkg 用法
安装指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb

安装步骤:

  • dpkg : 
    这个机制最早是由Debian Linux 社群所开发出来的,透过dpkg 的机制, Debian 提供的软体就能够简单的安装起来,同时还能提供安装后的软体资讯,实在非常不错。 只要是衍生于Debian 的其他Linux distributions 大多使用dpkg 这个机制来管理软体的, 包括B2D, Ubuntu 等等。 

  2.2 查询

 

 

目的 rpm 用法 dpkg 用法
显示所有已安装的套件名称 rpm -qa dpkg -l (小写L)
显示套件包含的所有档案 rpm -ql softwarename (小写L) dpkg -L softwarename
显示特定档案所属套件名称 rpm -qf /path/to/file dpkg -S /path/to/file
查询套件档案资讯 rpm -qip pkgfile.rpm (显示套件资讯) 
rpm -qlp pkgfile.rpm (小写L,显示套件内所有档案)
dpkg -I pkgfile.deb (大写I ) 
dpkg -c pkgfile.deb
显示指定套件是否安装 rpm -q softwarename (只显示套件名称)
rpm -qi softwarename (显示套件资讯)
dpkg -l softwarename (小写L,只列出简洁资讯) 
dpkg -s softwarename (显示详细资讯)
dpkg -p softwarename (显示详细资讯)
  1. 如果您的macbook还保留osx系统的话,请依下列步骤将OSX挂载进来:
  • RPM : 
    这个机制最早是由Red Hat 这家公司开发出来的,后来实在很好用,因此很多distributions 就使用这个机制来作为软体安装的管理方式。 包括Fedora, CentOS, SuSE 等等知名的开发商都是用这咚咚。

  

sudo mkdir /MacOSX
sudo mount -t hfsplus /dev/sda2 /MacOSX

如前所述,不论dpkg/rpm 这些机制或多或少都会有软体属性相依的问题,那该如何解决呢? 其实前面不是谈到过每个软体档案都有提供相依属性的检查吗? 那 么如果我们将相依属性的资料做成列表, 等到实际软体安装时,若发生有相依属性的软体状况时,例​​如安装A 需要先安装B 与C ,而安装B 则需要安装D 与E 时,那么当妳要安装A ,透过相依属性列表,管理机制自动去取得B, C, D, E 来同时安装, 不就解决了属性相依的问题吗?

  2.3 转换套件

      •   在Debian安装RPM套件: alien -i quota-3.12-7.i386.rpm
      •   制作成deb的套件格式: alien -d quota-3.12-7.i386.rpm
      •   制作成rpm的套件格式: alien -r quota_3.12-6_i386.deb
      •   在Debian使用alien处理RPM套件

            alien 可处理.deb、.rpm、.slp、.tgz 等档案格式, 进行转档或安装.于Debian安装非Debian套件时,可使用alien进行安装.安装alien套件:  apt-get install alien

       

       

    • -  2.4 APT与YUM

      虽然RPM与DPKG有效的解决的软体的安装,移除与查询的需求,但是在Linux上的套件管理还有一个很大的问题必须解决,就是各软体间的相依性(dependency)。 **RPM与DPKG只能做到检查相依性,在安装或移除时告知相依性的不满足,皆下来就需要使用者自行去找出所需的套件来安装。 这样的确是有点不方便,因此产生了前端工具软体- APT及YUM。**

  1. 若您跟我一样,把osx砍光光的话,请网络搜寻"AppleUSBVideoSupport" (iSight驱动程式),然后将该驱动程式下载下来 (该下载下来的档案可能会放在 /home/"user name"/downloads或 /home/"user name"/下载)

  2. 透过"Ubuntu软体中心"或apt-get来安装 "isight-firmware-tools"这个套件
    •使用Ubuntu软体中心:搜寻 "isight-firmware-tools" 然后安装
    •使用apt-get:sudo apt-get install isight-firmware-tools

 

    2.4.1 APT

      Debian开发,目前也有porting到其他版本,要在Red Hat系的Fedora或CentOS使用也是可以的。

      使用方法:

        编辑/etc/apt/sources.list ,设定所选用的版本,如stable,testing,unstable及套件来源站台或装置。 档案详细设定请参考: 了解Debian系统的哲学  

        基本指令:

apt-setup 设定/etc/apt/souces.list
apt-get update 软体资料库同步
apt-get install softwarename1 [softwarename2.....] 安装软体
apt-get remove softwarename 1 [softwarename 2...] 移除软体(保留设定档)
apt-get --purge remove softwarename 1 [softwarename 2...] 移除软体(不保留设定档)
apt-cache search softwarename 列出所有sofrwarename的套件
apt-upgrade [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件
apt-get clean(autoclean) 删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除)
apt-get dist-upgrade 转换系统的版本(需在/etc/apt/sources.list指定stable,testing或unstable)

4. 在安装isight-firmware-tools的过程中,会出现一个对话视窗向您询问AppleUSBVideoSupport这个档案的位置,请"填写"正确档案路径后,按下一步安装即可。
档案路径可能是:
•若您是挂载osx,则档案路径应是:/MacOSX/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
•若您是网络下载AppleUSBVideoSupportv,则档案路径应是:/home/"user name"/downloads/AppleUSBVideoSupport 或 /home/"user name"/下载/AppleUSBVideoSupport

没错! 您真聪明! 目前新的Linux 开发商都有提供这样的『线上升级』机制,透过这个机制, 原版光碟就只有第一次安装时需要用到而已,其他时候只要有网路,妳就能够取得原本开发商所提供的任何软体了呢! 在dpkg 管理机制上就开发出APT 的线上升级机制,RPM 则依开发商的不同,有Red Hat 系统的yum , SuSE 系统的Yast Online Update (YOU), Mandriva 的urpmi 软体等。

    2.4.2 YUM

      YUM(Yellow dog Updater, Modified )是Yellow Dog Linux开发的。 Yellow Dog Linux原本是一套完全源于Red Hat但运作于先前使用IBM PPC平台的MAC机器,原本以为这个版本已经消失,没想到最新消息是他们推出了在Sony PS3上面运作的版本。 CentOS及Fedora的基本预设安装中即将YUM列入其内。 如果没记错,要在Debian上使用YUM也是可以的。   

      使用方法:

 

      •     编辑/etc/yum.conf档案详细设定请参考: 简易APT/YUM伺服器设定注1
      •     基本指令: (如果yum在工作过程中需要使用者回应,可加上-y参数直接回答yes ) 
yum install softwarename1 [softwarename2.....] 安装套件
yum update [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件
yum list 列出目前在yum server 上面有的套件
yum info 类似rpm -qi
yum clean 移除下载到本机的packages 或headers
yum remove softwarename1 [softwarename2.....] 移除已经安装的套件

 

  1. 完成!
distribution 代表 软体管理机制 使用指令 线上升级机制(指令)
Red Hat/Fedora RPM rpm, rpmbuild YUM (yum)
Debian/Ubuntu DPKG dpkg APT (apt-get)

3.引用文献与致谢

  首先非常非常感谢原文博主的深刻见解和分享,终于明白几大包管理工具之间的关系和作用,在以后安装的时候,也更加通透了!

  1.[rpm与dpkg yum与apt-get详解,一看这个就知道这些个关系了](侧重原理)

  2.[关于ubuntu安装软件的问题:apt-get和dpkg区别?]

  3.[Ubuntu 软件包管理]

  4.[包管理系统指南](侧重命令使用)

测试是否成功:

我们这里使用的是CentOS 系统嘛! 所以说: 使用的软体管理机制为RPM机制,而用来作为线上升级的方式则为yum ! 底下就让我们来谈谈RPM 与YUM 的相关说明吧!

  1. 透过"Ubuntu软体中心"或apt-get来安装 "guvcview"这个套件 (您有偏好的其他套件也可)
    •使用Ubuntu软体中心:搜寻 "guvcview" 然后安装
    •使用apt-get:sudo apt-get install guvcview

 

2.  开启guvcview测试!

RPM与DPKG

图片 2

目前市面上大部分的Linux distro都是根基于Red Hat及Debian这两大厂牌的改装(SuSE是一个异类)​​。 因此在套件管理上,Red Hat的RPM与Debian的DPKG就成为Linux套件管理上的两大标准。

 

这边也不讨论类Unix作业系统在套件管理(软体的安装,移除,查询)上所持的哲学与一般人常用的MS Windows系列有很大的不同而衍生出的困难了,直接就这两个套件管理工具列出比较以利查询。

 

以下整理列表来自Jamyy's Weblog :

 

安装

目的 rpm 用法 dpkg 用法
安装指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb

查询

目的 rpm 用法 dpkg 用法
显示所有已安装的套件名称 rpm -qa dpkg -l (小写L)
显示套件包含的所有档案 rpm -ql softwarename (小写L) dpkg -L softwarename
显示特定档案所属套件名称 rpm -qf /path/to/file dpkg -S /path/to/file
查询套件档案资讯 rpm -qip pkgfile.rpm (显示套件资讯) 
rpm -qlp pkgfile.rpm (小写L,显示套件内所有档案)
dpkg -I pkgfile.deb (大写I ) 
dpkg -c pkgfile.deb
显示指定套件是否安装 rpm -q softwarename (只显示套件名称)
rpm -qi softwarename (显示套件资讯)
dpkg -l softwarename (小写L,只列出简洁资讯) 
dpkg -s softwarename (显示详细资讯)
dpkg -p softwarename (显示详细资讯)

移除

目的 rpm 用法 dpkg 用法
移除指定套件 rpm -e softwarename dpkg -r softwarename (会留下套件设定档) 
dpkg -P softwarename (完全移除)

在Debian使用alien处理RPM套件

alien 可处理.deb、.rpm、.slp、.tgz 等档案格式, 进行转档或安装. 
class="notranslate">于Debian安装非Debian套件时,可使用alien进行安装. 
安装alien套件: apt-get install alien

  • 在Debian安装RPM套件: alien -i quota-3.12-7.i386.rpm
  • 制作成deb的套件格式: alien -d quota-3.12-7.i386.rpm
  • 制作成rpm的套件格式: alien -r quota_3.12-6_i386.deb

 

APT与YUM

虽然RPM与DPKG有效的解决的软体的安装,移除与查询的需求,但是在Linux上的套件管理还有一个很大的问题必须解决,就是各软体间的相依性(dependency)。 RPM与DPKG只能做到检查相依性,在安装或移除时告知相依性的不满足,皆下来就需要使用者自行去找出所需的套件来安装。 这样的确是有点不方便,因此产生了前端工具软体- APT及YUM。

 

 

APT

class="notranslate">Debian开发,目前也有porting到其他版本,要在Red Hat系的Fedora或CentOS使用也是可以的。

使用方法:

  • class="notranslate">编辑/etc/apt/sources.list ,设定所选用的版本,如stable,testing,unstable及套件来源站台或装置。  class="notranslate">档案详细设定请参考: 了解Debian系统的哲学
  • 基本指令:
apt-setup 设定/etc/apt/souces.list
apt-get update 软体资料库同步
apt-get install softwarename1 [softwarename2.....] 安装软体
apt-get remove softwarename 1 [softwarename 2...] 移除软体(保留设定档)
apt-get --purge remove softwarename 1 [softwarename 2...] 移除软体(不保留设定档)
apt-cache search softwarename 列出所有sofrwarename的套件
apt-upgrade [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件
apt-get clean(autoclean) 删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除)
apt-get dist-upgrade 转换系统的版本(需在/etc/apt/sources.list指定stable,testing或unstable)

 

 

YUM

YUM(Yellow dog Updater, Modified )是Yellow Dog Linux开发的。 Yellow Dog Linux原本是一套完全源于Red Hat但运作于先前使用IBM PPC平台的MAC机器,原本以为这个版本已经消失,没想到最新消息是他们推出了在Sony PS3上面运作的版本。  class="notranslate">CentOS及Fedora的基本预设安装中即将YUM列入其内。  class="notranslate">如果没记错,要在Debian上使用YUM也是可以的。

使用方法:

  • class="notranslate">编辑/etc/yum.conf档案详细设定请参考: 简易APT/YUM伺服器设定注1
  • 基本指令: (如果yum在工作过程中需要使用者回应,可加上-y参数直接回答yes )
yum install softwarename1 [softwarename2.....] 安装套件
yum update [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件
yum list 列出目前在yum server 上面有的套件
yum info 类似rpm -qi
yum clean 移除下载到本机的packages 或headers
yum remove softwarename1 [softwarename2.....] 移除已经安装的套件

注1:Red Hat近年来致力于将一个设定档切割成很多小设定档。 以yum.conf为例,Red Hat将其分割成xxx.repo档放置在/etc/yum.repos.d这个目录下。 并在yum.conf档里增加一行注解: PUT YOUR REPOS HERE OR IN separate files named file.repo in /etc/yum.repos.d。 个人可视喜好决定。

 

本文由新天地3559发布于电工电气,转载请注明出处:能够极大地简化你的工业互联网部署,界软体安

关键词: