LinuxQuestions.org
Go Job Hunting at the LQ Job Marketplace
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices

Reply
 
LinkBack Search this Thread
Old 02-29-2004, 07:14 PM   #1
mnjdesigns
LQ Newbie
 
Registered: Feb 2004
Location: So Cal
Distribution: Fedora Core 1 FINAL
Posts: 5

Rep: Reputation: 0
Smile Keeping track of compiled programs etc.


Hello,

I've been having a hell of a time using Fedora Core 1 and I've learned so much reading many documents but I haven't been able to find answers as to how to keep track of compiled programs. I know how to check for installed packages and remove them if I must. Packages seem to be easier to maintain.

However... what about compiled sources. I usually prefer compiling the source since you have more control the install. Here is one thing for sure I cannot figure out. Where are the default places people usually moved their compiled programs? I've been moving them to /usr/bin

When I compile something I know files are being made and put everywhere at such a fast pace I don't know where everything is going. If I wanted to uninstall the program correctly how would I go finding the files it created as fast as possible?

Is there a file that keeps track of installed programs like a .conf file? Any help would be great whether it be a link to another document or an explanation. Thanks!
 
Old 02-29-2004, 07:21 PM   #2
DrOzz
Senior Member
 
Registered: May 2003
Location: Sydney, Nova Scotia, Canada
Distribution: slackware
Posts: 4,185

Rep: Reputation: 58
well first if you still have the sources, you can go into that folder
and type : make uninstall
and see if the developer included that ...
or you can start using CheckInstall
 
Old 02-29-2004, 07:21 PM   #3
lsmith
Member
 
Registered: Feb 2004
Posts: 40

Rep: Reputation: 15
In general - and I invite any other comments on this - /usr/local/ is where you install new stuff for use on your machine.

E.g. /usr/local/FireFox/ is where firefox is installed.

Instead of copying the executable to /usr/local/bin (or /usr/bin/ which do people think is more appropriate?), you could create a symbolic link instead. This means that the executable can stay in the directory it was created, but there is a file that points to it, and acts like it was a copy.

As for keeping track of installated programs, I think slackware uses a system of packaging similar to what you are asking (pkgtool?) - I've just installed slack so I don't know how it works yet.

Other than that, its really up to you to keep track of what files are where I think. Well documented software should have documented where everything will go when you run 'make install'.

'make uninstall' should remove all those files too - but not all software does this. Often deleteing the directory where it is installed is enough.
 
Old 03-01-2004, 12:29 PM   #4
mnjdesigns
LQ Newbie
 
Registered: Feb 2004
Location: So Cal
Distribution: Fedora Core 1 FINAL
Posts: 5

Original Poster
Rep: Reputation: 0
That sounds easy enough. How about system variables? For example windows has a registry (which I do not like), and that thing gets really messy even when using the uninstaller (windows).

However, I was hoping that when a file was compiled that Linux does not do the same. If a program does the same thing? Where are important system files installed that programs depend on etc.? This is what confuses me the most. I hope my question doesn't confuse people. Thanks for the reply's they helped a lot.
 
Old 03-01-2004, 01:50 PM   #5
lsmith
Member
 
Registered: Feb 2004
Posts: 40

Rep: Reputation: 15
Software can depend on libraries to run. These are the equivalent to a .dll file under windows, but under linux have the .so extension (stands for shared object).

There is a run time linker program that is responsible for letting programs link at run time to various libraries that they may need. It is called 'ld.so' . Check out 'man ld.so' to read about it - but you don't have to use it yourself day to day.

However it does need to be told in advance all the libraries that can be made available to other programs. Check out 'man ldconfig'. ldconfig configures the cache of libraries for use by ld.so. The standard library directories are /lib and /usr/lib, but you can add extra library paths by altering the /etc/ld.so.conf file.

As for system variables, a program inherits the environment variables of the shell from which it was launched. These are set up by the shell scripts that run when you log in, but you are free to change them from the command line and they only affect that particular shell at that time. For example - open a new shell and type 'export PATH=' and hit enter (I assume you are running bash). Now try and run 'ls' and it can't find it. Open a new one and it works fine now because they have seperate environments.

Enter 'env' at a prompt to get all the environment variables for your current shell. Because all the shells are seperate - everyone who uses the machine can have a different environment - there is no central registry.... (yay!)

There is a lot more to it but this is about as much as I know...... hope this helps.
 
Old 03-01-2004, 04:43 PM   #6
mnjdesigns
LQ Newbie
 
Registered: Feb 2004
Location: So Cal
Distribution: Fedora Core 1 FINAL
Posts: 5

Original Poster
Rep: Reputation: 0
Hey thanks a lot for that explanation! That helps a lot. I will be reading those man pages from top to bottom. Understanding how the OS works and how programs rely on libraries will help keep my system clean.

One of the things I hate about Windows is that even with an uninstall programs things get really messy. Files are left in the directory and the registry still has a record of it. This not only starts to slow down the computer after so many programs have been installed it leads to messy directory tables and unwanted files.

I feel like I have more control over my OS more then ever now. Even though hardware is still kind of rough around the edges such as drivers and stuff I couldn't be happier. I'd click on the affero link and give you some good comments but I haven't signed up for it yet! Will soon though... thanks lsmith!
 
Old 03-01-2004, 10:34 PM   #7
Demonbane
Guru
 
Registered: Aug 2003
Location: Sydney, Australia
Distribution: Gentoo
Posts: 1,796

Rep: Reputation: 47
You might want to try Gentoo, its a source based distro and package management using Portage is simple yet powerful.
 
Old 03-02-2004, 01:18 AM   #8
mnjdesigns
LQ Newbie
 
Registered: Feb 2004
Location: So Cal
Distribution: Fedora Core 1 FINAL
Posts: 5

Original Poster
Rep: Reputation: 0
I'd try to use Gentoo if my goal was to try learning how to use a distro that is often being used in big businesses. Even though Fedora is EXACTLY red hat, the basis and a very very good portion of it is still red hat. So I'm trying to learn this specific distro even if its not the simplest distro to start off with. I hear a lot fo good things about Gentoo though.

I have a lot of friends who use it. I'll give it a look when I have more free time. thanks =)
 
Old 03-02-2004, 06:37 AM   #9
qwijibow
Guru
 
Registered: Apr 2003
Location: nottingham england
Distribution: Gentoo
Posts: 2,672

Rep: Reputation: 47
one word... "Checkinstall"

install source, then use this method to compile.

./configure
make
checkinstall

checkinstall reads the install rule of the makefile,
and adds the compiled and installed program to
the rpm database.

you can then test if it is installed (and what version) with the usual rpm -q
and un-install with rpm -e
 
Old 03-02-2004, 08:38 AM   #10
king_nothingzzz
Member
 
Registered: Aug 2003
Location: Brisbane, Australia
Distribution: Red Hat Enterprise Linux 4
Posts: 120

Rep: Reputation: 15
checkinstall rocks!!!

Amazing....!!

Too bad i didnt know about this wondeful program all the while

cheers

king_nothingzzz
 
Old 03-02-2004, 11:03 AM   #11
thehundredthone
Member
 
Registered: Nov 2003
Distribution: Fedora Core 1
Posts: 76

Rep: Reputation: 15
Thumbs up i second that!!!!

man i wish i had read this earlier!! all the while i had been make installing programs and had no idea how to uninstall them unless i had the source or i had ./configure --prefix 'ed them

checkinstall all the way!!
 
Old 03-02-2004, 11:38 AM   #12
mnjdesigns
LQ Newbie
 
Registered: Feb 2004
Location: So Cal
Distribution: Fedora Core 1 FINAL
Posts: 5

Original Poster
Rep: Reputation: 0
Awesome! Good thing I haven't really done much compiling! Cheers!
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Keeping track of my threads? une LQ Suggestions & Feedback 4 04-10-2005 10:35 PM
Volunteer needs help keeping track. mimsmall Linux - Software 1 10-10-2004 02:03 PM
How to install and track programs compiled from source jimdaworm Debian 4 10-04-2004 02:39 AM
keeping track of active desktops jalburger Linux - Newbie 0 07-02-2002 08:02 AM
Keeping track of packages NSKL Slackware 2 06-28-2002 10:23 PM


All times are GMT -5. The time now is 06:21 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration