【b站解析源码】【先锋内测源码】【源码后门目的】srpm源码包

2024-11-28 02:45:13 来源:idea如何查看底层源码 分类:知识

1.yum和apt-get的源码区别详解
2.7.10 Linux yum源及配置
3.linux 下有几种安装软件的方式 假如我有一个flash的tar包在文档文件夹下
4.rpm命令手册和查看rpm安装包的安装路径的方法
5.rpm是什么格式的文件

srpm源码包

yum和apt-get的区别详解

       yum和apt-get的区别

       一般来说著名的linux系统基本上分两大类:

       1.RedHat系列:Redhat、Centos、源码Fedora等

       2.Debian系列:Debian、源码Ubuntu等

RedHat 系列

       1 常见的源码安装包格式 rpm包,安装rpm包的命令是rpm -参数

       2 包管理工具 yum

       3 支持tar包

Debian系列

       1 常见的安装包格式 deb包,安装deb包的命令是dpkg -参数

       2 包管理工具 apt-get

       3 支持tar包

       tar 只是一种压缩文件格式,所以,源码它只是源码b站解析源码把文件压缩打包而已。

       rpm 相当于windows中的源码安装文件,它会自动处理软件包之间的源码依赖关系。

       优缺点来说,源码rpm一般都是源码预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。源码

       tar一般包括编译脚本,源码你可以在你的源码环境下编译,所以具有通用性。源码

       如果你的源码包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。

       tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。

       rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。

       -------------------------------- *.rpm形式的二进制软件包[centos]

       安装:rpm -ivh *.rpm

       卸载:rpm -e packgename

       rpm -q nginx 查看是否已经安装

        升级:rpm -Uvh xxx

        查询:

       查询所有安装的包: rpm -qa

       查询某个包:rpm -qa | grep xxx

       rpm -qi xxx

       查询软件的安装路径:rpm -ql xxx

       rpm -qc xxx

       查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf

       rpm -qpi xxx

       rpm -qa|grep php 查看已安装的RMP包

       安装:rpm -ivh xxx

       移除:rpm -e xxx

       升级:rpm -Uvh xxx

       查询:

       查询所有安装的包: rpm -qa

       查询某个包:rpm -qa | grep xxx

       rpm -qi xxx

       查询软件的安装路径:rpm -ql xxx

       rpm -qc xxx

       查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf

       rpm -qpi xxx

       -------------------------------- src.rpm 源代码分发软件包的安装与卸载

       Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的先锋内测源码二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。

       1、*.src.rpm形式的源代码软件包

       安装:rpm -rebuild *.src.rpm

       cd /usr/src/dist/RPMS

       rpm -ivh *.rpm

       卸载:rpm -e packgename

       说明:rpm rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。

       --------------------------------dpkgubuntu

       dpkg -l | grep 'php' 使用dpkg -l 来查看已经安装了的软件

       dpkg 是Debian[待宾] Package 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux 发行版都使用 dpkg,例如 Ubuntu、Knoppix 等。

       以下是一些 Dpkg 的普通用法:

       1、dpkg -i package.deb

       安装一个 Debian 软件包,如你手动下载的文件。

       2、dpkg -c package.deb

       列出 package.deb 的内容。

       3、dpkg -I package.deb

       从 package.deb 中提取包裹信息。

       4、dpkg -r package

       移除一个已安装的包裹。

       5、源码后门目的dpkg -P package

       完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。

       6、dpkg -L package

       列出 package 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。

       7、dpkg -s package

       显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。

       8、dpkg-reconfigure package

       重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。

       -------------------------------- 使用yum和apt-get。软件管理方法的升级.

       yum的配置文件是/etc/yum.conf

1. 我们来先讲Redhat的yum 这种高级的包管理.

       yum install gcc [centos]

       更新:yum update

       安装:yum install xxx

       移除:yum remove xxx

       清除已经安装过的档案(/var/cache/yum/):yum clean all

       搜寻:yum search xxx

       列出所有档案:yum list

       查询档案讯息:yum info xxx

       #sudo -s

       #LANG=C

       #yum -y install gcc gcc-c autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel

       用YUM安装软件包

       yum -y package_name

       命令:yum install package_name

       用YUM删除软件包

       命令:yum remove package_name

       yum -y remove /yclz/archive////.aspx

rpm命令手册和查看rpm安装包的安装路径的方法

       rpm -qpl xxxxxx.rpm

       1.如何安装rpm软件包

           rmp软件包的安装可以使用程序rpm来完成。执行下面的命令

           rpm -i your-package.rpm

           其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。

           安装过程中可能出现下面的警告或者提示:

           ... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有

           的文件,缺省时这样的情况下是无法正确安装的可以用

           rpm --force -i 强制安装即可

           ... is needed by ...

           ... is not installed ... 此包需要的一些软件你没有安装可以用

           rpm --nodeps -i 来忽略此信息

           也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包

           都能安装上,但这种强制安装的软件包不能保证完全发挥功能

           2.如何安装.src.rpm软件包

           有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时

           需要进行编译。这类软件包有两种安装方法,战神源码网

           方法一:

           1.执行rpm -i your-package.src.rpm

           2. cd /usr/src/redhat/SPECS

           3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件

           4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录

           5. ./configure 这一步和编译普通的源码软件一样,可以加上参数

           6. make

           7. make install

       方法二:

       1.执行rpm -i you-package.src.rpm

       2. cd /usr/src/redhat/SPECS

           前两步和方法一相同

       3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件

           这时,在/usr/src/redhat/RPM/i/ (根据具体包的不同,也可能是i,noarch等等)

           在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。

           执行rpm -i new-package.rpm即可安装完成。

       3.如何卸载rpm软件包

           使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm

           比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:

           rpm -e proftpd-1.2.8-1

           rpm -e proftpd-1.2.8

           rpm -e proftpd-

           rpm -e proftpd

           不可以是下列格式:

           rpm -e proftpd-1.2.8-1.i.rpm

           rpm -e proftpd-1.2.8-1.i

           rpm -e proftpd-1.2

           rpm -e proftpd-1

           有时会出现一些错误或者警告:

           ... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载

           可以用rpm -e --nodeps强制卸载

           4.如何不安装但是获取rpm包中的文件

           使用工具rpm2cpio和cpio

           rpm2cpio xxx.rpm | cpio -vi

           rpm2cpio xxx.rpm | cpio -idmv

           rpm2cpio xxx.rpm | cpio --extract --make-directories

           参数i和extract相同,表示提取文件。v表示指示执行进程

           d和make-directory相同,表示根据包中文件原来的路径建立目录

           m表示保持文件的更新时间。

       5.如何查看与rpm包相关的文件和其他信息

       下面所有的例子都假设使用软件包mysql-3..a-

           1.我的系统中安装了那些rpm软件包

           rpm -qa 讲列出所有安装过的包

           如果要查找所有安装过的包含某个字符串sql的软件包

           rpm -qa |grep sql

           2.如何获得某个软件包的文件全名

           rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得

           当前软件包的版本等信息。这个例子中可以得到信息mysql-3..a-

           3.一个rpm包中的文件安装到那里去了?

           rpm -ql 包名

           注意这里的是不包括.rpm后缀的软件包的名称

           也就是说只能用mysql或者mysql-3..a-而不是mysql-3..a-.rpm。

           如果只是想知道可执行程序放到那里去了,也可以用which,比如

           which mysql

           4.一个rpm包中包含那些文件

           一个没有安装过的软件包,使用rpm -qlp ****.rpm

           一个已经安装过的软件包,还可以使用rpm -ql ****.rpm

           5.如何获取关于一个软件包的版本,用途等相关信息?

           一个没有安装过的软件包,使用rpm -qip ****.rpm

           一个已经安装过的软件包,还可以使用rpm -qi ****.rpm

       6.某个程序是牛角小说源码哪个软件包安装的,或者哪个软件包包含这个程序

           rpm -qf `which 程序名` 返回软件包的全名

           rpm -qif `which 程序名` 返回软件包的有关信息

           rpm -qlf `which 程序名` 返回软件包的文件列表

           注意,这里不是引号,而是`,就是键盘左上角的那个键。

           也可以使用rpm -qilf,同时输出软件包信息和文件列表

           7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件

           注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以

           用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。

           首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:

           # whereis ftptop

           ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz

           # rpm -qf /usr/bin/ftptop

           proftpd-1.2.8-1

           # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc.txt

           proftpd-1.2.8-1

           总结:

           获得软件包相关的信息用rpm -q,q表示查询query,后面可以跟其他选项,比如

           i 表示info,获得软件包的信息;

           l 表示list,获得文件列表;

           a 表示all,在所有包中执行查询;

           f 表示file,根据文件进行相关的查询;

           p 表示package,根据软件包进行查询

           需要的查询条件可以使用grep产生,或者从"` `"中的命令行产生

       6.关于rpm软件包的一些相关知识

1.什么是rpm

        rpm 即RedHat Package Management,是RedHat的发明之一

       2.为什么需要rpm

           在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的

           程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,

           配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个

           较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统

           以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载

       3.是不是所有的linux都使用rpm

           任何系统都需要包管理系统,因此很多linux都使用rpm系统。但rpm系统是为RH专门

           但是TL,Mandrake等系统也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,

           所以有可能在别的系统上也使用rpm

           除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,

           slakware也都有自己的包管理系统

       4.rpm包的文件名为什么那么长

           rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。

           比如mypackage-1.1-2TL.i.rpm,其中mypackage是在系统中登记的软件包的名字

           1.1是软件的版本号,2是发行号,TL表示用于TL操作系统,还可能是RH等。i表示

           用于intel x平台,还可能是sparc等。

       5.软件包文件名中的i,i是什么意思

           rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构

           的信息。

           i指这个软件包适用于intel 以上的x架构的计算机(AI)

           i指这个软件包适用于intel 以上(奔腾pro以上)的x架构的计算机(IA)

           noarch指这个软件包于硬件架构无关,可以通用。

           i软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i的包在

           x机器上都可以用。向前一般不兼容。不过现在的计算机,奔腾pro以下的CPU已经很少

           用,通常配置的机器都可以使用i软件包

       6.不同操作系统发行的rpm包可否混用?

           对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。

           对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同

           系统下安装。

       7.使用rpm时遇到的一些特殊问题

           Q 我用rpm -e **.rpm无法删除rpm包

           A 包名不要包括rpm,

           rpm -e 包名,可以包含版本号等信息,但是不可以有后缀.rpm

           Q 在MS的系统下有没有读RPM文件的工具?

           A wincmd with rpm plugins.....

           Q 是否可以通过ftp安装安装升级rpm包?

           A 可以。rpm -ivh

           ftp://xxxxxxxx/PATH2SomeRPM

       Q rpm安装时已有的包版本过高怎么办?

           A 有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要

           安装的包依赖的一些文件会找不到。这时有两种解决办法,

           第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到

           需要的目录下。

       以下是我知道的在Linux下的rpm软件包安装时如何指定安装路径的方法,不少是从网上学来的。请大家多多指教啊。

       以下的options是可完成你想方式.

       --prefix path

             This sets the installation prefix to path for

             relocatable packages.

       --relocate oldpath=newpath

             For relocatable packages, translates the files that

             would be put in oldpath to newpath.

       --badreloc

             To be used in conjunction with --relocate, this

             forces the relocation even if the package isn't

             relocatable.

       --noorder

             Don't reorder the packages for an install. The list

             of packages would normally be reordered to satisfy

             dependancies.

RPM命令手册

       一、安装

       命令格式:

       rpm -i ( or --install) options file1.rpm ... fileN.rpm

       参数:

       file1.rpm ... fileN.rpm 将要安装的RPM包的文件名

       详细选项:

       -h (or --hash) 安装时输出hash记号 (``#'')

           --test 只对安装进行测试,并不实际安装。

           --percent 以百分比的形式输出安装的进度。

           --excludedocs 不安装软件包中的文档文件

           --includedocs 安装文档

           --replacepkgs 强制重新安装已经安装的软件包

           --replacefiles 替换属于其它软件包的文件

           --force 忽略软件包及文件的冲突

           --noscripts 不运行预安装和后安装脚本

           --prefix 将软件包安装到由 指定的路径下

           --ignorearch 不校验软件包的结构

           --ignoreos 不检查软件包运行的操作系统

           --nodeps 不检查依赖性关系

           --ftpproxy 用 作为 FTP代理

           --ftpport 指定FTP的端口号为

       通用选项

       -v 显示附加信息

           -vv 显示调试信息

           --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下

           --rcfile 设置rpmrc文件为

           --dbpath 设置RPM 资料库存所在的路径为

       二、删除

       命令格式:

       rpm -e ( or --erase) options pkg1 ... pkgN

       参数

       pkg1 ... pkgN :要删除的软件包

       详细选项

       --test 只执行删除的测试

           --noscripts 不运行预安装和后安装脚本程序

           --nodeps 不检查依赖性

       通用选项

       -vv 显示调试信息

           --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下

           --rcfile 设置rpmrc文件为

           --dbpath 设置RPM 资料库存所在的路径为

       三、升级

       命令格式

       复制代码

           

       代码如下:

       rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

       参数

       file1.rpm ... fileN.rpm 软件包的名字

       详细选项

       -h (or --hash) 安装时输出hash记号 (``#'')

           --oldpackage 允许"升级"到一个老版本

           --test 只进行升级测试

           --excludedocs 不安装软件包中的文档文件

           --includedocs 安装文档

           --replacepkgs 强制重新安装已经安装的软件包

           --replacefiles 替换属于其它软件包的文件

           --force 忽略软件包及文件的冲突

           --percent 以百分比的形式输出安装的进度。

           --noscripts 不运行预安装和后安装脚本

           --prefix 将软件包安装到由 指定的路径下

           --ignorearch 不校验软件包的结构

           --ignoreos 不检查软件包运行的操作系统

           --nodeps 不检查依赖性关系

           --ftpproxy 用 作为 FTP代理

           --ftpport 指定FTP的端口号为

       通用选项

       -v 显示附加信息

           -vv 显示调试信息

           --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下

           --rcfile 设置rpmrc文件为

           --dbpath 设置RPM 资料库存所在的路径为

       四、查询

       命令格式:

       复制代码

           

       代码如下:

       rpm -q ( or --query) options

       参数:

       pkg1 ... pkgN :查询已安装的软件包

       详细选项

       -p (or ``-'') 查询软件包的文件

           -f 查询属于哪个软件包

           -a 查询所有安装的软件包

           --whatprovides 查询提供了 功能的软件包

           -g 查询属于 组的软件包

           --whatrequires 查询所有需要 功能的软件包

       信息选项

       显示软件包的全部标识

           -i 显示软件包的概要信息

           -l 显示软件包中的文件列表

           -c 显示配置文件列表

           -d 显示文档文件列表

           -s 显示软件包中文件列表并显示每个文件的状态

           --scripts 显示安装、卸载、校验脚本

           --queryformat (or --qf) 以用户指定的方式显示查询信息

           --dump 显示每个文件的所有已校验信息

           --provides 显示软件包提供的功能

           --requires (or -R) 显示软件包所需的功能

       通用选项

       -v 显示附加信息

           -vv 显示调试信息

           --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下

           --rcfile 设置rpmrc文件为

           --dbpath 设置RPM 资料库存所在的路径为

       五、校验已安装的软件包

       命令格式:

       复制代码

           

       代码如下:

       rpm -V ( or --verify, or -y) options

       参数

       pkg1 ... pkgN 将要校验的软件包名

       软件包选项

       -p Verify against package file

           -f 校验所属的软件包

           -a Verify 校验所有的软件包

           -g 校验所有属于组 的软件包

       详细选项

       --noscripts 不运行校验脚本

           --nodeps 不校验依赖性

           --nofiles 不校验文件属性

       通用选项

       -v 显示附加信息

           -vv 显示调试信息

           --root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下

           --rcfile 设置rpmrc文件为

           --dbpath 设置RPM 资料库存所在的路径为

       六、校验软件包中的文件

       语法:

       复制代码

           

       代码如下:

       rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

       参数:

       file1.rpm ... fileN.rpm 软件包的文件名

       Checksig--详细选项

       --nopgp 不校验PGP签名

       通用选项

       -v 显示附加信息

           -vv 显示调试信息

           --rcfile 设置rpmrc文件为

       七、其它RPM选项

       --rebuilddb 重建RPM资料库

           --initdb 创建一个新的RPM资料库

           --quiet 尽可能的减少输出

           --help 显示帮助文件

           --version 显示RPM的当前版本

rpm是什么格式的文件

       RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

       还有另一种释义为:RPM是Revolutions Per Minute的缩写,即转每分,表征设备每分钟的旋转次数。

       其他释义:

       音频接口

       多功能数字音频接口

       RPM是RME推出的全新概念的多功能数字音频接口。即可以连接电脑使用,又可以脱离使用的RPM多功能音频接口,绝对能满足对于录音工作挑剔的你。RPM可连接打碟机/CD机/话筒/MIDI等设备,还可以当作数字调音台使用,完全将音频制作工作化繁为简。

       同时RPM可以将两台唱机或两台音源(CD、DVD、采样器)以及话筒连接到台式计算机或笔记本计算机。总共有5条独立输入和两对立体声输出以及一条独立的耳机输出,通过耳机输出可以监听任何时刻通过TotalMIx(RME特有基于DSP的混音台)输入输出的声音信号。外部设备安装适当的音频软件即可通过MIDI输入输出与之进行连接。

       转售价格维持

       转售价格维持(resale pricing maintenance)

       产业组织的一种理论,指的是垄断厂商垂直分离的一种情况,上游厂商通过对下游厂商进行垂直约束的一种价格手段。

       相对应的是垂直整合,如果兼并下游企业有利于提高企业利润,则会进行垂直整合。但若整合的成本很高的话,则进行垂直约束,对下游厂商的最终价格进行合同上的限定来保证上游企业的利润,具体参见卡尔顿佩罗夫的《现代产业组织》人民大学出版社相关章节。

       快速成形制造技术

       快速成形制造技术(Rapid prototyping Manufacturing,简称RPM),是国外世纪年代末发展起来的一类先进制造技术。它集数控件技术·计算机技术和新型材料技术·激光技术于一体,改变了传统切削加工方法材料递减的加工原理,而采用材料累加原理来制造模型或零件。

       营收乘客里程

       营收乘客里程(Revenue Passenger Mile ),是航空公司的一项营业指标。

       计算公式:营收乘客里程=付费乘客数×乘客所飞行的距离,在同一报告期内。可以用于计算航空公司的载运率。

       参考资料:

RPM--百度百科

更多资讯请点击:知识

热门资讯

抓取web源码

2024-11-28 02:35278人浏览

抓取web源码

2024-11-28 00:501326人浏览

美國2024年總統選舉首場初選開始

2024-11-28 00:181437人浏览

推荐资讯

本土增88247例「新北、台中、高雄都破萬」 死亡增122人

中央流行疫情指揮中心今1)日公布國內新增88,293例COVID-19確定病例,分別為88,247例本土個案及46例境外移入31例為航班落地採檢陽性);另確診個案中新增122例死亡。本土+88,247

蒙阴蜜桃怎么选?这份消费提示告诉你

中国消费者报济南讯记者尹训银)蒙阴蜜桃是山东省蒙阴县的特产,也称寿桃、仙果,至今已有2000多年的栽培历史,因“色泽艳丽,果肉细腻,汁甜如蜜,个大味香”而名扬四海。蒙阴蜜桃营养丰富,以鲜食为主,果汁中