I've seen many times where users do or write apt-get upgrade, but not apt-get dist-upgrade, which, according to the man page, automatically handles dependency conflicts and installs any new needed packages automatically. This might get rid of a few dependency problem questions from ever coming up.

Is there any reason the former is more common/popular than the latter? Generally, which one should be used/recommended?

  • 2
    I think this would be a better fit on main, not on meta. But this would be a duplicate – Dan Mar 17 '14 at 14:26
  • If I remember rightly, the Ubuntu Software Center uses dist-upgrade by default. I don't have a link as proof. – DK Bose Mar 20 '14 at 2:41

If you're recommending people upgrade to the latest versions of all their packages, yes, you should probably use dist-upgrade. upgrade will often work, but it won't always do the job (you'll see messages about held packages).

I'm not sure if it's actively causing dependency issues though... Apt is still running the show and it won't cause issues if it can help it. Could you invent a scenario where upgrade would break things?

  • I meant something like packageA couldn't be upgraded because it depends on packageB (>= 3.2-1ubuntu1), which is not going to be installed. upgrade shouldn't break anything, though. – saiarcot895 Mar 17 '14 at 14:56

dist-upgrade is meant solely when you know that the upgrade will remove packages. I prefer using aptitude for this, since the commands are more explicit, safe-upgrade which is the upgrade equivalent, and full-upgrade which is the dist-upgrade equivalent.

dist-upgrade tells apt-get to install the latest version of all packages even if it needs to remove some (this can include DE packages and left you without GUI), it doesn't deal automagically to solve dependencies but just remove the packages that are in the way.

  • 1
    I do like the safe-upgrade definitions but aptitude itself can be pretty ferocious if you don't understand how it differs from apt-get. I'd like to say I'd only removed most of my system once with it but I'd be lying. I agree that breaking things to that level taught me a lot but what a headache. – Oli Mar 17 '14 at 23:48
  • 1
    @Braiam apt-get dist-upgrade is not just for when packages need to be removed. apt-get upgrade will also not install new packages, not even packages provided as dependencies that don't conflict with anything else. (From man apt-get: "under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed") For example, most kernel updates aren't installed by apt-get upgrade but are by apt-get dist-upgrade, since they're separate (version-tagged) packages, pulled in as dependencies of metapackages like linux-image-generic. – Eliah Kagan Mar 18 '14 at 1:02
  • @EliahKagan I don't know how you are interpreting the answer but this is not the place to discuss it. I don't use dist-upgrade unless I know before hand what packages needs to be removed. That's the extent of my answer. I prefer instead the implicit aptitude safe-upgrade since it says that my upgrade will be as safer as possible. – Braiam Mar 18 '14 at 1:05
  • 1
    @Braiam In fact comments are the right place to point out inaccuracies in answers and otherwise to critique them, except when an edit would be acceptable. (Should I edit your meta answer?) The first sentence of your answer is objectively false; that is simply not the only purpose of dist-upgrade nor the only major way it differs from upgrade. If you feel meta is not an appropriate place to talk about how apt-get really works, you may wish to consider deleting your answer. Your answer consists entirely of the kind of material it seems you may be saying is inappropriate for meta. – Eliah Kagan Mar 18 '14 at 1:14
  • @EliahKagan again, you are reading too much on my answer. 1) I didn't say what dist-upgrade do; I just said dist-upgrade is meant solely when you know that the upgrade will remove packages. If you read more than that is your problem. 2) I'm saying how I evaluate which method I will use and prefer and under what circumstances. My answer is just to guide OP that he should play safe and use upgrade/safe-upgrade, otherwise he could get packages removed unknowingly (which is my only preoccupation). – Braiam Mar 18 '14 at 1:21
  • @Oli well, aptitude did show you that you were about to remove bazillion package, you should have aborted or read through all of them :P – Braiam Mar 19 '14 at 23:08

Not the answer you're looking for? Browse other questions tagged .