Over the years, I've maintained and extended my home server, upgrading as
necessary whenever a new version of Slackware is released. My server now
hosts a couple of websites, my own email domain, and a number of internal
facilities that I make available to my home lan. Overall, I've been able to
keep the system fairly up-to-date, with only minor work identifying the
local and 3rd-party packages that I have to upgrade by hand.

In the last couple of years, I've let my 'currency' slide; I've had more
than enough other things going on in my life to keep me busy, and the
server (while important) has taken on a low priority. However, I now find
myself with the time and energy to tackle an upgrade from Slackware 11.0 to
Slackware 12.1. My usual course of action is to run "upgradepkg --dry-run"
on each package in the /slackware and /extra tree, and evaluate the
results. Any existing packages that do not upgrade (determined by
eliminating those that did from a list of all packages present) have to be
handled by hand, as special cases. Usually, I only have a handfull of these
special cases, and the upgrade is fairly easy to execute. Of course, I
still have config files to manage, but with a backup of the old /etc (and
some other directories), that becomes fairly easy as well.

I took an initial stab at "upgradepkg --dry-run" today, and out of 404
packages installed on my Slackware 11.0 system (of which only about 8
are /not/ Slackware-supplied packages), only 270 packages would upgrade
from the Slackware 12.1 DVD. Most of the remaining packages /are/ Slackware
packages, but upgradepkg does not recognize them. For example,
apache-1.3.37-i486-2 is not upgraded (having been replaced by
httpd-2.2.8-i486-1.tgz, which is not recognized as the upgrade for the
apache- package).

OK, so a lot has changed between Slackware 11.0 and Slackware 12.*. This I
know. Does anyone have a recommendation for a tool (or suite of tools) that
will help ease my migration pain? Or am I doomed to have to rebuild my
server from bare-metal as a Slackware 12.1 box, and reinstall all my
configurations from scratch?

Lew Pitcher wrote:[color=blue]
> OK, so a lot has changed between Slackware 11.0 and Slackware 12.*. This I
> know. Does anyone have a recommendation for a tool (or suite of tools) that
> will help ease my migration pain?[/color]

i think i'd do an upgrade from 11.0 to 12.0 and then from 12.0 to 12.1.
while that may look like extra work, at least the process is reasonably
well documented in the UPGRADE.TXT files of 12.0 and 12.1. i'm guessing
that's your safest bet...

On Tue, 17 Jun 2008 18:56:39 -0400, Lew Pitcher <lpitcher@teksavvy.com> wrote:
....[color=blue]
>OK, so a lot has changed between Slackware 11.0 and Slackware 12.*. This I
>know. Does anyone have a recommendation for a tool (or suite of tools) that
>will help ease my migration pain? Or am I doomed to have to rebuild my
>server from bare-metal as a Slackware 12.1 box, and reinstall all my
>configurations from scratch?[/color]

Rebuild from scratch, save your /etc/ tree somewhere first ;)

I usually leave room on HDD for a parallel install of another OS, so I'd do
a clean install and if it blows up in my face I can always go back to the
working OS while I think about 'repairs'... As well I'd have the extra
stuff under /usr/local/ and .confs from /etc to transfer from the old OS
partitions. (I rarely put non-distro stuff in /usr).

On the other hand, I too have a slack--11.0 server running sweetly with the
latest kernel, some extra or updated packages, and do not see any need to
upgrade the thing, it aint broke!

Grant.
--
[url]http://bugsplatter.mine.nu/[/url]

06-18-2008, 12:29 AM

unix

Re: Slackware 11.0 production server upgrade to 12.1

In alt.os.linux.slackware, Grant wrote:
[color=blue]
> On Tue, 17 Jun 2008 18:56:39 -0400, Lew Pitcher <lpitcher@teksavvy.com>
> wrote: ...[color=green]
>>OK, so a lot has changed between Slackware 11.0 and Slackware 12.*. This I
>>know. Does anyone have a recommendation for a tool (or suite of tools)
>>that will help ease my migration pain? Or am I doomed to have to rebuild
>>my server from bare-metal as a Slackware 12.1 box, and reinstall all my
>>configurations from scratch?[/color]
>
> Rebuild from scratch, save your /etc/ tree somewhere first ;)
>
> I usually leave room on HDD for a parallel install of another OS,[/color]
[snip]

Yah, that's one option. I've got the room for it; several large spare
partitions, and a partition scheme that has critical directories on their
own partitions. I can build a Slackware 12.1 box in the largest partition,
and switch my /usr/local, /home, and some other directories over to the new
root. That's the "plan B", for now, though.
[color=blue]
> On the other hand, I too have a slack--11.0 server running sweetly with
> the latest kernel, some extra or updated packages, and do not see any need
> to upgrade the thing, it aint broke![/color]

Mine "aint broke" either. However, I'm looking to run some new software
(some virtualized systems to act as a DMZ for some of my public services,
and an Asterisk VoIP server) which require (or at least suggest) the most
current kernel. Slackware 11.0 didn't include NPTL (IIRC), and only
supplied a 2.6 kernel in the /testing (or was it /extra) directory. In any
case, 11.0 wasn't really 2.6-ready, and I want to bring everything back up
to snuff.

I'm going to try Joost's suggestion first, with minor modifications. I'm
going to --dry-run from my 12.0 DVD, and see how many packages I'm left
managing by hand. If I do better than the 12.1 count, I'll stage the
upgrade to go from 11.0 to 12.0, and later from 12.0 to 12.1.
--
Lew Pitcher

On Tue, 17 Jun 2008, Lew Pitcher wrote:
[color=blue]
>
> OK, so a lot has changed between Slackware 11.0 and Slackware 12.*. This I
> know. Does anyone have a recommendation for a tool (or suite of tools) that
> will help ease my migration pain? Or am I doomed to have to rebuild my
> server from bare-metal as a Slackware 12.1 box, and reinstall all my
> configurations from scratch?
>
> I'd appreciate any advice you can spare.[/color]

'slapt-get --dist-upgrade --remove-obselete' works great, but always read
the changes file, *especially for 12.0* as some important key components
were split into own packages, nothing too dramatic though so long as you
have local access to the box, there were no significant alterations for
12.1 so that was a breeze...

I have used slapt-get to upgrade directly from 7 to 11 without drama, and
that was on publicly operating servers, I've never dropped out of init 3,
about the only thing I did was stop any databases, everything was OK,
*but* having said that there has never been drama for me, doesnt mean
there will be none for you so always backup, oh already do that now right
dont you :P, so just run the cron to do a current backup immediately
prior to your upgrade.

--
Cheers
Res

I read usenet and lists in pine. But m$ outlook, thunderbird and gmail
often use html span/whatever for quotes, makes it hard to tell who said
what, so I dont try. If I ignore you, thats why! Use a compliant mailer.

06-18-2008, 03:37 AM

unix

Re: Slackware 11.0 production server upgrade to 12.1

On 2008-06-17, Lew Pitcher <lpitcher@teksavvy.com> wrote:
[color=blue]
> OK, so a lot has changed between Slackware 11.0 and Slackware 12.*. This I
> know. Does anyone have a recommendation for a tool (or suite of tools) that
> will help ease my migration pain? Or am I doomed to have to rebuild my
> server from bare-metal as a Slackware 12.1 box, and reinstall all my
> configurations from scratch?
>
> I'd appreciate any advice you can spare.[/color]

Lew,

11.0 to 12.0 is the tricky one - 12.0 to 12.1 is routine.

Read over the UPGRADE.TXT from 12.0 and follow it, but with some
modifications. Note that this isn't officially supported, and yeah,
there's some risk, and yeah, YMMV and all the other standard disclaimers,
but I've done something similar going from 10.2 to 12.1 (just to satisfy
my own curiosity). Essentially, it will work like this:

1. Install the 2.6.24.5 hugesmp kernel from 12.1. Don't upgrade it -
just install it. Install the modules for that kernel too.
Edit your lilo.conf to point to that kernel, run lilo, and reboot
into that kernel.
2. Follow steps 2-9 in that document, using 12.1 packages instead of
12.0.
3. In step 10 (removed packages), be sure to remove all of the ones
noted as removed in both 12.0 and 12.1.
4. Merge .new files.

Basically, you'll be merging the information contained in the
CHANGES_AND_HINTS.TXT from 12.1 with UPGRADE.TXT from 12.0.
Let me know if all this isn't clear - feel free to mail me privately.

-RW

06-18-2008, 11:08 AM

unix

Re: Slackware 11.0 production server upgrade to 12.1

> Or am I doomed to[color=blue]
> have to rebuild my server from bare-metal as a Slackware 12.1 box,
> and reinstall all my configurations from scratch?
>
> I'd appreciate any advice you can spare.
>[/color]

I've upgraded two boxes from 11.0 to 12.1 straight, without major issue.

# Set the locations of the files to contain the search results
# LDD1 is a staging area eg /tmp/LDD1.txt
# LDD2 is the presented results eg /tmp/LDD2.txt
# EDIT THIS
LDD1="/tmp/lddcheck1.txt"
LDD2="/tmp/lddcheck2.txt"

# Firefox.bin is run from firefox which exports the lib path
# For ldd to work correctly the same thing needs to happen.
# Thanks to Pat Volkerding for pointing this out :)
# Add any other exports needed below
# EDIT THIS
LD_LIBRARY_PATH=/usr/lib/firefox
export LD_LIBRARY_PATH

#####################################################################
# Should not need to edit the below for it to work.
# Although definitely change the searched direcotries to match your
system.

# No debugging
set +x

# Script version number
VERSION=0.10

# Remove old files if they exist
if [ -e $LDD1 ]
then
rm $LDD1
fi

if [ -e $LDD2 ]
then
rm $LDD2
fi

# Loop through system directories, test files to see if they are
executable and readable # If they are then store the filename and the
result of ldd test echo
echo "This may take several minutes..."
echo
for DIR
in /bin /lib /sbin /usr/lib /usr/sbin /usr/local/bin /usr/local/lib /usr/local/sbin /usr/X11R6/bin /usr/X11R6/lib /opt/kde/bin /opt/kde/lib;
do if [ -d $DIR ]; then find "$DIR" -type f -perm -540 |
while read FILE; do
echo $FILE >> $LDD1; ldd $FILE | grep "not found" >> $LDD1;
done
fi
done