What is the difference between yum, apt-get, rp...

Q:

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

I am new to Linux and am running CentOs. When I want to update or install certain software I came across three ways.

Sometimes it's:

  • yum install program
  • apt-get install program
  • rpm -i program.rpm
  • wget program.tar.gz > unpack > ./configure > make > make install

That last one is a real pain, esp when you come from windows where a program install is usually one click and then a nice guide.

Now can someone please explain to me:

  • Why are there so many different ways to do this?
  • Which one do you recommend to use and why?
  • Are there any other ways for installing programs?


A:

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

These tools all install software into your system, but are working on different levels.

  • ./configure && make install

    Running ./configure && make install builds and installs the libraries or executables directly from the source code.

    The make install step basically just copies the final files into your system. Many sources come with a special make uninstall rule to remove them again, but this is not guaranteed and of course only works as long as you have the configured sources around. Also, this does not take care of required dependencies.

    Often there is only the source code available for a certain package, so this is the only way to go. Also, ./configure usually accepts lots of options allowing you to tailor your package.

    Not being able to find out what software installed which file, and the lack of a reliable way to remove them from the system are major shortcomings of this approach.

  • RPM (Redhat Package Manager)

    rpm installs already configured and compiled software in your system and it also comes with a uninstall to get rid of it again. The packages have to be created by somebody. This person already decided on what features to include and how to best integrate the package into your system layout. It also comes with a list of dependencies.

    Since rpms are used for many distributions there, you will often want to make sure that this rpm was written for your distribution so that install paths, dependencies and other housekeeping things integrate well.

    On Debian systems, the equivalent package format is .deb and the installation and database is handled by the dpkg tool.

  • Yum

    yum is an additional wrapper around rpm. It keeps its own database of rpm files available for your distribution, generally in online repositories. For the stable versions of most distributions all packages inside that database will play well with each other. This database can be searched (e.g. with yum search some_name).

    It will also automatically resolve dependencies for you. Packages (and with some extra help their dependencies) can be easily uninstalled as well.

    On Debian systems, the equivalent repository and dependency-resolution tools are provided by Apt (apt-get and aptitude).

So to sum it up: if you just want some software try yum first. If it is not available there, you can try to find an existing rpm package. If there is none or you have some special requirements, build from source.

转载于:https://my.oschina.net/u/218425/blog/122310

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值