linux软件包签名 linux软件包管理
发布日期:2020-10-12摘要:在Linux下发布程序需要注意版本的软件包有哪些呢? gcc是GNU编译器集合,包含C、C++、Java、Ada、Fotun等编译器,我们主要使用的是C和C++,它们对应的程序是gcc和g++,为了兼...
在Linux下发布程序需要注意版本的软件包有哪些呢?
gcc是GNU编译器集合,包含C、C++、Java、Ada、Fotun等编译器,我们主要使用的是C和C++,它们对应的程序是gcc和g++,为了兼容BSD等UNIX系统,C编译器的程序名还可以是cc或CC。
Linux的一切都是由gcc编译完成的,由于不同主版本的gcc的ABI并不完全相同,因此,如果Linux系统与应用程序采用不同主版本号的gcc进行编译,很可能产生非常多的问题。
查看gcc版本的方法是gcc -v。
注意,这里不但可以显示出gcc的版本,还会显示出gcc的编译参数,这也非常重要,即使是相同版本的gcc,在使用不同的编译参数时也会产生兼容问题,比如线程模型。
Glic glic是Linux的标准库函数,封装了Linux的绝大多数的系统调用,相当于Windows的API,所有应用软件都要依赖于它。
他的主版本发生改变时,它所提供的函数行为可能发生加大改变,基于不同glic版本的程序在混合使用时,经常会出现段错误。
查看glic的版本的方法有两种。
一种是Linux系统的软件包以RPM方式发布,可以利用pm -q glic命令查看所安装的glic是什么版本,文件名后面的数字就是版本数字。
另外就是查看li目录下下的lic-x.y.z.so文件,x、y、z就标明了主版本、副版本和修正版本。
Kenel 内核是Linux的核心,Linux的一切功能都有内核提供,而不同的内核版本会有很大的变化,比如2.4.x和2.6.x内核区别非常大,可以说它们完全不兼容。
另外,即便都是2.6.x的内核,不同的修正版本也会存在较大差异,也很可能产生兼容问题。
各大发行版Linux软件包管理速查表是什么
使用 Linux 系统总是免不了要接触包管理工具。
比如,DeianUuntu 的 apt、openSUSE 的 zypp、Fedoa 的 yum、Mandiva 的 upmi、Slackwae 的 slackpkg、Achlinux 的 pacman、Gentoo 的 emege、Foesight 的 conay、Padus 的 pisi,等等。
DistoWatch 针对上述包管理器的主要用法进行了总结,对各位 Linux 用户来说具有很好的参考作用。
这个总结还是有一点不足,有空给大家整理一个更全面的版本。
任务aptDeian, UuntuzyppopenSUSEyumFedoa, CentOS安装包apt-get install zyppe install yum install 移除包apt-get emove zyppeemove yum ease 更新包列表apt-get updatezyppeefeshyum check-update更新系统apt-get upgadezyppe updateyum update列出源cat etcaptsouces.listzyppeeposyum epolist添加源(edit etcaptsouces.list)zyppe addepo (add to etcyum.epos.d)移除源(edit etcaptsouces.list)zyppeemoveepo (emove fom etcyum.epos.d)搜索包apt-cache seach zyppe seach yum seach 列出已安装的包dpkg -lpm -qapm -qa任务upmiMandivaslackpkgSlackwaepacmanAch安装包upmi slackpkg install pacman -S 移除包upme slackpkg emove pacman -R 更新包列表upmi.update -aslackpkg updatepacman -Sy更新系统upmi --auto-selectslackpkg upgade-allpacman -Su列出源upmq --list-mediacat etcslackpkgmioscat etcpacman.conf添加源upmi.addmedia (edit etcslackpkgmios)(edit etcpacman.conf)移除源upmi.emovemedia (edit etcslackpkgmios)(edit etcpacman.conf)搜索包upmf --pacman -Qs 列出已安装的包pm -qals valogpackagespacman -Qii任务conayPatd, FoesightpisiPadusemege Gentoo安装包conay update pisi install emege 移除包conay ease pisi emove emege -C 更新包列表pisi update-epoemege --sync | layman -S [fo added epositoies]更新系统conay updateallpisi upgadeemege -NuDa wold列出源pisi list-epolayman -L添加源pisi add-epo layman -a移除源pisi emove-epo layman -d 搜索包conay quey pisi seach emege --seach列出已安装的包conay queypisi list-installedcat valipotage | moe
Linux中软件包依赖烦到你了么?
在Linux系统中,软件包的依赖关系让人很是头疼。
如在安装Linux系统时,不是选择安装所有的软件包。
在安装完Linux系统后,若再进行软件安装的话,就可能会遇到一些依赖关系的问题,如在安装PHP软件包时,系统就可能会提示一些错误信息。
说需要其他的一些软件包的支持。
其实类似的情况在Windows中也会遇到。
如有时候安装一些应用软件可能对浏览器的版本会有要求或者要求操作系统的补丁达到SP2以上等等。
不过在微软操作系统上这种软件依赖关系要比在Linux系统中少见的多,而且处理起来也方便一些。
那么Linux操作系统中如果遇到这种软件包依赖关系的话,该如何处理呢?在谈这个具体的解决措施之前,我先跟大家说说在哪些情况下容易出现软件包的依赖关系问题。
一是在操作系统安装的时候,没有选择全部的软件包。
大部分时候出于安全或者其他方面的原因,Linux系统管理员往往不会选择安装全部的软件包。
而只是安装一些运行相关服务所必要的软件包。
但是有时候系统管理员可能并不清楚哪些软件包是必须要装的,否则后续的一些服务将无法启动;而那些软件包则是可选的。
由于在系统安装的时候很难一下子弄清楚这些内容,故在Linux系统安装完毕后,再部署其他一些软件包的时候,就容易出现这个问题。
二是在Linux服务器上追加其他的一些应用服务时,容易出现类似的问题。
如有一次企业需要使用一个Oacle数据库,我就在原先的文件服务器上安装Oacle数据库。
但是在Linux操作系统上安装Oacle服务器是一个很头疼的问题,需要安装不少的软件包。
而我一开始部署Linux文件服务器的时候又不知道后来需要安装Oacle数据库,故不少的软件包都没有装。
而且后来发现,不少的软件包其实在Linux安装盘中还没有,需要自己到网上去下。
所以,如果要在原先已经部署好的Linux服务器中追加一些应用服务时,很容易出现这个软件包的依赖问题。
其实解决这个软件包的依赖问题说简单也不简单,说复杂也不复杂。
我下面总结了几个方法,各位若有需要的话可以借鉴一下。
一、根据错误提示信息在安装光盘中寻找。
在安装软件包时如果遇到软件依赖关系问题时,通常情况下系统都会提示相关的信息。
如提示“ligd.so.1.8 is needey y php-4.2.2-17”等等。
这就表示安装PHP程序时,需要先安装ligd.so软件包。
当遇到这个问题时,我建议系统管理员可以根据这个提示信息,先从Linux系统的安装盘中查找一下是否有这个软件包。
如上图所示,在Linux安装盘中的RPMS目录下面就存放着大量的软件包。
通常情况下,像上面的ligd.so等常见的软件包都可以从这个光盘中找到。
所以系统管理员根据系统的错误提示信息,就可以了解到安装某个软件之前先要安装那个软件包。
然后从系统光盘中找到这个软件包,并进行安装即可。
另外需要说明的是,向RedHat操作系统,如果采用的是CD安装盘,则其可能有很多张光盘。
而这些软件包往往不是存储在一张CD光盘中的。
不过可以肯定的是,每张光盘下都会有RPMS这个目录。
当系统管理员不知道某个软件包存储在哪个盘中的话,则可以一张张的找过去。
虽然比较麻烦一点,但是大部分情况下都会有收获的。
不过如果采用这个方法有一个限制。
像安装Oacle这种大型的应用软件就不怎么适用。
因为安装这种大型的软件本身就比较花费时间。
如果等到安装失败之后再根据错误提示来安装软件包的话,则重复来重复去会浪费很多的时间,而且也会让系统产生很多的垃圾文件。
为此除非是一些小型的软件包,否则的话,最好还是根据下面我要介绍的方法来做,以节省软件安装的时间。
二、参考官方的文档。
通常情况下,一些软件的官方文档会说明安装它们的软件需要哪些软件包。
如在安装Oacle数据库时,就必须需要安装不少的软件包。
到底需要安装哪些软件包,在Oacle的官方网站上都会有详细的说明。
我在安装Oacle数据库时,就先安装这个说明,一一来验证Linux系统中是否安装了这些软件包。
如果没有安装的话,就马上装上去。
此时各位Linux系统管理员不要抱着侥幸心理,已经不安装不会有大问题,这是大错特错了。
对于Oacle 公司官方网站建议的软件包在Oacle数据库系统安装之前必须一五一十的安装上去。
否则的话轻则导致数据库安装失败,重者的话会导致后续数据库运行不稳定。
其实不光是Oacle数据库系统,其他的一些应用软件对Linux系统都会有类似的要求。
它们要求在安装它们的应用软件之前,Linux系统必须安装有某些软件包,否则的话安装就会失败。
所以我建议各位Linux系统管理员,在安装这些软件之前,最好先到官方网站上去寻找类似的文档,然后对照文档的内容去验证Linux系统是否安装了这些软件包。
如此的话就可以避免软件包依赖关系的问题。
另外,在网络上也可以寻找到很多有用的价值。
有些安装过这个软件的Linux系统管理员,会把自己安装过程中系统遇到的软件包依赖关系列举出来,会一一说明需要先安装哪些软件包。
这些网络上的文档虽然其专业性可能没有官方提供的文档那么专业。
但是对我们来说也具有很大的参考价值。
请问知道linux软件包名,如何找到对应的源代码
1. Linux的操作比较复杂,windows的比较简单. Linux速度比较快,安全性比windows好 但是有很多软件只能在windows里运行 与Linux兼容的软件正在开发中. Linux适用在网络方面. 2. 什么是Linux? 简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基 于 Intel x86系列 CPU的计算机上。
这个系统是由世界各地的成千上万的程序员 设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自 由使用的 Unix兼容产品。
Linux的出现,最早开始于一位名叫 Linus Torvalds 的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。
他的目的是想设计一 个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系 统示教程序)的操作系统,这个操作系统可用于 386、 486或奔腾处理器的个人 计算机上,并且具有 Unix操作系统的全部功能,因而开始了 Linux雏形的设计。
Linux以它的高效性和灵活性著称。
它能够在 PC计算机上实现全部的 Unix特性, 具有多任务、多用户的能力。
Linux是在 GNU公共许可权限下免费获得的,是一 个符合 POSIX标准的操作系统。
Linux操作系统软件包不仅包括完整的 Linux操 作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。
它还包括带有 多个窗口管理器的 X-Windows图形用户界面,如同我们使用 Windows NT一样,允 许我们使用窗口、图标和菜单对系统进行操作。
Linux与其他操作系统有什么区别: Linux可以与 MS-DOS、 OS/2、 Windows等其他操作系统共存于同一台机器上。
它 们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在 PC机上的操作系统主要有Microsoft的 MS-DOS、 Windows、 Windows NT、 IBM的 OS/2等。
早期的 PC机用户普遍使用 MS-DOS,因为这种操作系统对机 器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来 越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用 Windows、Windows NT等具有图形界面的操作系统。
Linux是新近被人们所关注的 操作系统,它正在逐渐为 PC机的用户所接受。
那么, Linux与其他操作系统的主 要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与 MS- DOS之间的区别。
在同一系统上运行 Linux和 MS-DOS 已很普遍,就发挥处理器功能来说, MS-DOS没有完全实现 x86处理器的功能,而 Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。
Linux可以 直接访问计算机内的所有可用内存,提供完整的 Unix接口。
而 MS-DOS只支持部 分 Unix的接口。
就使用费用而言, Linux和 MS-DOS是两种完全不同的实体。
与其他商业操作系统 相比, MS-DOS价格比较便宜,而且在 PC机用户中有很大的占有率,任何其他 PC 机操作系统都很难达到 MS-DOS的普及程度,因为其他操作系统的费用对大多数 PC机用户来说都是一个不小的负担。
Linux是免费的,用户可以从 internet上或 者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。
就操作系统 的功能来说, MS-DOS是单任务的操作系统,一旦用户运行了一个 MS-DOS的应用 程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。
而 Linux 是多任务的操作系统,用户可以同时运行多个应用程序。
再看一下 Linux与 OS/2、 Windows、 Windows NT之间的区别。
从发展的背景看, Linux与其他操作系统的区别是, Linux是从一个比较成熟的 操作系统发展而来的,而其他操作系统,如 Windows NT等,都是自成体系,无对 应的相依托的操作系统。
这一区别使得 Linux的用户能大大地从 Unix团体贡献中 获利。
因为 Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年 代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少 相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。
无论是 Unix的作者还是 Unix的用户,都认为只有 Unix才是一个真正的操作系统。
3. 首先你需要明白,Linux不是windows,它不是一个由一家商业公司维护的软件 , 只有一个包装。
Linux是可以任意包装自由配置的东西。
任何一个人,一家公司 都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。
这些 Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。
区 别 是用一种Linux 发布 (不同的Linux我们叫做不同的发布)也许硬件很好配置, 各种软件也好安装,用另外一种也许速度快,再一种也许支持中文比较好。
总之 没有白吃的午餐,在windows下想当然的东西在linux下也许需要你熬夜才能得到 。
所以从一开始选择distribution就必须非常小心,否则因为自己刚好随某个杂志 得到一个Linux发布就以为所有的都一样就开始安装,等硬盘数据毁了, 或者网络哭天跄地也配不出来的时候,就晚了。
不是开玩笑,我知道windows下 安装驱动程序就是鼠标点几下,可是在Linux下,为了驱动一个网卡,折腾一夜 是不希奇的 -- 当然,我觉得这是值得的。
所以,面对那么多Linux distribution,你应当选...
linux 删除已经安装的软件包
一、检查软件包有否被篡改。
当系统工程师从网络上下载一个软件包之后,其最关心的就是这个软件包是否被篡改过。
如一些非法攻击者会否在一些著名软件包中捆绑一些非法软件等等。
为此系统工程师希望有工具能够帮助他来验证软件包是否被人处理过。
如果为了达到这个目的,则系统工程师可以通过pm –k命令来进行验证。
验证结果如图所示。
为了安全起见,笔者已经把Linux服务器的主机名与账户隐去。
如果这个JDK的软件包没有被人修改过或者没有损坏,则结果就会如上图所示。
Shal md5 OK这个简短的信息,就告诉系统工程师这个软件包没有被篡改过的迹象,可以放心使用。
但是这个命令有一个缺陷,即只适用于pm软件包。
如果系统工程师所下载的软件包不是RPM格式的,则会提示如下的错误信息。
不过笔者在这里也建议各位Linux系统管理员,最好通过RPM来管理软件。
RPM软件包是一种开发的软件包管理系统,它简化了系统的维护工作,只需要短短的几个指令便可以完成安装软件包、删除软件包、系统验证等功能。
RPM软件包有很多的特点。
如通过使用RPM,系统管理员不用重新安装整个操作系统,就可以升级系统中的个别组件。
RPM软件包会使用一种智能且完全自动化的方式来升级组件,而且软件包的设定文件将会在升级的过程中被保留下来。
即如果对邮件客户端进行升级后,原先的帐户等设定将会被保留;如对办公软件进行升级,则原先的工具栏等用户偏爱设置也都将保留下来,用户不用在升级后进行重新设置,等等。
这些措施可以大大的方便管理员的维护。
如RPM可以验证软件包。
如系统管理员在维护操作系统的时候,可能会担心不小心删除了某个软件包中的重要文件,则可以对这个软件包进行验证。
如果这个软件包从安装到现在,相关的文件有任何改变都将被查询出来。
为此系统管理员可以根据需要选择是否需要重新安装该软件包。
可见RPM软件包的很多特性,都可以简化Linux系统工程师的工作。
为此笔者在这里强烈建议大家通过RPM的方式来管理软件包。
像上面验证软件包是否被篡改以及是否损坏也是RPM特有的功能之一。
二、检查GnuPG key信息。
由于Linux软件是开源的,所以其上面的大部分软件包也是开源的。
如笔者开发了一个软件包,则其他人可以在笔者软件包的基础上进行扩展与改进。
但是有时候这个调整可能不是系统管理员所需要的。
他们可能只需要原始版本即可。
为此系统管理员希望能够在拿到软件包之后,能够该软件版本是否是原程序开发者所发布的版本。
如果要实现这个目的,则可以按如下的步骤来做。
首先这个软件包必须满足一个前提条件。
即这个软件包的程序开发者对这个软件包“签署”了该程序开发者的GnuPG key。
做一个形象的比喻,GnuPG key就好像是一个程序开发者的信物。
大家看到这个信物之后,就可以判断这个就是程序开发者的原始作品。
如果这个程序开发者在软件包中加入了这个 GnuPG key信物,那么系统工程师就可以利用pm –K命令来检查此软件包是否是原程序开发者所发布的版本。
其次先检查原帐户的信物。
如果系统工程师此时得到了一个软件包,并且这个软件包中有签署GnuPG key。
此时系统工程师就可以利用pm –K命令来检查这个软件包是否有问题,是否是原程序开发者所发布的。
为了达到这个目的,系统工程师需要先查看原帐户的印章、签名甚至指纹等信息。
通常情况下这些内容会被保存在uselipmgnupg目录中。
系统工程师可以利用ls –al命令来查看相关的GnuPG key信息。
这个命令会列出系统中所有的GnuPG key信物信息。
但是有时候系统管理员可能只想看一些特定的GnuPG key信物信息,则可以利用pm –qi GnuPG key名字的方式来进行查询。
通常情况下,系统管理员可以先利用第一个命令查询处所有的GnuPG key信物信息。
然后找到GnuPG key名字后,在利用第二个命令来查看这个信物的具体信息。
另外如果信息比较多的话,则管理员可以通过pm –impot命令把这些信息导出到系统管理员指定的位置。
第三步就是进行对比。
当找到GnuPG key信物信息后,系统工程师就需要跟原先的便是数据来进行比较,以确定这个软件包是否是原程序开发者所发布的版本。
此时系统工程师就可以利用pm –K加上软件包的命令来进行判断。
注意这个功能也只适用于RPM软件包。
所以笔者在先前就强调,Linux系统工程师最好尽量采用pm软件包。
否则的话,以上这些内容将很难实现。
另外RPM软件包除了可以验证是否被篡改、是否是原版程序之外,还提供了强有力的查询选项。
系统管理员可以利用数据库来查询软件包或者某些文件;还可以轻易的查询处一个文件所隶属的软件包,以及该软件包来自于何处。
这主要是因为在RPM软件包中包含着特殊的二元标头数据。
在这个二元标头数据中,有该软件包的信息以及相关文件,这使得系统可以更快、更容易的查询个别的软件包,节省Linux系统工程师的工作。
如当系统工程师在安装后才发现这个软件有问题,需要判断这个软件包是否是原版程序。
此时系统工程师就可以先通过某个文件来查询其隶属的软件包;然后再利用上面这个方法来查询...
linux 软件包默认安装路径
针对RPM包,一般情况下命令放在/usr/bin或/usr/sbin下库在/usr/lib下,数据文件在/usr/share下。
命名:rpm -pql [rpm文件名],来查看一个rpm包里有哪些文件,即安装的路径如果是从源码安装的话 可以选择安装路径:用这条命今看参数./configure --help。
Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。
以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
上一篇:番茄翻墙软件 番茄软件下载
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省漳州市 -
给我们发邮件
E-mail:[email protected]
在线沟通