Home > linux基础 > linux软件安装gcc与rpm方式

linux软件安装gcc与rpm方式

习惯了win傻瓜安装软件方式后,linux下如何安装软件?3种方法,第一种,编译源代码,将源代码编译成可执行程序,运行可执行程序即可完成软件的安装,./configure,make clean,make,make check,make install。第二种方式就是rpm安装已经编译好了的软件包。第三种就是在线yum机制安装。

rmp -ivh softname.rpm即可完成softname.rpm的安装;

rmp -Uvh softname.rpm完成对softname.rpm软件包的更新,如果没安装过,全新安装即可。

rmp -Fvh softname.rpm完成对softname.rpm软件包的更新,如果没安装过,停止更新。

rpm 安装时常用的选项与参数说明(本表转自鸟哥私房菜)
可下达的选项 代表意义
–nodeps 使用时机:当发生软件属性相依问题而无法安装,但你执意安装时
危险性: 软件会有相依性的原因是因为彼此会使用到对方的机制或功能,如果强制安装而不考虑软件的属性相依, 则可能会造成该软件的无法正常使用!
–replacefiles 使用时机: 如果在安装的过程当中出现了『某个文件已经被安装在你的系统上面』的资讯,又或许出现版本不合的信息 (confilcting files) 时,可以使用这个参数来直接覆盖文件。
危险性: 覆盖的动作是无法复原的!所以,你必须要很清楚的知道被覆盖的文件是真的可以被覆盖喔!否则会欲哭无泪!
–replacepkgs 使用时机: 重新安装某个已经安装过的软件!如果你要安装一堆 RPM 软件文件时,可以使用 rpm -ivh *.rpm ,但若某些软件已经安装过了, 此时系统会出现『某软件已安装』的资讯,导致无法继续安装。此时可使用这个选项来重复安装喔!
–force 使用时机:这个参数其实就是 –replacefiles 与 –replacepkgs 的综合体!
–test 使用时机: 想要测试一下该软件是否可以被安装到使用者的 Linux 环境当中,可找出是否有属性相依的问题。范例为:
rpm -ivh pkgname.i386.rpm –test
–justdb 使用时机: 由於 RPM 数据库破损或者是某些缘故产生错误时,可使用这个选项来升级软件在数据库内的相关资讯。
–nosignature 使用时机: 想要略过数码签章的检查时,可以使用这个选项。
–prefix 新路径 使用时机: 要将软件安装到其他非正规目录时。举例来说,你想要将某软件安装到 /usr/local 而非正规的 /bin, /etc 等目录, 就可以使用『 –prefix /usr/local 』来处理了。
–noscripts 使用时机:不想让该软件在安装过程中自行运行某些系统命令。
说明: RPM 的优点除了可以将文件放置到定位之外,还可以自动运行一些前置作业的命令,例如数据库的初始化。 如果你不想要让 RPM 帮你自动运行这一类型的命令,就加上他吧!

以下说明也转自鸟哥私房菜

[[email protected] ~]# rpm -qa                              <==已安装软件
[[email protected] ~]# rpm -q[licdR] 已安装的软件名称       <==已安装软件
[[email protected] ~]# rpm -qf 存在於系统上面的某个档名     <==已安装软件
[[email protected] ~]# rpm -qp[licdR] 未安装的某个文件名称  <==查阅RPM文件
选项与参数:
查询已安装软件的资讯:
-q  :仅查询,后面接的软件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
-qi :列出该软件的详细资讯 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录所在完整档名 (list);
-qc :列出该软件的所有配置档 (找出在 /etc/ 底下的档名而已)
-qd :列出该软件的所有说明档 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的相依软件所含的文件 (Required 的意思)
-qf :由后面接的文件名称,找出该文件属於哪一个已安装的软件;
查询某个 RPM 文件内含有的资讯:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在於找出
	    某个 RPM 文件内的资讯,而非已安装的软件资讯!注意!
[[email protected] ~]# rpm -Va
[[email protected] ~]# rpm -V  已安装的软件名称
[[email protected] ~]# rpm -Vp 某个 RPM 文件的档名
[[email protected] ~]# rpm -Vf 在系统上面的某个文件
选项与参数:
-V  :后面加的是软件名称,若该软件所含的文件被更动过,才会列出来;
-Va :列出目前系统上面所有可能被更动过的文件;
-Vp :后面加的是文件名称,列出该软件内可能被更动过的文件;
-Vf :列出某个文件是否被更动过~

范例一:列出你的 Linux 内的 logrotate 这个软件是否被更动过?
[[email protected] ~]# rpm -V logrotate
# 如果没有出现任何信息,恭喜你,该软件所提供的文件没有被更动过。
# 如果有出现任何信息,才是有出现状况啊!

范例二:查询一下,你的 /etc/crontab 是否有被更动过?
[[email protected] ~]# rpm -Vf /etc/crontab
S.5....T  c /etc/crontab
# 瞧!因为有被更动过,所以会列出被更动过的资讯类型!

若非注明,本博客内容均为原创或翻译自Linode Library,教程默认Centos为linux发行版,转载请注明转自linode中文教程www.linode.im。linode中文教程QQ群:185393826,一起讨论linode及linux,linode中文教程、linode代购、linode合租、linode推介、linode返佣、linode优惠。日本VPS、美国VPS、海外独立服务器代购均在linode.im。

Categories: linux基础 Tags: , , ,
  1. No comments yet.
  1. No trackbacks yet.