If any single program defines the Debian Linux project, that program is apt-get. apt-get is Debian’s main tool for installing and removing software. Working with the .deb package format, apt-get offers sophisticated package management that few Red Hat Package Manager RPM-based distributions can match.
Apt itself has been ported to work over rpm packages instead of deb packages by connectiva. these guys have recently come up with a better algorithm for dependency resolving that exceeds the capability of apt in debian.
up2date itself has been available for redhat once you register a free account with them. redhat EL has many sophisticated features collectively called as RHN
mandrake has wrappers like urpmi and rpmdrake which does something similar
fedora, centos etc ship with yum and it has a gui called gyum similar to synaptic
apt and stuff like that is no more a unique quality of debian. what debian has now that differentiates it above every operating system is the huge repository of well maintained packages according to strict predefined policies.
Those elitist people who say rpm sucks compares to apt are actually right but thats comparing apples and oranges.
debian has dpkg which does offer similar functionality to rpm. apt is more comparable to stuff like yum, urpmi etc. no more clueless talk regarding that
Sad thing is, apt-get still hasn’t got any logging feature.
Does anyone have any comments on that?
Also, apt-get in Debian doesn’t support GPG keys. In Red Hat/Fedora it actually does, so why don’t the Debian repositories use this function?
“. In Red Hat/Fedora it actually does, so why don’t the Debian repositories use this function?”
ubuntu is planning to do just that for its next release
this apt front-end is quite cool:
http://www.togaware.com/linux/survivor/wajig.shtml
It could be cool to show how to install from sources with apt-get.
A nice example could be:
I want to install apache2 but I want to edit mod_rewrite.c before installing it.
Do you know a tutorial that shows how to do that ?
apt-get source apache2
cd apache2
vim mod_rewrite.c
dpkg-buildpackage
should it
cd /usr/src
apt-get source apache2
(unpack if required)
cd apache2/blabla/
vim mod_rewrite.c
cd /usr/src/apache2
`dch -i` or explicitly `dch -v <version>-<revision>`
dpkg-buildpackage
cd ..
dpkg -i apache2-foobar.deb
voilia!
I prefer aptitude. You can use aptitude from the command line just like apt-get, or you can use aptitude’s ncurses based “terminal interface”.
The latter option allows browsing package lists sorted into helpful categories. This is very useful if you don’t know what packages are available. Sometimes searching packages with apt-cache is the quickest way to find a package but I find it more reassuring to see the actual list of all available packages.
And I don’t know if it’s possible (without tweaking config files) to tell apt-get to install also recommended packages, like you can do in aptitude. And aptitude can also check if some packages were istalled as recommends for the package(s) to be removed, in which case those recommends will be removed also, keeping your system cleaner.
BTW, is there a similar sorting of packages into dependent/recommended/suggested in RPM distros, like there is in Debian?
aptitude provides a log named /var/log/aptitude.
Anonymous (IP: 210.210.46.—) wrote:
up2date itself has been available for redhat once you register a free account with them.
{snip}
fedora, centos etc ship with yum and it has a gui called gyum
If you’ve got FC3 installed, are you supposed to use yum/gyum or up2date?
You guyz should give smart a try, it’s brilliant!
It’s from the same guy that ported apt to rpm. A lot faster than yum, very flexible and clean.
http://www.smartpm.org
I’ve been using it for a week now and it works very well on FC3. It’s supposed to work on debian too.
‘this apt front-end is quite cool: http://www.togaware.com/linux/survivor/wajig.shtml‘
Iknow ๐
Made a deb out of a libdvdcss.rpm with:”wajig rpm2dep libdvdcss.rpm”,amongst other things.One thing i didn’t like with debian that when i installed the 2.6.x Athlon version kernel both dvd drives weren’t detected anymore,otherwise nice
stable distro with of course apt-get.
“Those elitist people who say rpm sucks compares to apt are actually right but thats comparing apples and oranges.”
No, those “elitist” people remember those times when your apples (well, or the kind of fruits or vegetables you like to call rpm and co.) weren’t around but apt was, and it rocked like smoke on the water
But yes, you’re right, smacking rpm-based dependency checking tools or yum or whatever else cannot be justified by these arguments. It’s cool you can choose. This is what the world of FOSS is and was all about.
Hell, I remember my old days when I already knew RH, but not Debian, and I got to a point where I got to make my RH installs from tar.gz sources because I just got fed up with rpm’s disablitites of diong anything right AT THAT TIME. Then I got in touch with Debian, and I’m with it all since then. That doesn’t mean I don’t use other Linux’s, I do. But they all keep rotating and giving up their places to one another on my machine(s) while Debian has had a stable place.
While that may not be enough for some, it is for me. Because there _are_ reasons why it is this way.
is the fact that there are 17,000+(or is it 19,000+ now?) Debian packages available in the Debian repositories. The RPM repositories need to catch up to that to steal all of Debian’s thunder.
Check this thread:
http://www.debianplanet.org/node.php?id=643&mode=4&order=1
well, after spending some time with apt I still did not get a working solution for this:
I have some good sources in sources.list to get new software from – ok, but I now want, e.g. Apache only to be updated from source1 and my<sql only to be updated from source2.
of course all other packeges should come from source3.
problem is: ALL sources are offering apache and mysql.
So how do i get that pinning feature work to only use the sources I want for a specific package?
Thanks!
Is there a way I can rollback to a previous version of a package installed via apt-get?
How about if I do an ‘upgrade’ or ‘dist-upgrade’? Can you rollback from that?
While we’re on that, can you do that with rpm too?
ubuntu is planning to do just that for its next release
Cool. One more point in favor of Ubuntu and also a new reason for me to consider switching from Debian to Ubuntu (as much as it could be called switching from one distro to another one).
In the world of increasing computer security threats, I want to show support to all efforts that aim to make the situation a bit better. Basic SELinux the way that Fedora has it now, would be nice too. SELinux and similar stuff will be used more and more in the future anyway.
By the way, I prefer Aptitude (CLI) to Apt-get too. GUI is good for browsing packages, but however the Aptitude GUI looks rather prehistoric and poor. I hope that someone could write a proper GTK2 frontend to aptitude, and maybe also integrate apt-listbugs (+ other such small enhancements?), and so generaly make it easier to manage multiple and customized apt sources.
Apt/Synaptic together with the excellent Debian repositories is great. But Debian package management – as easy as it may be to use – may still not be quite newbie friendly enough in such typical scenarios like when a newbie user wants to install/upgrade multimedia and other packages from non-official repositories etc.
How timely. I was just looking into attempts to make apt installs generate reports for some customer logging purposes.
Support for this is poorly documented and barely capable.
You can create a file: /etc/apt/apt.conf.d/00local (whatever name you want) that contains a line like:
DPkg::Pre-Install-Pkgs {“/usr/local/bin/apt-logger || true”;};
(read the man page for apt.conf which doesn’t describe apt.conf.d, but you can derive its function or use apt.conf if you don’t mind it getting overwritten on updates possibly)
Then your script “apt-logger” will read a list of .debs from STDIN to be installed. You can ‘dpkg -I’ those to get info out and stuff it to a file or e-mail to report recipients.
Problem is the install could be aborted after this point and the logging would be potentially inaccurate. the function “DPkg::Post-Invoke” could be used, but i see no ability to perform argument passing (like package-name, install and remove-status, etc).
since apt sits on ‘dpkg’, i thought i’d look there. ‘dpkg’ is even worse about any ability to log or report.
(i may be overlooking something, but i can’t see it documented well anywhere)
”
In the world of increasing computer security threats, I want to show support to all efforts that aim to make the situation a bit better. Basic SELinux the way that Fedora has it now, would be nice too. SELinux and similar stuff will be used more and more in the future anyway. ”
yes. ubuntu has plans to do that in the next release if a prototype version is developed. fc3 has done all the hard work getting the policies right and russell crow has done the packaging for debian previously.
“Aptitude GUI looks rather prehistoric and poor. I hope that someone could write a proper GTK2 frontend to aptitude”
it’s not exactly a front-edn for aptitude, but for apt itself, fully gtk2. it’s called synaptic.
apt-get install synaptic
pretty nice, i use it all the time
but autopackage would be nicer
no, afaik none of the RPM-native package managers does suggested dependencies. This *is* a really good feature of apt-get, and it’s been suggested for urpmi in the past…unfortunately, the last time it really got any momentum was just before fpons (the original urpmi maintainer) left mdksoft. Now the new maintainer is up to speed it might be worth asking for again…
”
Occasionally, you also see non-US, which denotes software — often cryptography tools — that cannot be exported from the U.S. for defense reasons.
”
surely that should read “cannot be exprted TO the U.S. for defense reasons. we have to keep such qualiy software out of the hands of madmen who are a threat to the free world.
Thanks for providing the info. It’s good to observe that many GNU/Linux distros are sharing code and ideas and are constantly exploring new ways to improve their package management. For example, Conectiva’s SmartPackageManager, mentioned earlier in this thread, now appears to support also Slackware. Very nice! ๐
thanks i’ll give it a try ๐
Use pinning: http://www.argon.org/~roderick/apt-pinning.html
I wish the search functionality of apt was more widely documented. Using the web page to find a package is fine but what if you want to do it from the command line? It’s pretty arcane:
apt-cache search <expression> will do it.