# FreeBSD 8.1 (amd64) update confusing after portsnap fetch extract



## ahavatar (Sep 6, 2010)

Hello,

I've been playing FreeBSD 8.1 for a week now, but there's one thing I can't figure out about ports(packages) updating.

I installed using the amd64 iso CD, and then added xorg, gnome2, Chromium (used the http://chromium.hybridsource.org/port) and Adobe flash. All seem to work well. 

In the process of installing Adobe flash, I had to [cmd=]portsnap fetch extract[/cmd] to successfully install linux-f10-flashplugin10. Without the portsnap command, it failed.

Anyway, now when I try to update my system with [cmd=]portmaster -a[/cmd], it tries to update (or should I say compile) 234 ports! And many of them are not installed ports at all!

What I wanted was a FreeBSD 8.1 system with xorg, gnome2, Chromium and Adobe flash, and to update only installed ports, not something like Apache server compiling. 

Someone please tell me what I did wrong. I can't turn off my computer because it's been compiling 234 ports, which takes forever


----------



## DutchDaemon (Sep 6, 2010)

I think you underestimate the number of ports you have installed. On a system running X and a desktop, there are literally hundreds of ports installed. See 
[cmd=]pkg_info[/cmd]
[cmd=]pkg_info | wc -l[/cmd]


----------



## ahavatar (Sep 6, 2010)

DutchDaemon said:
			
		

> I think you underestimate the number of ports you have installed. On a system running X and a desktop, there are literally hundreds of ports installed. See
> [cmd=]pkg_info[/cmd]
> [cmd=]pkg_info | wc -l[/cmd]



umm... I did "portmaster -a" in between steps. I remember before the Adobe Flash installation, "portmaster -a" didn't update that many ports. I suspect "portsnap fetch extract" somehow broke my ports collection? Why does it suddenly try to update that many ports?


----------



## DutchDaemon (Sep 6, 2010)

You have a newer ports tree, so many ports were updated in the meantime. If the previous ports tree (the one you installed the initial apps from) was quite a lot older than the current one, chances are the number of ports you need to update is huge. In that case using portmaster -a will likely break a lot of things, because a number of ports may need special attention (/usr/ports/UPDATING). Make sure you update those first and separately, in the stated order.

Note that [cmd=]portsnap fetch extract[/cmd] needs to be run only once (when installing the ports tree for the first time). After that, use [cmd=]portsnap fetch update[/cmd]. Read the handbook chapter on ports and packages (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html).


----------



## SirDice (Sep 7, 2010)

Just a tip for next time. Don't bother with the packages on the install CD or DVD. By the time you get to install it they're old. Install only the base OS, update your ports tree and then start installing things.


----------



## wblock@ (Sep 7, 2010)

Major ports changes are delayed until after a release.  After 8.1 was released, there were some low-level ports updated that were depended on by lots of higher-level ports,


----------



## ahavatar (Sep 7, 2010)

Well, it took more than 12 hours for "portupgrade -a" to finish (yes, I switched to portupgrade from portmaster since protupgrade seems to resolve conflicts better), and I'm left with a broken system x( I can't login anymore with an error something like libgcrypt not found for seahorse. I guess that seahorse was compiled with an older version of the library, thus it seems that I need to go another round of compiling ports.

Anyway, instead of going further details about this issue, let me ask this simple question.

*What is the fastest way to set up an updated FreeBSD 8.1-RELEASE ?*

To install with amd64 iso CD, and "portsnap fetach extract", and then "portupgrade -a" seem to take at least 2 days. Is there another method?

For MS Windows, Fedora, or Ubuntu, after installing the CD, it takes at most couple of hours to get updated system. Is there a way to do this for FreeBSD ? What I want to is an updated FreeBSD 8.1-RELEASE (not CURRENT). 

Thanks and someone please enlighten me.


----------



## DutchDaemon (Sep 7, 2010)

What the earlier replies said: update your ports tree before even installing the first port. Don't install any applications from the setup CD/DVD. It's all outdated.

Avoid portmaster/portupgrade's -a flag, unless you're certain none of the ports need to be updated in a specific way/order (as per /usr/ports/UPDATING).

Make sure you follow the handbook and relevant manuals (like ports(7)).


----------



## ahavatar (Sep 8, 2010)

Are there package binaries available for the newest "portsnap fetach update" ports collection?

It seems that my FreeBSD 8.1-RELEASE system can't find a location for almost all ports that need updating. Thus I need to compile almost all updated ports, which takes days.

Well, if it takes days to have an up-to-date FreeBSD 8.1-RELEASE system, don't you think that something needs improvement? 

It would be great that binary packages are available for the newest 8.1-RELEASE ports collections, but I can't find any. Am I missing something or there is no other way except compiling 200+ ports myself?


----------



## DutchDaemon (Sep 8, 2010)

Newer packages are available under *8-STABLE*. You can set your environment variables to use that repository. Packages for *-RELEASE* are *never* updated. What needs improvement is reading the handbook and relevant manual pages.


----------



## ahavatar (Sep 8, 2010)

DutchDaemon said:
			
		

> Newer packages are available under *8-STABLE*. You can set your environment variables to use that repository. Packages for *-RELEASE* are *never* updated. What needs improvement is reading the handbook and relevant manual pages.



So if you're running a -RELEASE version, and want to make it up-to-date using binary packages instead of compiling tons of stuff yourself, you need to change the environment variable to point to a -STABLE site even though your system is -RELEASE, right? The handbook needs an improvement. Thanks a lot anyway. Now I got it.


----------

