LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General > LinuxQuestions.org Member Success Stories
User Name
Password
LinuxQuestions.org Member Success Stories Just spent four hours configuring your favorite program? Just figured out a Linux problem that has been stumping you for months?
Post your Linux Success Stories here.

Notices

Reply
 
Search this Thread
Old 05-06-2008, 02:20 PM   #1
vadkutya
Member
 
Registered: Apr 2008
Distribution: slackware 10.2
Posts: 117

Rep: Reputation: 16
installing software localy, keeping your / clean, neat and small


when i started to fool around with linux i had some major problems. first of all: how to uninstall things? what of all the software do i really need? the packet managers of big modern distros like suse, redhat, ubuntu tend to clutter your hd with all sorts of software you are most likely to never use. another problem was to identify which software can be deleted and which belongs to the "system", i.e. which is crucial and should not be removed. so i ended up installing linux over and over again whenever i thought i lost track of what's going on on my hd. so i was looking for a way to seperate "system software" from "private software". we all know the ./configure-make-make install routine but you do not have root permissions on all linux/unix systems you'll work with (most likely you will have no root permissions). so this thread is mostly about how to make local installations and is intended for the beginner because most of them won't do a ./configure --help. this is what i did:

1. my home dir is on a seperate partition. like: /dev/hda1 is swap, /dev/hda2 is / and /dev/hda3 is /home. the root partition is only 4.5GB (500MB is swap). i am aware that most partition howtos prefer to give /usr a seperate partition but the /home dir of modern linux systems is adequate as well.

2. install linux with the packages you need for maintaining the system, your prefered editor, X11, maybe even your desktop enviroment (like kde, gnome)--though i do not recommend them--and the like.

3. after installation you will not touch your root partition any more!...well sometimes but only on rare occasion. this also reduces the time you are logged in as root which is a good habit. the / remains as is. everything else goes in your home directory. this is the reason why i don't like the mainstream distros (e.g. suse, redhat, ubuntu). you do an apt-get or something and stuff is installed on your system. lot's of dependencies you must install along the package you want. it's like i'd like to install OpenOffice and YAST tells me that i really need this icq client to do so and with a lot of extra stuff i never asked for. you don't need half the things these distros are trying to make you believe...distrust them!

4. creating space for your local installations. i use to create a ~/.local director (mkdir ~/.local).

5. installing software locally. unpack the tarballs:

if tar.gz do:
Code:
$ tar xvzf <package>.tar.gz
if tar.bz2 do:
Code:
$ tar xvjf <package>.tar.bz2
now before you compile your packages in the ./configure-make-make install manner we have to fine tune the first step. instead of ./configure do

Code:
$ ./configure --prefix=/home/<YourHomeDir>/.local
the --prefix option tells ./configure not to install in the default dir's but everything in your .local dir. the installation will create folder in .local as it would do in /usr or /usr/local. so you will soon recognize the familiar bin, etc, lib, share directories etc. after configuration you can now compile the source code:

Code:
$ make
and after make finished you do not need to login as root! just type:

Code:
$ make install
after you did this and tried to start the program you just installed you might encounter a problem because we haven't so far told the system where to look for the software. we need to set the PATH and MANPATH variables.

7. setting PATH and MANPATH variables. you have to put the following definitions in your .bashrc, .xinitrc or better in your .bash_profile.

Code:
PATH="/home/<YourHomeDir>/.local/bin:$PATH"
MANPATH="/home/<YourHomeDir>/.local/man:/home/<YourHomeDir>/.local/share/man:$MANPATH"
export PATH
export MANPATH
8. now log out. if you put the lines above in your .xinitrc it should be sufficient to log out from your X session. however, the system will not find your selfcompiled packages whenever you work in runlevel 3 because in this runlevel the .xinitrc won't be read by your machine. if you put the lines in .bashrc or .bash_profile you need to log out completely. you cant switch to runlevel 3 and do an exit or simply reboot. now the system should have no troubles finding your freshly installed package(s).

the big plus is you can delete whatever is in your ~/.local and your system will not get messed up! this keeps your root partition clean. also, you can make an image of your home directory and if you are forced to do a reinstallation you will be up and running in your enviroment in no time.

well, that's it. let me know if this was of any help or if something was not clear enough...

good luck, vadkutya

Last edited by vadkutya; 05-07-2008 at 02:35 PM.
 
  


Reply

Tags
compile, howto, install, make, sourcecode


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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Clean install keeping /home partition. digger95 Slackware 10 04-19-2008 03:28 AM
keeping the computer clean sycamorex General 12 07-18-2007 11:15 AM
Keeping a clean system. dirk102 Linux - Software 19 09-09-2004 02:47 PM
Keeping LCD Displays Clean? sancho General 4 09-26-2003 02:20 PM
General Advice on keeping your files structured and clean. hamster Linux - Software 2 04-10-2003 10:41 AM


All times are GMT -5. The time now is 03:39 PM.

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