Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Questions before I doo this
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
lduperval
Apprentice
Apprentice


Joined: 14 Jun 2003
Posts: 189

PostPosted: Sat Jun 14, 2003 11:56 pm    Post subject: Questions before I doo this Reply with quote

Hi,

I have a few questions before I install gentoo:

- I use the latest version of gnucash (from CVS a couple of days ago). I looked at the list of apps available in rc4 and gnucash is at 1.6.x. Does that mean that it isn't available as 1.8.x or is it one of thos masked deals?

- Similar question for Open Office

- I usually have multiple partitions but the documentation doesn't specify how one should size multiple partitions. My disk looks like this:

/dev/hda8 2506024 1088692 1417332 44% /
/dev/hda5 23270 5995 16074 28% /boot
none 257668 0 257668 0% /dev/shm
/dev/hda7 3678732 3367912 310820 92% /home
/dev/hda3 1052096 914080 138016 87% /mnt/windows
/dev/hdc1 2058292 1797232 261060 88% /mnt/windows-d
/dev/hda9 8626604 7866612 759992 92% /usr
/dev/hda10 3906632 3212248 694384 83% /usr/local
/dev/hdd1 5622540 3909356 1713184 70% /usr/local/soft

I was thinking of merging a9 and a10 and I would probably take a piece of a8 also, but make a5 larger. Should I also have a separat /var partition?If so, how large? The installation doc doesn't really go into that kind of detail.

I think I had another one but I forget.

Thanks in advance,

L
Back to top
View user's profile Send private message
eta
n00b
n00b


Joined: 04 May 2003
Posts: 43

PostPosted: Sun Jun 15, 2003 12:40 am    Post subject: Reply with quote

seems like version 1.8 of gnucash is masked.
Code:
linux / # ACCEPT_KEYWORDS=~x86 emerge -p --nodeps  gnucash

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N   ] app-office/gnucash-1.8.3-r1 


And for the oo.org, it seems like the masked version is 1.0.3
Code:
ACCEPT_KEYWORDS=~x86 emerge -p --nodeps  openoffice

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N   ] app-office/openoffice-1.0.3 


For the partition, my advice is try to read up on LVM and EVMS. They will remove so much of the headache of determing what size this and that partition should be. There is a how to some where in this forum, try to look it up.
Back to top
View user's profile Send private message
clacour
n00b
n00b


Joined: 19 Apr 2002
Posts: 59
Location: Dallas, Tx USA

PostPosted: Sun Jun 15, 2003 9:16 am    Post subject: Reply with quote

The LVM How-to is in Tips and Tricks. Search that forum for "lvm howto" and you should find it easily.

My thoughts on partitioning:

LVM is good. It does have a learning curve, though, and particularly doing LVM on Gentoo may be a bit tricky. If you know LVM and you know Gentoo, the howto tells you exactly what you need to know. If you're new to either one, expect some problems along the way.

Two places in Gentoo are much larger than you'd expect.

/usr/portage is the "portage tree", where it keeps all the ebuilds, profiles, etc. It's up to about 90 MB now. However, there's a subdirectory of it, /usr/portage/distfiles, where it keeps all the downloaded source code.

After a while, that can get very large (Several gigabytes). As long as you're not emerging something right now, you can delete any or all of what's in there, but it might mean having to re-download some stuff. On the other hand, if it installs clean once, you usually won't be using that package again -- maybe another version, but that means a new download anyway.

The other thing that gets huge is /var/tmp/portage. This is the working directory that portage uses to build (i.e. compile) packages. I just built a new Gentoo system and gave /var 1 GB. It wasn't enough -- I had to bump it to 1.5 GB. (Which is where LVM is sweet -- it's very easy to expand/shrink it.)

I'm experimenting with having one large partition (about 10 GB) for both /usr/portage and /var/tmp/portage. I discovered (the hard way) that portage doesn't like links for those two, but you can change what directory is used in /etc/make.conf, so now /usr/portage is the 10 GB partition mount point, and /usr/portage/var is what is used instead of /var/tmp/portage. Main thing it gives me is that I only have one partition that I have to worry about space issues on.

On the subject of sizes of partitions:

I'm playing around with multiple partitions just for the hell of it, but what I normally do on my home machines is a boot partition and one big one for everything else. Even with LVM, managing multiple partitions is sometimes a pain. (By the way, you don't HAVE to have LVM to change the sizes of partitions. Parted or Partition Magic will do the job, too. LVM's just a lot easier.)

Since you're using multiple partitions now, and asked the question, I'll assume you're going to be stubborn about it (I would be :D ), so here's my comments on sizes:

If you're going to have multiple partitions, I'd suggest the following mount points:

/var, /tmp, /home, /opt, /usr, /usr/local, /usr/portage

/etc, /bin, /dev, /sbin, and /lib should always be part of "/"

If you go with that scheme, "/" doesn't need to be terribly large. (The system I just set up is using about 64MB. I set mine up as 256 MB, but 100 would probably be plenty.)

On Gentoo, /var will need to be very large (around 1.5 GB) if you're going to use the standard location (/var/tmp) for workspace when building packages.

/tmp depends on your usage. For most applications, /tmp usage is fairly light (a few megabytes is a fairly large one). If you're not using anything that uses an unusually large amount of temp space, I'd make it 256 MB.

/opt depends on whether you're going to use packages that go there. I personally prefer to put applications that are going to have a long lifetime on my system in /usr, but I don't care about it so much that I'm willing to go in and dink with something like KDE. If they want to put it in /opt, I'll live with it for now. (The /opt vs /usr argument is one reason I tend to prefer one big partition.)

It's up to you whether you have a separate /usr/local and /usr/portage or just make them subdirectories of /usr, but they're both likely to grow and shrink a lot. It's usually desired that /usr be more stable. (Again, this is meaningless if everything is in one big partition.) If you are going to have them, I'd make /usr/portage at least a gigabyte. (Maybe a quarter of that if you're going to clean out the distfiles frequently.)

/usr/local is hard to call, because it depends on how you use it. I use mine for my own scripts, and a few other odds and ends that I've originated. For that, 50 MB would be plenty. Lots of packages decided that an argument between /usr and /opt wasn't enough, they should distinguish between /usr and /usr/local, and argue about THAT. (Can you tell I'm a little fed up with this silliness?) I made mine 256 MB, for what it's worth.

You should know better than anybody how big /home should be. :wink:

Good luck,

Charles Lacour
Back to top
View user's profile Send private message
lduperval
Apprentice
Apprentice


Joined: 14 Jun 2003
Posts: 189

PostPosted: Sun Jun 15, 2003 6:51 pm    Post subject: Reply with quote

clacour wrote:

LVM is good. It does have a learning curve, though, and particularly doing LVM on Gentoo may be a bit tricky. If you know LVM and you know Gentoo, the howto tells you exactly what you need to know. If you're new to either one, expect some problems along the way.


Well, I'm new to both. I don't really feel like ending up with a useless system for more than a couple of days.

[quote]
directory is used in /etc/make.conf, so now /usr/portage is the 10 GB partition mount point, and /usr/portage/var is what is used instead of /var/tmp/portage. Main thing it gives me is that I only have one partition that I have to worry about space issues on.
[quote]

Ahh, I like this idea. Maybe I can leave /boot at 24 MB, / at 2GB, /usr at 4GB and the remaining 8GB for /usr/portage and /usr/portage/var. I like that.

Quote:

Since you're using multiple partitions now, and asked the question, I'll assume you're going to be stubborn about it (I would be :D )


Me? Stubborn? Of course not. I'm not a Unix or LSB purist. I can hack away at my system like the bes^H^H^H most other geeks.

Thanks for all the feedback. I have another question about the stage stuff: I need to have my system up and running as quickly as possible. The optimisation can come later but the actual usability can't. If I install stage 3 and compile eveything I need to get Gnucash running, I can then allow my system to be optimised.

So my question is: can I install the stage 3 stuff, knowing full well that my system will not be optimised to use it, then have everything be recompiled (overnight) to suit my system and my CPU? Or am I better of bootstrapping the whole thing?

Another question, without having Gentoo installed, how can I figure out what the masked versions of applications are? For example, I use Tcl very hevily and I think a few of my apps require 8.4 and up. Yeh on the site, it says that only 8.3 is available. How can I determine if 8.4 is masked? Do I have to ask? If it isn't, do I have to make it available for Portage or do I just log in a request and someone else will take care of it?

Thanks again,

L
Back to top
View user's profile Send private message
cyrillic
Watchman
Watchman


Joined: 19 Feb 2003
Posts: 7313
Location: Groton, Massachusetts USA

PostPosted: Sun Jun 15, 2003 8:32 pm    Post subject: Reply with quote

lduperval wrote:
Another question, without having Gentoo installed, how can I figure out what the masked versions of applications are?

If you want to see all the packages that are available in Gentoo, you can download a Portage snapshot (about 9MB)
ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/snapshots/portage-20030614.tar.bz2
Then browse for the package you are interested in.
Code:
# ls -l /usr/portage/dev-lang/tcl/
total 29
-rw-r--r--    1 574      574          2450 May 19 04:37 ChangeLog
-rw-r--r--    1 574      574           681 May 19 04:37 Manifest
drwxr-xr-x    2 574      574           232 Jun 15 04:43 files
-rw-r--r--    1 574      574          2074 Feb 13 05:31 tcl-8.3.3-r1.ebuild
-rw-r--r--    1 574      574          2177 Feb 13 05:31 tcl-8.3.3-r3.ebuild
-rw-r--r--    1 574      574          2182 Apr  4 16:12 tcl-8.3.4.ebuild
-rw-r--r--    1 574      574          2659 May 19 04:37 tcl-8.4.2-r1.ebuild
-rw-r--r--    1 574      574          2653 May  9 10:38 tcl-8.4.2.ebuild

To see if a package is masked, you need to look in the ebuild at KEYWORDS :
Code:
# grep KEYWORDS /usr/portage/dev-lang/tcl/*
/usr/portage/dev-lang/tcl/tcl-8.3.3-r1.ebuild:KEYWORDS="x86 ppc sparc "
/usr/portage/dev-lang/tcl/tcl-8.3.3-r3.ebuild:KEYWORDS="x86 ppc sparc alpha"
/usr/portage/dev-lang/tcl/tcl-8.3.4.ebuild:KEYWORDS="x86 ppc sparc alpha hppa arm"
/usr/portage/dev-lang/tcl/tcl-8.4.2-r1.ebuild:KEYWORDS="~x86"
/usr/portage/dev-lang/tcl/tcl-8.4.2.ebuild:KEYWORDS="~x86"

For x86 architecture :
x86 means stable
~x86 means unstable / testing
-x86 means broken
Back to top
View user's profile Send private message
clacour
n00b
n00b


Joined: 19 Apr 2002
Posts: 59
Location: Dallas, Tx USA

PostPosted: Fri Jun 20, 2003 2:27 am    Post subject: Reply with quote

I won't address the masked packages stuff, since Cyrillic already did a better job of it than I would have. (I might print that off, it's handy info to have.)

Quote:
I have another question about the stage stuff: I need to have my system up and running as quickly as possible. The optimisation can come later but the actual usability can't. If I install stage 3 and compile eveything I need to get Gnucash running, I can then allow my system to be optimised.

So my question is: can I install the stage 3 stuff, knowing full well that my system will not be optimised to use it, then have everything be recompiled (overnight) to suit my system and my CPU? Or am I better of bootstrapping the whole thing?


If you want usability as soon as possible, forget LVM, and install stage 3.

I'd use either reiserfs or ext3. I've heard good things about XFS, but I've also heard it doesn't play well with others. Specifically, it can be a real challenge to get XFS working well with one of the optimized kernels, like gentoo-source. If the vanilla kernel or the xfs-sources fits your needs and you want xfs specifically, that will work fine.

If you want any of the extra functionality in one of the other kernels, I'd stick to ext3 or reiserfs. (Or even a combo.) For what it's worth, I used reiserfs instead of ext3 for my /usr/portage partition this time, and an "emerge rsync" takes about a third as long as it used to. (Caveat: "used to" was on a P2-366 with 128 MB of RAM, vs a P4-vintage Celeron with 256 MB of RAM. Reiserfs's reputed speed with small files was why I did it, but there's no guarantee that that was the whole speedup.)

Re optimization, it's not really as big a deal as some people make it sound. It's not like it's going to take you 15 minutes to start Gnucash on an unoptimized system, and 15 seconds on an optimized one. I've been trying for a while to think of a good group of programs to test with, and see just how much difference there is between 386 code and code optimized for your specific, late-model cpu. A few things (DVD playback, for example) the additional hardware instructions can make a big difference, but for a lot of stuff, the difference is simply not that big.

One word of warning: you said "then have everything be recompiled (overnight) " -- unless you have a bad ass machine (like a dual or even quad 3.0 GHz) don't expect it overnight. There are several packages that are very large, and will take a few hours each.

The good news is, you don't have to recompile everything in one wack. One of the nicest things about Portage is that the dependency rules make sure that if you need glibc compiled before gcc, you'll get it that way.

On the other hand, I don't know of an "emerge" switch that says "compile this if it was compiled with different USE variables than I'm using now". (I may file a bug to suggest that -- it sounds useful, now that I think about it.)

The Portage manual mentions one way to do it: "emerge --update world --emptytree" (that will do everything except glibc) but I have mixed feelings about that. It's great if you want to go from start to finish with no interruptions. (A desktop system that's in good physical condition when performance is a minor issue would be fine). It's much less good if you want to interrupt it in the middle.

The problem is that portage keeps track of which packages are at what level, and an "emerge -u world" will only update those packages that need it. The "emptytree" option bypasses that, and makes it recompile a bunch of stuff that would otherwise be ignored. Problem is, it also makes its knowledge that "I've already done this" meaningless.

You basically have three options, all involving some pain. First is to use "emerge -pu world --emptytree" to get the list of things to compile, and then manually recompile them. If you say "emerge <package>" with no "-u", it will emerge it unconditionally, regardless of whether it "needs" to or not. Writing the output of "emerge -u world --emptytree" to a file and using the (massaged) file as input to a "for" loop will ease the pain, but it's still a mostly manual process.

Second way is to use the suggested command, and just plan on leaving the machine running it until it finishes. I've got my Gentoo install on a laptop, (and I can't seem to get "suspend" to work) so that's not a good option for me.

Third is to write a script, looking in /var/db for packages whose USE variables are different from your current ones. I find it really hard to think of a script like that and NOT try to write it, so I might be posting one in the near future. I'm outrageously busy these days, though, so don't bet money that I'll do it.

Ok, I've rambled enough (I chose my avatar with great care). I'm going to go play with the script and/or sleep.
Back to top
View user's profile Send private message
clacour
n00b
n00b


Joined: 19 Apr 2002
Posts: 59
Location: Dallas, Tx USA

PostPosted: Fri Jun 20, 2003 9:01 pm    Post subject: Reply with quote

Ok, I've got the script. It's still rather on the crude side, and could probably be done a LOT more efficiently in Python, but awk is what I know. I was moderately proud of myself for figuring out how to get the true value of the USE variable...

I used a script name of euc (emerge use-changed), and I'll call it here so I don't have to use something awkward like "<script-name>".

Usage:

euc
or
euc <package>

where package is something like "elvis" or "links". It does a find command with that name, so you're limited to one package name. It shouldn't hurt anything if it matches multiple packages, but for now, you have to say
euc elvis
euc links

and NOT "euc elvis links"

Code:

#!/bin/bash

if [ "$1" = "" ]
        then Packages=$(find /var/db/pkg -mindepth 2 -maxdepth 2)
        else Packages=$(find /var/db/pkg -mindepth 2 -maxdepth 2 -name "*$1*")
fi

USE=$( python -c "import portage; print portage.usesplit" | tr "',[]" '    ')

for Package in ${Packages}
        do
                PkgName=$(basename ${Package})
                eval $(grep IUSE ${Package}/${PkgName}.ebuild)
                DB=$(for useflag in ${IUSE}
                        do
                                if [ "$useflag" != "build" ] && [ "$useflag" != "bootstrap" ]
                                        then cat ${Package}/USE | tr ' ' '\n'| grep ${useflag}
                                fi
                        done | sort )
                Pkg=$(cat ${Package}/PF)
                echo ${Pkg} ${DB}
  done | awk -v USEVARS="${USE}" '

BEGIN {
        ucount=split(USEVARS,temp);
        for (i=1;i<=ucount;i++)
                { USE[temp[i]] = temp[i] }
}

{
  pkg=$1
  diffs=""
  printflag="false"
  delete DB

  for (i=2;i<=NF;i++)
                { DB[$i]=$i }

  for ( i in DB )
                {
                        if ( USE[i] != DB[i] )
                        { printflag = "true"
                          diffs = diffs "," USE[i] " " DB[i] }
                }
  if ( printflag == "true" )
               # { print pkg,printflag,diffs }
                { print pkg }
}'



One note: it specifically excludes differences in the "build" or "bootstrap" variables. The doc warns quite strongly not to play around with those two unless you know what you're doing.

Hope this helps,

Charles Lacour
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum