# Installing Ports on old Versions of FreeBSD



## dlueders05 (May 10, 2009)

I have a box that was setup in '03 that has run fine since but now it is time to do some maintenance.  Ultimately I am trying to install webmin.  I'm not sure if I am doing this correctly or not but I went to the ftp://ftp-archive.freebsd..... site and downloaded ports.tgz and un-tarred them to /usr/ports.  I was able to install portsman which is allowing me to see the current ports, attempt to upgrade or install.

The problem being when I try to install or update individual ports they cannot find the files needed due to the files being moved because they are old.  I tried editing /etc/default/make.conf but I do not know what to put for a Master_Backup_Site to actually find these old distfiles or whatever they need to be able to update or install correctly.  Can someone please help me update my ports collection and change the Master_Backup_Site so when I try to install, it will find these files?


----------



## dlueders05 (May 10, 2009)

Is anyone out there tonight that might have an answer to this?  Its highly important.  Or maybe you have other suggestions for me that I was not thinking about?


----------



## dlueders05 (May 10, 2009)

dlueders05 said:
			
		

> Is anyone out there tonight that might have an answer to this?  Its highly important.  Or maybe you have other suggestions for me that I was not thinking about?


Ok I figured out it was easy to download the new tar and install webmin without doing all of this but I still want to get this system up to date.  If you can help with that, that would be cool.


----------



## SirDice (May 10, 2009)

dlueders05 said:
			
		

> Or maybe you have other suggestions for me that I was not thinking about?


The simplest solution would be to remove all the installed ports and start from scratch. You'd probably need to rebuild everything anyway.

This will remove all the installed ports/packages:

```
pkg_delete /var/db/pkg/*
```


----------



## dlueders05 (May 11, 2009)

If I do this, will it uninstall webmin from the system?  Also if I have pkg_delete installed and this does work.  What is the best method to install ports after this?  I cannot see that cvsup is installed or working which I heard is an option.  Also pkg_add is not working.  I cannot get portsnap installed.  What I did was go to the FTP site and download the tar of the ports for 6.0 and ran install.sh but it appears that most of the progz I try to install out of this collection do not work properly when I do install.  Once I try doing pkg_delete and cleaning this up, how do I go about installing ports the right way this time so everything is functional?


----------



## mwatkins (May 11, 2009)

> If I do this, will it uninstall webmin from the system?



If you delete all the installed packages, every application that isn't part of the native OS will be removed. Webmin and all.

I hope you are not counting on webmin to keep a really old OS version humming along for many more years, or to somehow ease the pain of updating it. 



> What I did was go to the FTP site and download the tar of the ports for 6.0 and ran install.sh



Why would you pick an arbitrary version of the ports tree that isn't up to date?

Ultimately you are going to have problems if you are running a really old FreeBSD (4.x perhaps?) and are not adept at managing things. You might wish to consider backing up your data and upgrading the OS, since incrementally, installing the OS isn't that much work because in your case update the OS or not,  you are going to be deleting all your packages and reinstalling.

This list shows the currently supported versions and their estimated end of life. If your version isn't on this list, it's dead.

http://www.freebsd.org/security/#sup

Strongly consider upgrading; being too far out of touch with the still supported releases is an environment where you are likely to stumble and do more than scrape your knee.


----------



## SirDice (May 11, 2009)

Not to mention getting hacked.. Especially if it's an old webmin facing the big bad Internet.


----------



## dlueders05 (May 12, 2009)

Ok well someone installed a monitoring system that uses apache etc. on this box and I'm unsure of exactly how it is functioning or what it even is.  I'm savvy I just don't have all of the ins and outs yet.  Is there anything I can do so I know what this application is that is running, and how to get it to a new box or upgraded version?  Or is there a simple way to do an over the top upgrade of FreeBSD?


----------



## SirDice (May 13, 2009)

The ps(1) command will show you what's running on the box. Before doing the upgrade you might also want to do a pkg_info(1) to see which ports are installed.


----------



## mwatkins (May 13, 2009)

If your system was configured in 2003 it is running either FreeBSD 5.0 / 5.x or 4.x, most likely. What's the output of *uname -prs* ? Is the machine local to you or sitting in a data center half the world away?

Jumping major revisions can be very tricky. If you have physical access or a remote kvm solution and someone to pop a CD in the drive, the easiest "upgrade" in my opinion is to move all your data off to a drive other than where the root file system lives, and do a fresh install of the latest.

You'll need an application inventory (sort out what the key app is and its dependencies using the pkg_info advice SirDice gave you above) and be sure to collect any important customizations that have been done - among other things I would backup to a save place everything in and below /etc and /usr/local/etc from the current setup.

If this is a critical component of your IT infrastructure and extended downtime is not possible, you'd be well advised to bring up a new box - get it running properly first, using the live old install as your rough guide. Don't have a machine lying around / budget an issue? Sometimes a "virtual" server can help - there are a number of firms that offer either accounts based on FreeBSD jails or other virtualization techniques - from your perspective these look like any other server, you have root access. Such an account can be had quite inexpensively and could even serve as a sandbox for testing out and documenting a new or complex configuration before doing it for real.

Certainly the task is made more difficult as you are inheriting someone else's configuration work. Make it easy for yourself, or your successor, by documenting everything you do going forward. For anything complex or vital I keep a vim window open and  essentially log all the commands and configuration steps/points that I have to make.


----------

