Re: checkinstall type utility for binary distributions
From: Moe Trin (ibuprofin_at_painkiller.example.tld)
Date: 11/12/04
- Next message: Patrick McDonnell: "Just a thoguht"
- Previous message: Dominik: "Re: mail"
- In reply to: Rob Strover: "checkinstall type utility for binary distributions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 11 Nov 2004 17:48:54 -0600
In article <LEIkd.32470$K7.15155@news-server.bigpond.net.au>, Rob Strover wrote:
>I've recently discovered the 'checkinstall' utility for creating an rpm (or
>deb) package from source distributed in a tarred format. This adds the
>advantage of rpm wrt un-installation, etc, where no rpm source (or binary)
>package is available.
Well, I see it at sunsite as part of the Slackware 'slack390' distribution,
and it seems (based on file dates) to have been around for a while.
>I also noticed the 'alien' utility. This *sounds* as though it is sort-of
>equivalent to 'checkinstall', but will operate on a binary package.
'alien' started out as a Debian utility.
>Could someone who has experience with these utilities please let me know
>whether this is correct, and if there are any potential traps an 'advanced'
>newbie might encounter.
You don't mention what distribution/version you are using, and that would
make a significant difference. 'rpms' built for distribution C (say for
example Caldera or Conectiva), and not always interoperable with other
distributions (some put things in different places).
NORMALLY for a newbie, I never recommend them trying to install anything
that doesn't come from their distributor. They know what the system looks
like, and have actually tested the package to see that it installs correctly
and this also gives some security against malware.
Once you know something about how things work, you can then start looking
at other sources. The prudent person doesn't act like some windoze wanker
blindly installing everything that their good buddy on IRC tells them about.
With Linux (and other open source O/S), you can usually find a tarball, or
the package source (for rpm, this is a .src.rpm), and you can then get in
there and read what is happening. The C source code is likely to be beyond
your skill, but the Makefile or rpm spec file is plain text. The sourcefile
will also include documentation what gives you a good insight of what is
going on.
For an rpm based system, I prefer to build my own packages from the sources
if I don't explicitly trust the source. This is not the most simple task,
but there is lots of documentation on the web about it. The key is that
spec file.
If it gets to messy, I will use a tarball, but see the trick below. This
really does mean reading the Makefile and seeing what is going to be
installed where. In some packages, you need to run ./configure to create
the Makefile first. That means reading the configure file - you should at
least glance through ANY such files before running them - that's just
common sense. Don't throw away the Makefile - the better authors will
include an 'uninstall:' target, which will remove the stuff that got
installed when you entered 'make install'.
>I'm reluctant to try these programs without this sort of advice because I'm
>not sure I have enough experience with linux to clean up any unfortunate
>mess if things don't work out correctly [short of re-installing the actual
>distribution, etc.] :-(
Oh, there's LOTS of things around this. Let's just start with 'rpm'.
rpm -qpl /path/to/name.of.package.rpm show what files are in an
uninstalled rpm.
rpm -U --test /path/to/name.of.package.rpm go through the motions of
installing the package - looking for conflicts.
rpm -e name.of.package <-- notice the difference remove an installed
binary rpm.
To find out what happens when you are installing/removing packages, here is
a very easy trick that works with ALL package managers, and works with
tarballs.
1. touch /tmp/touchstone
2. install/remove/do_your_thing
3. find / -newer /tmp/touchstone -exec ls -lad {} \; > /some/filename
This means to create a file (1) before you start messing with things (2),
and then running the find command to locate stuff that has been messed
with since you created the file in step 1. If you stash this find
output, when you later want to remove the mess, this file will tell you
what had been done.
Old guy
- Next message: Patrick McDonnell: "Just a thoguht"
- Previous message: Dominik: "Re: mail"
- In reply to: Rob Strover: "checkinstall type utility for binary distributions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|