The time is right now - I'm going to move my server from SUSE Enterprise to Slackware. It is not about that I don't like SUSE, I just like Slackware more.
The main job will be the mail server - I did use postfix and cyrus imap in SUSE with maildirs. Now, I will use Sendmail with imapd and mailboxes. And I want to save my old mails of course. Actually, I will move one old Slackware server to this new as well (up to 40 mailboxes).
There is also difference in the secured smtp and IMAP I used before - in SUSE I used TLS and in Slackware SSL (stunnel). Some of the MUA on the client side I will have to reconfigure.

When I started up my first Slackware server, I did things in which I was not sure that they are done well. And so I started this thread, where I will write the steps that I make.
Please if anybody sees something that is not "how it should be", please comment it. I have the complete weekend (two days) to do this work so I will write continuously the progress.

1. Step

The first step is the setup of the new Slackware 12.2 to my old hardware with two new SATA hard drives. These hard drives will be in RAID 1 - software mirroring.
I created my partitions on /dev/sda - sda1 - 78 GB and sda2 - 2 GB (the swap).
I created my partitions on /dev/sdb - sdb1 - 78 GB and sdb2 - 2 GB (the swap).
I created the /dev/md0 device with

mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1

.
I used ext3 file system. (If reiserFS or ext2 is better I will use it)
I didn't create any other partitions, I put the complete file system to md0. If there is any reason to put some directories (/boot,/var for example) to separate partitions, please tell - I am ready to do the partitioning process from the beginning again.

Now I start the setup. I will do the default setup process, with all the packages offered. Later, when everything will work, I want to remove any unnecessary package. Optionally recompile the kernel to fit exactly to my hardware.

lets start...

used ext3 file system. (If reiserFS or ext2 is better I will use it)

Ext3 is fine. IMHO it offers the best mix of safety and speed. Reiser is kind of dead now, since Hans got sent to jail for murdering his wife...

f there is any reason to put some directories (/boot,/var for example) to separate partitions, please tell

It can simplify recovery somewhat and it also allows for strange boot configs and encryption (probably useful on a server). E.g you cant encrypt the bit where the bootloader and the kernel live, and the bootloader cant handle software raid on its own, so if you want to use either of these, you generally need a seperate /boot partition of approx ~100mb instead of one huge / parition.

Later, when everything will work, I want to remove any unnecessary package

Slackware is a pain in the ass for package management, as it on the whole lacks dependency checking.

Optionally recompile the kernel to fit exactly to my hardware.

If its a server you will probably have to do that to get UPS support working (if you own one that is)

Its really terrible with Hans and his wife.
So rather ext3 than ReiserFS.

I am playing with RAID arrays now, and followed few howtos how to set them up. Finally I find that my root partition has to be created as RAID array. But swap not! I can remember that I have done this that way also the first time, although I did not understand the way the swap is used.
I created swap partition on sda and sdb too. (2GBs) I was thinking about that how the system works with these swap partitions. When both drives are alive uses 4 Gigs and when one drive is out it uses 2 gigs.
When I created the swap as RAID array too, the slackware did not recognize the swap partitions.

Anyway, how is it with this boot partition - should I create RAID array for it too? (for example /dev/sda2 /dev/sdb2 /dev/md1)
I really want to try encryption on my filesystem but I have to find something more about it for now.

Yes, I know about dependency checkings in slackware packaging system and this was the main purpose I used the default packages offered by slackware as full setup. I want to understand the role of each package and hopefully finally I will know what is needed and what not.

I will use UPS and I have some basic experience with it. I used it on one of my SUSE servers. And I really look forward to the kernel recompilation to support it.

Thanks jbennet.

If you have a /boot it shoulld be a a regular ext2 or ext3 primary partition, 100mb or less (50mb is enough for two kernels) and preferably the first one on the first drive (/dev/hda1)

. I want to understand the role of each package and hopefully finally I will know what is needed and what not.

If i remember rightly, as the packages get installed, it should show a description of them all.

. And I really look forward to the kernel recompilation to support it.

if its nothing overly fancy, you may be able to control it out of the box.

Finally I find that my root partition has to be created as RAID array. But swap not!

yep, swap must bea normal partition.Its just where data gets temporarialy stored when you run out of RAM, its also used for hibernation. Should be 2x your physical ram, but there is generally no need to make it more than 1gb.

Ok. I have my new servers on slackware.

1. Partitions and backup
I have two partitions, one /boot and one /root. The root is on the raid array /dev/md0.
Questions:
The boot partition backup is that I just archive the content of the boot content? (for example tar, gzip and save it some safe place)
The boot directory stays the same always until kernel recompilation?

I want to simulate hard drive failure on the mirrored partition. I was thinking about how to do that - I just replace one hard drive with new and recover the array.
Questions:
I need to run some command to recover the array?
Or the mdadm does it by itself??
Do I need create partitions on the new drive?
How will I find out if one drive fails?

2. Exporting old mails from SUSE
I want to export my old emails from SUSE to slackware. On suse I had maildirs for email accounts. On my first thread I was asking about if it is possible to export the mails from the SUSE accounts. I get several answers that there are scripts which can change the maildir format to mailbox.
When I was exporting old mails from another slackware server into this new, I find out that the /var/spool/mail dirs content is not enough. There are more mail folders in the IMAP (sent, drafts ... and so on). And so I just import the complete home dirs of users which was containing the IMAP folders with sent mails,drafts...

And now I am thinking about what if I move all received mails (which are in the /var/spool/mail/users ... in maildir format) in SUSE and put them into a created IMAP folder by thunderbird (or some other MUA). In this moment I should have an IMAP folder what contains my old inbox mails and this IMAP folder I just move into my USERS account in slackware??
Will be those Cyrus IMAP folders recognised by IMAPd in slackware. After This I can have my old mails in old_mails IMAP folder for example.
I don't know is this possible??

Ehm, sorry. I tried this one.... The IMAP mail folders also contain maildir format of messages.

I moved the SUSE server to slackware. I convert the maildirs to mailboxes. I made a oldmails imap folder from which I just moved the mail (by thunderbird) to the inbox.
Now I have my old mails on Slackware.

I created encryption certificates for sendmail and used stunnel for imapd.
I enabled spam blocking by dnsbl.
Used clamav to scan attachments.

The packages I used for my server are now only the necessary apps. Here is the list:

Package group [A]

aaa_base
aaa_elflibs
aaa_terminfo
acl
acpid
apmd
attr
bash
bin
bzip2
coreutils
cpio
cryptsetup
cxxlibs
dcron
device-mapper
devs
dialog
dosfstools
e2fsprogs
eject
elvis
etc
file
findutils
floppy
gawk
gettext
glibc-solibs
glibc-zoneinfo
grep
gzip
hdparm
infozip
isapnptools
kbd
kernel-huge-smp
kernel-modules-smp
less
lilo
logrotate
lvm2
mdadm
module-init-tools
openssl-solibs
patch
pciutils
pcmciautils
pkgtools
procps
quota
reiserfsprogs
rpm2tgz
sdparm
sed
shadow
slocate
smartmontools
sysfsutils
sysklogd
syslinux
sysvinit
sysvinit-functions
sysvinit-scripts
tar
time
tree
udev
usbutils
utempter
util-linux
which
xfsprogs

Package group [AP]

at
cdrdao
cdrtools
diffutils
dmapi
dmidecode
dvd+rw-tools
groff
lm_sensors
lsof
lsscsi
man
man-pages
mc
most
screen
sudo
sysstat
texinfo
vim
xfsdump

Package group [D]

autoconf
automake
binutils
bison
doxygen
flex
gcc
gcc-g++
gettext-tools
kernel-headers
libtool
m4
make
perl
pkg-config


Package group [F]

linux-faqs
linux-howtos

Package group [K]

kernel-source

Package group [L]

db42
db44
gdbm
glibc
glibc-i18n
libusb
libxml2
lzo
ncurses
pcre
popt
readline
zlib

Package group [N]

apr
apr-util
dhcpcd
inetd
iproute2
iptables
iptraf
iputils
lftp
libgcrypt
libgpg-error
lynx
mtr
net-tools
netkit-ftp
netket-rsh
netwatch
network-scripts
nmap
ntp
openssh
openssl
php
tcp_wrappers
telnet
traceroute
wget
whois
wireless-tools
wpa_supplicant

I did not check if all those packages are needed. I just used it to decrease the number of unneeded packages. 155 packages.
If anybody sees any unneeded package please write.
If anybody desires to have a slackware server I can help.
For more info about packages:
http://slackwiki.org/Minimal_System

Good luck ...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.