4 ms·
Sigh... People always remark on Debian having old packages. Well the "stable" repository might be stable which in this case means run-in-production-for-5+-years
by osivertsson 13y ago
Sigh... People always remark on Debian having old packages. Well the "stable" repository might be stable which in this case means run-in-production-for-5+-years-on-many-archs without problems.
But then there is "testing", and "unstable" too which gets newer packages quite often. I personally run "unstable" as my main development machine and have for many years. Even "unstable" is very stable, but might require some manual work once-a-year or so, with a solution often easily found by some google-fu.
Then there is also "experimental", which might very well have broken dependencies etc.
The cool thing is you can run stable, but then pick some packages from unstable using what is called apt-pinning. This way you can get a rock solid base, but use newer packages of some software. Best of both worlds!
- sandGorgon 13y agoHey thanks for "apt pinning". Never knew about that. One more question - how do you get the Ubuntu PPAs into Debian? It seems a lot of new software is exclusively published on Ubuntu.... at least that's what it seems from Webupd8 and omgbuntu
- dfc 13y agoAnswer to your question and method for figuring out other "how to do something ubuntu in debian" questions. A great way to answer a lot of these questions is simply use `apt-cache search` however this is not always enough. The next thing to try is apt-file. Install apt-file: # apt-get -y install apt-file Update apt-file db (might do this on install, I forget): # apt-file update Now the bit you are interested in: How do you add PPAs in ubuntu? Answer: `add-apt-repository` Does debian have something named add-apt-repository? # apt-file search add-apt-repository software-properties-common: /usr/bin/add-apt-repository software-properties-common: /usr/share/man/man1/add-apt-repository.1.gz That looks familiar. # apt-get install -y software-properties-common # add-apt-repository ppa:libreoffice/ppa As a long time debian fanboy I have to say "new software is exclusively published on Ubuntu" was kind of funny. Unless you were talking about `upstart` ;) A great reseource for debian is the Debian Administrators Handbook. The section on pinning is: http://debian-handbook.info/browse/stable/sect.apt-get.html#sect.apt.priorities http://debian-handbook.info/browse/stable/sect.apt-get.html#...
- voltagex_ 13y agoApart from people on various #debian IRC channels getting grumpy if you mix package sources, sometimes Ubuntu has a newer libc than Debian so it can possibly cause problems. I wouldn't pull in an Ubuntu package for something in production - try backports or building from dsc first.
- dfc 13y agoIt is true that "sometimes it has a newer libc" and you can check this. If the libc version is important there will be a versioned depends in the control file. If the libc is too new in saucy I can change: deb http://ppa.launchpad.net/.../ubuntu saucy main deb-src http://ppa.launchpad.net/.../ubuntu saucy main to: deb http://ppa.launchpad.net/.../ubuntu precise main deb-src http://ppa.launchpad.net/.../ubuntu precise main OP was asking about software "exclusively" for ubuntu, so I have no idea why you are mentioning backports. When I need to get something (especially when it is an alternative twitter client as in the instant case) to work I could really care less if people on #debian would get grumpy if I told them about my solution.
- sandGorgon 13y agoNo I'm not referring to upstart. Incidentally, I'm pretty familiar with apt in the Ubuntu context, but this is not what I was referring to. For example, take a look at this - http://www.omgubuntu.co.uk/2014/01/turpial-3-available-ubuntu http://www.omgubuntu.co.uk/2014/01/turpial-3-available-ubunt.... How do you get this into Debian? This is what I mean by software that is published for ubuntu. I do not mean that it cannot be built for debian, but rather that it is not PUBLISHED for debian. Or is the only option to do a dpkg-build?
- dfc 13y agoI don't know what you are missing here. Did you think I spent all that time typing about add-apt-repository because a-a-r was a complete red herring? Did you notice that the page you link to mentioned a-a-r? $ sudo add-apt-repository ppa:effie-jayx/turpial
- 13y ago
- massysett 13y agoPlease look at backports before thinking about apt pinning. Mixing stable with newer releases can sometimes get tricky, while backports are actually designed to work with the stable release. I've been using Debian stable on desktops for years now with few problems, and backports have only improved in the past couple of years.
- voltagex_ 13y agoWhat's the difference between me grabbing a package from backports and me doing a build-dep/dpkg-buildpackage from a testing/unstable dsc?
- e12e 13y agoYou'd have to diff the package(sources) -- generally backports will try to be "conservative" in it's dependencies (not pull in a new libc or kernel unless actually needed). I'm not sure (never checked) how far backports go in actual backporting -- but in general they'll be less invasive. I expect there's probably a couple of small patches when needed (say to patch around a newer version of a library not being available if new functionality isn't strictly needed).
- kasabali 13y agoIt's exactly how the backports are built. Fetch from testing, build on stable. Dependencies are not backported unless they are absolutely necessary, only the package.
- INTPenis 13y agoAlso, besides apt-pinning, I sometimes just do a build-dep for certain softwares and build them manually, the good old way. ;) But obviously you try to avoid this in production environments if possible.
- e12e 13y agoActually, I've become more and more a fan of "manually backporting" -- just throw apt-src registry for experimental in your sources, apt-get build-dep <package>;apt-get source <package>; cd <package>; dpkg-build. It only works for comparatively small packages, you'll need to keep an eye out yourself for security patches -- but it allows you to install stuff via dpkg -- and generally if the thing is too complex, you'll probably want to run a distribution package anyway (something simple in this context is nginx, varnish, nodejs (but I tend to run upstream nodejs -- too much of a moving target...) -- something complex might be pygame or network-manager -- basically stuff that has deep and wide dependencies. For stuff that I need to get from upstream, I try to use xstow -- it's a great way to keep either /usr/local or ~/opt/ manageable. Note: for nodejs -- it doesn't read the prefix variable for just make install, use DESTDIR (and do some manual cleanup): http://www.debian-administration.org/articles/682#comment_26 http://www.debian-administration.org/articles/682#comment_26
- e12e 13y agoI should add that yet another option is to use chroots, via schroot. It can get really hairy, but it can be the "easiest" way to get stuff like 32bit upstream wine running on a 64bit Debian box (without resorting to downright virtualization of some kind). https://wiki.debian.org/Schroot https://wiki.debian.org/Schroot http://www.debian-administration.org/article/schroot_-_chroot_for_any_users http://www.debian-administration.org/article/schroot_-_chroo... Note the warnings about going willy-nilly "xhost +". Much better to bind-mount home under the schroot(s) -- partially you'll probably want access to your home folder anyway (say Firefox or Chrome profile?) -- and it gives access to the X11 auth cookie keeping everything as (in)secure as it usually is.
- voltagex_ 13y ago