# Upgrading an old FreeBSD host



## mckeown68 (Apr 2, 2014)

HI, I hope this is the right place to ask this question. I am tasked with upgrading a FreeBSD host running 6.2.  The host performs a critical email function.  There is a very large Perl library running on the host and I need to know if there is a way to install the updated versions of these all at once or whether I have to do them all one at a time.

There are these:

```
p5-Archive-Tar-1.32 Perl module for creation and manipulation of tar files
p5-Authen-SASL-2.10_1 Perl5 module for SASL authentication
p5-Class-Factory-Util-1.7 Utility functions for (factory) classes
p5-Class-Singleton-1.03 Perl module that describes a singular object class
p5-Compress-Raw-Zlib-2.005 Low-Level Interface to zlib compression library
p5-Compress-Zlib-2.005 Perl5 interface to zlib compression library
p5-Convert-BinHex-1.119 Perl module to extract data from Macintosh BinHex files
p5-Crypt-SSLeay-0.56 Perl5 interface to allow p5-libwww LWP to make https connec
p5-DBD-Sybase-1.08  A Sybase DBI driver for Perl 5
p5-DBI-1.58         The perl5 Database Interface.  Required for DBD::* modules
p5-Data-OptList-0.102 Parse and validate simple name/value option pairs
p5-Data-UUID-1.148  Module for generating Globally/Universally Unique Identifie
p5-Data-Validate-Domain-0.08 Data::Validate::Domain - domain validation methods
p5-DateTime-0.38    A date and time object
p5-DateTime-Format-Mail-0.30 Convert between DateTime and RFC2822/822 formats
p5-DateTime-Format-Strptime-1.07.00,1 Parse and format strp and strf time patterns
p5-DateTime-Locale-0.34 Localization support for DateTime
p5-DateTime-TimeZone-0.66.02 Time zone object base class and factory
p5-Digest-1.15      Modules that calculate message digests
p5-Digest-HMAC-1.01 Perl5 interface to HMAC Message-Digest Algorithms
p5-Digest-MD5-2.36  Perl5 interface to the MD5 algorithm
p5-Digest-SHA1-2.11 Perl interface to the SHA-1 Algorithm
p5-Email-Address-1.88.8 RFC 2822 Address Parsing and Creation
p5-Email-MIME-1.860 Easy MIME message parsing
p5-Email-MIME-Attachment-Stripper-1.31.3 Strip the attachments from a mail
p5-Email-MIME-ContentType-1.01.4 Parse a MIME Content-Type Header
p5-Email-MIME-Encodings-1.311 A unified interface to MIME encoding and decoding
p5-Email-MIME-Modifier-1.442 Modify Email::MIME Objects Easily
p5-Email-MessageID-1.351 Generate world unique message-ids
p5-Email-Simple-2.00.3 Simple parsing of RFC2822 message format and headers
p5-Encode-2.23      Provides interfaces between strings and the rest of the sys
p5-ExtUtils-CBuilder-0.19 Compile and link C code for Perl modules
p5-ExtUtils-ParseXS-2.18 Converts Perl XS code into C code
p5-GSSAPI-0.24      Perl extension providing access to the GSSAPIv2 library
p5-HTML-Parser-3.56 Perl5 module for parsing HTML documents
p5-HTML-Tagset-3.10 Some useful data table in parsing HTML
p5-IO-Compress-Base-2.005 Base Class for IO::Uncompress modules
p5-IO-Compress-Zlib-2.005 Perl5 interface for reading and writing of (g)zip files
p5-IO-Socket-SSL-1.07 Perl5 interface to SSL sockets
p5-IO-String-1.08   Simplified Perl5 module to handle I/O on in-core strings
p5-IO-Zlib-1.05     IO:: style interface to Compress::Zlib
p5-IO-stringy-2.110 Perl5 module for using IO handles with non-file objects
p5-MIME-Base64-3.07 Perl5 module for Base64 and Quoted-Printable encodings
p5-MIME-Lite-3.01   A simple interface for creating (not parsing!) MIME message
p5-MIME-Tools-5.420_1,2 A set of perl5 modules for MIME
p5-MIME-Types-1.20  Perl extension for determining MIME types
p5-Mail-Tools-1.74  Perl5 modules for dealing with Internet e-mail messages
p5-Module-Build-0.28.08 Build and install Perl modules
p5-Net-1.21,1       Perl5 modules to access and use network protocols
p5-Net-Domain-TLD-1.65_1 Look up and validate TLDs
p5-Net-SSLeay-1.30_1 Perl5 interface to SSL
p5-Params-Util-0.26 Utility functions to aid in parameter checking
p5-Params-Validate-0.88 Validate method/function parameters
p5-PathTools-3.25   A Perl module for portably manipulating file specifications
p5-SOAP-Lite-0.69   SOAP::Lite - Client and server side SOAP implementation
p5-Scalar-List-Utils-1.19,1 Perl subroutines that would be nice to have in the perl cor
p5-Spiffy-0.30      Spiffy Perl Interface Framework For You
p5-Storable-2.16    Persistency for perl data structures
p5-Sub-Exporter-0.975 A sophisticated exporter for custom-built routines
p5-Sub-Install-0.924 Install subroutines into packages easily
p5-Sub-Name-0.02    Sub::Name - (re)name a sub
p5-Test-Base-0.53   Test::Base - A Data Driven Testing Framework
p5-Test-Harness-2.64 Run perl standard test scripts with statistics
p5-Test-Simple-0.70 Basic utilities for writing tests in perl
p5-Time-HiRes-1.9707,1 A perl5 module implementing High resolution time, sleep, an
p5-Time-Local-1.17  Efficiently compute time from local and GMT time
p5-URI-1.35         Perl5 interface to Uniform Resource Identifier (URI) refere
p5-XML-Parser-2.34_2 Perl extension interface to James Clark's XML parser, expat
p5-YAML-0.65        YAML implementation in Perl
p5-gettext-1.05_1   Message handling functions
p5-libwww-5.805     Perl5 library for WWW access
```
And then there are these:

```
bsdpan-Class-C3-0.22 Class::C3 - A pragma to use the C3 method resolution order 
bsdpan-Class-MOP-1.03 Class::MOP - A Meta Object Protocol for Perl 5
bsdpan-Devel-GlobalDestruction-0.02 Devel::GlobalDestruction - Expose PL_dirty, the flag which 
bsdpan-List-MoreUtils-0.22 List::MoreUtils - Provide the stuff missing in List::Util
bsdpan-MRO-Compat-0.11 MRO::Compat - mro::* interface compatibility for Perls < 5.
bsdpan-Moose-1.07   Moose - A postmodern object system for Perl 5
bsdpan-Package-Stash-0.04 Package::Stash - routines for manipulating stashes
bsdpan-Scope-Guard-0.20 Scope::Guard - lexically-scoped resource management
bsdpan-Sub-Exporter-0.982 Sub::Exporter - a sophisticated exporter for custom-built r
bsdpan-Sub-Name-0.04 Sub::Name - (re)name a sub
bsdpan-Sub-Uplevel-0.22 Sub::Uplevel - apparently run a function in a higher stack 
bsdpan-Task-Weaken-1.03 Task::Weaken - Ensure that a platform has weaken support
bsdpan-Test-Exception-0.29 Test::Exception - Test exception based code
bsdpan-Test-Simple-0.94 Test::Simple - Basic utilities for writing tests.
bsdpan-Try-Tiny-0.06 Try::Tiny - minimal try/catch with proper localization of $
bsdpan-WWW-Salesforce-0.200_2 WWW::Salesforce - this class provides a simple abstraction
```
Thanks for your help in advance.


----------



## wblock@ (Apr 2, 2014)

Make sure you have full backups before doing anything.  Both the operating system and installed applications are likely to have known vulnerabilities.

Duplicate it to another machine.  Or install FreeBSD 10.0 on a new machine, then install ports to duplicate the current configuration.

What I'm saying is: don't try to upgrade this machine in-place.  There have been many major changes in the six years since the last version of FreeBSD 6 came out, both in the operating system and the ports.


----------



## mckeown68 (Apr 3, 2014)

The plan is not to do an in-place upgrade, but rather replace the box entirely.
However, that wasn't the question.
Does anyone know how to install the perl and bsdpan library's at once rather an indivitually ?

Thanks


----------



## kpa (Apr 3, 2014)

Instead of listing the package names you really want a list of port origins, those are your starting point for figuring out if the ports even exist anymore or are renamed to something else. Make list of the origins with this:

`pkg_info -oa`

Match that list against an up to date ports tree and the /usr/ports/MOVED file in it.


----------



## mckeown68 (Apr 3, 2014)

Thanks for your help.  That's a perfect starting point.

Thanks


----------

