>我(你愿意)选择哪一个?
>如果我选择rpm,我应该使用rpm -Uvh< filename>或使用yum安装rpm?
>如果我选择安装二进制文件,通常的安装方式是什么(供Apache / httpd使用)?我想我应该将.tar.gz文件下载到/usr/local / src,用tar zxvf< filename>解压缩,然后./configure,make,make install.通常,如果我这样做,二进制文件会自动转到/usr/bin(它是否为ImageMagick),并为所有用户设置环境路径?
解决方法
Which one should I (would you) choose?
使用RPM并坚持使用RPM. RPM使用源代码更简单,更容易更新和安装安全更新,并将节省您的长期时间.我可以在大约5分钟内更新我的CentOS盒子上的所有软件.从源代码编译时,需要花费数小时甚至数天才能完成相同的操作.
此外,由于您不熟悉Linux系统,因此您希望系统与社区其他人使用的系统保持一致,因此文档和论坛帖子中的示例将与您在本地系统上提供的示例相匹配.文档通常假定您通过RPM安装了软件.如果您有一个由RPM构建的混合系统,但是从源代码安装了十几个程序,则调试将更加困难,并且需要更多的知识和技能.
从源代码编译更复杂,需要您在编译期间解决依赖性问题.在编译软件之前,您需要在系统上安装头文件,编译器等依赖项,而这些通常都是通过RPM安装的.
但请注意,RHEL和CentOS通常坚持使用产品的一个主要版本(例如,CentOS5为PHP 5.3提供RPM,但永远不会为5.4提供RPM).安全修复程序和一些功能更改由RedHat“后移”到当前版本中.
如果您需要CentOS无法提供的特定软件版本,或者您想自己定制源代码,请从源代码安装.对于初学者,尽量避免这种情况.
对于ImageMagick,请安装CentOS提供的RPM.如果它不能满足您的需求,请研究您需要的版本,并从源代码安装.
rpm -Uvh or use yum
使用yum,它是RPM(RPM库)的包装器,并为您完成大部分工作.再次,这将节省您的时间.
RPM用于从本地文件安装RPM,这意味着您需要找到RPM并下载它及其所有依赖项. Yum将执行依赖项检查,并将为您下载并安装RPM.
will the binaries automatically go to like /usr/bin
当源代码将二进制文件放在/usr/local / bin而不是/usr/bin时,我更喜欢它. /usr/bin用于供应商提供的软件,/usr/local / bin应保留用于本地编译的软件包.如果源代码将二进制文件安装到/usr/bin,则意味着下次运行yum update时会意外地替换这些二进制文件.
另见https://unix.stackexchange.com/questions/8656/usr-bin-vs-usr-local-bin-on-linux
还有其他Unix变种从源代码编译所有软件,但这些系统往往有很好的方法和良好的工具来保持所有这些源文件的组织. FreeBSD是一个流行的操作系统,管理员倾向于从名为“Ports”的源包编译软件,这是学习操作系统和源代码的好方法.