Line 25:
Line 25:
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import https://fedoraproject.org/static/217521F6.txt
rpm --import https://fedoraproject.org/static/217521F6.txt
−
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
+
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
rpm --import http://www.salstar.sk/pub/yum/keys/RPM-GPG-KEY-Fedora-Pre-Extras
rpm --import http://www.salstar.sk/pub/yum/keys/RPM-GPG-KEY-Fedora-Pre-Extras
−
rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
+
# rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
−
rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL
+
# rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL
</pre>
</pre>
Line 83:
Line 83:
....
....
</pre>
</pre>
+
+
The RPMs that now stand installed are listed [[Media:CentOS5_Yum_Enabled_RPMs.txt|'''here.''']].
== Install screen ==
== Install screen ==
To enable background updates, screen is installed.
To enable background updates, screen is installed.
−
yum install screen
+
yum install screen nano mlocate
It is invoked / re-attached with <tt>'''screen -aR scrname'''</tt> and detached from the session with <tt>'''Ctrl-A d'''</tt>.
It is invoked / re-attached with <tt>'''screen -aR scrname'''</tt> and detached from the session with <tt>'''Ctrl-A d'''</tt>.
+
+
Set '''keepcache=1''' in '''/etc/yum.conf''' to retain the rpms for further use.
+
+
Take a backup of the Virtual Machine now before the mess that begins next.
+
+
== Install the SME 8 RPMs ==
+
* Remove all current repos in /etc/yum.repos.d
+
mkdir /tmp/repo.bak
+
mv /etc/yum.repos.d/*.repo /tmp/repo.bak/
+
* Upload '''/etc/yum.repos.d/[[Media:SME8_sme-base.repo.txt|sme_base.repo]]'''
+
wget http://wiki.contribs.org/images/3/30/SME8_sme-base.repo.txt -O /etc/yum.repos.d/sme-base.repo
+
* YUM install sme rpms
+
yum --disablerepo=base,updates,extras upgrade --nogpg
+
yum install smeserver\* e-smith\* *.sme.* --enablerepo=smeos8,smeupdates8 --nogpgcheck
+
* 287 MB / 374 RPMs Installed
+
* SMEServer uses runlevels 7 and 4
+
rm -f /etc/rc4.d/*
+
cp -a /etc/rc7.d/* /etc/rc4.d/
+
* Now get the [[Media:SME8_VZ_PostYUM.txt|'''list''']] of installed RPMs
+
<pre>
+
ABC=`rpm -qa`
+
echo ${ABC} > sme8_rpms_after_yum.txt
+
ABC=
+
</pre>
+
* Some RPMs get removed and others get updated.
+
* Use a MySQL database to check the differences:
+
<syntaxhighlight lang="sql">
+
CREATE DATABASE `rpmmatch`CHARACTER SET latin1 COLLATE latin1_general_ci;
+
CREATE TABLE `rpmmatch`.`smerpms`( `rpmname` VARCHAR(100) NOT NULL, PRIMARY KEY (`rpmname`) );
+
CREATE TABLE `rpmmatch`.`c5minrpms`( `rpmname` VARCHAR(100) NOT NULL, PRIMARY KEY (`rpmname`) );
+
LOAD DATA LOW_PRIORITY LOCAL INFILE 'C:\\smerpms.csv' INTO TABLE `rpmmatch`.`smerpms` FIELDS ESCAPED BY '\\' TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (`rpmname`);
+
LOAD DATA LOW_PRIORITY LOCAL INFILE 'C:\\c5minrpms.csv' INTO TABLE `rpmmatch`.`c5minrpms` FIELDS ESCAPED BY '\\' TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (`rpmname`);
+
UPDATE c5minrpms SET rpmname=REPLACE(rpmname, ".(none).rpm", "") WHERE 1;
+
UPDATE smerpms SET rpmname=REPLACE(rpmname, ".(none).rpm", "") WHERE 1;
+
SELECT a.* FROM c5minrpms a LEFT JOIN smerpms b USING (rpmname) WHERE b.rpmname IS NULL ORDER BY rpmname;
+
SELECT a.* FROM smerpms a LEFT JOIN c5minrpms b USING (rpmname) WHERE b.rpmname IS NULL ORDER BY rpmname;
+
</syntaxhighlight>
+
* 75 packages difference including 2 kernels not needed
+
+
== Install Missing Packages ==
+
Since networking and sshd will not be working, ssh into the ProxmoxVE host and use '''vzctl enter <VEID>''' to work further. Edit the file /etc/sysconfig/network-scripts/ifcfg-venet0:
+
<pre>
+
DEVICE=venet0
+
BOOTPROTO=static
+
ONBOOT=yes
+
IPADDR=127.0.0.1
+
NETMASK=255.255.255.255
+
BROADCAST=0.0.0.0
+
IPV6INIT="yes"
+
</pre>
+
to be something like:
+
<pre>
+
DEVICE=venet0
+
BOOTPROTO=static
+
ONBOOT=yes
+
IPADDR=192.168.60.110
+
NETMASK=255.255.255.0
+
GATEWAY=192.168.60.1
+
NETWORK=192.168.60.0
+
BROADCAST=192.168.60.255
+
IPV6INIT="yes"
+
</pre>
+
Restart Networking with:
+
ifdown venet0 && ifup venet0
+
+
Alternatively, the VLANs can be used:
+
<pre>
+
# cat /etc/sysconfig/network-scripts/ifcfg-venet0
+
DEVICE=venet0
+
BOOTPROTO=static
+
ONBOOT=yes
+
IPADDR=127.0.0.1
+
NETMASK=255.255.255.255
+
BROADCAST=0.0.0.0
+
IPV6INIT="yes"
+
+
# cat /etc/sysconfig/network-scripts/ifcfg-venet0:0
+
DEVICE=venet0:0
+
ONBOOT=yes
+
IPADDR=192.168.22.107
+
NETMASK=255.255.255.255
+
+
ifdown venet0 && ifup venet0
+
ifdown venet0:0 && ifup venet0:0
+
</pre>
+
+
Now install the missing packages:
+
yum install mlocate xz xz-libs \
+
zip unzip which vixie-cron vim-enhanced vim-common usbutils traceroute tnef time telnet tcpdump \
+
syslinux sysfsutils strace setserial safecat rsync rp-pppoe rpm-build qmail-qfilter \
+
pyxf86config perl-suidperl kudzu libgomp lockdev lsof maildrop man minicom mkbootdisk mod_ssl \
+
mt-st mutt newt anacron at authconfig bc bind-libs bind-utils cdrecord cyrus-sasl \
+
cyrus-sasl-md5 dhclient dhcp diald diald-top distcache dosfstools eject fetchmail ftp \
+
gettext glib groff hdparm hesiod iptraf iptstate isdn4k-utils --nogpgcheck
+
* '''maildrop''' complained of key requirement and hence the '''--nogpgcheck'''
+
* '''pcmciautils''' is dependent on the '''kernel''' and hence avoided
+
* Restart the Virtual machine and set the IP again as done earlier (we need to address the VM startup sauce to do this atutmagically):
+
signal-event post-upgrade; signal-event reboot
+
+
== Package Differences ==
+
One RPM from the pre-installed RPMs in the template remains:
+
beecrypt-4.1.2-10.1.1.i386.rpm
+
Two kernels and one kernel dependent RPM were not installed:
+
kernel-2.6.18-308.4.1.el5.i686.rpm
+
kernel-2.6.18-348.1.1.el5.i686.rpm
+
pcmciautils-014-5.i386.rpm
+
The final list of 574 RPMs and 4 extra keys are [[Media:SME8_RPMs_In_OpenVZ.txt|'''here''']].
+
+
== Setting locale ==
+
=== /usr/bin/locale ===
+
<pre>
+
LANG=
+
LC_CTYPE="POSIX"
+
LC_NUMERIC="POSIX"
+
LC_TIME="POSIX"
+
LC_COLLATE="POSIX"
+
LC_MONETARY="POSIX"
+
LC_MESSAGES="POSIX"
+
LC_PAPER="POSIX"
+
LC_NAME="POSIX"
+
LC_ADDRESS="POSIX"
+
LC_TELEPHONE="POSIX"
+
LC_MEASUREMENT="POSIX"
+
LC_IDENTIFICATION="POSIX"
+
LC_ALL=
+
</pre>
+
=== Change the locale ===
+
<pre>
+
/usr/bin/localedef -i en_US -f UTF-8 en_US.UTF-8
+
export LC_ALL=en_US.UTF-8
+
export LANG=en_US.UTF-8
+
+
/usr/bin/locale
+
</pre>
+
The new locale is:
+
<pre>
+
LANG=en_US.UTF-8
+
LC_CTYPE="en_US.UTF-8"
+
LC_NUMERIC="en_US.UTF-8"
+
LC_TIME="en_US.UTF-8"
+
LC_COLLATE="en_US.UTF-8"
+
LC_MONETARY="en_US.UTF-8"
+
LC_MESSAGES="en_US.UTF-8"
+
LC_PAPER="en_US.UTF-8"
+
LC_NAME="en_US.UTF-8"
+
LC_ADDRESS="en_US.UTF-8"
+
LC_TELEPHONE="en_US.UTF-8"
+
LC_MEASUREMENT="en_US.UTF-8"
+
LC_IDENTIFICATION="en_US.UTF-8"
+
LC_ALL=en_US.UTF-8
+
</pre>
+
+
== Current State of files ==
+
=== df ===
+
<pre>
+
Filesystem 1K-blocks Used Available Use% Mounted on
+
/dev/simfs 8388608 1344356 7044252 17% /
+
none 549288 4 549284 1% /dev
+
</pre>
+
+
=== cat /etc/fstab ===
+
<pre>
+
#------------------------------------------------------------
+
# BE CAREFUL WHEN MODIFYING THIS FILE! It is updated automatically
+
# by the SME server software. A few entries are updated during
+
# the template processing of the file and white space is removed,
+
# but otherwise changes to the file are preserved.
+
# For more information, see http://www.e-smith.org/custom/ and
+
# the template fragments in /etc/e-smith/templates/etc/fstab/.
+
#
+
# copyright (C) 2002 Mitel Networks Corporation
+
#------------------------------------------------------------
+
none /dev/pts devpts rw 0 0
+
</pre>
+
+
=== cat /etc/mtab ===
+
<pre>
+
/dev/simfs / simfs rw,relatime 0 0
+
sysfs /sys sysfs rw,relatime 0 0
+
/proc /proc proc rw,relatime 0 0
+
none /dev tmpfs rw,relatime,mode=755 0 0
+
none /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
+
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
+
</pre>
+
+
=== /var/lib/modules ===
+
This folder is empty as no CentOS kernel was installed.
+
+
=== dhcpd ===
+
dhcpd was exiting and respawning itself unable to get an IP. IT hardcoded in OpenVZ on NIC side for server only mode. Shut it down with:
+
service dhcpd stop
+
chkconfig dhcpd off
+
+
== Errors ==
+
=== Init Boot Log ===
+
On startup, the VM emits the following error:
+
<pre>
+
Applying Intel CPU microcode update: FATAL:
+
Could not load /lib/modules/2.6.32-7-pve/modules.dep: No such file or directory
+
/etc/rc.d/init.d/microcode_ctl: microcode device /dev/cpu/microcode doesn't exist?
+
Starting system logger: [ OK ]
+
</pre>
+
+
The said package is:
+
</pre>
+
rpm -qa | grep -i microcode
+
microcode_ctl-1.17-3.el5
+
</pre>
+
+
* Removing it would mean the removal of 41 '''smeserver''' and '''e-smith''' rpms which are dependent.
+
* Ref: [http://forums.fedoraforum.org/showthread.php?t=236507 Forum Post].
+
* Ref: [http://www.centos.org/docs/5/html/5.2/Virtualization/sect-Virtualization-Troubleshooting-Microcode_error_during_guest_boot.html CentOS Docs]
+
* Hence:
+
/sbin/service microcode_ctl stop
+
/sbin/chkconfig --del microcode_ctl
+
* Copy the /lib/modules/2.6.32-7-pve folder from the host to the guest.
+
* Initial Boot Log of the VM will show the following error:
+
<pre>
+
iscsid is stopped
+
Starting iSCSI daemon: WARNING: Error inserting libiscsi (/lib/modules/2.6.32-7-pve/kernel/drivers/scsi/libiscsi.ko): Unknown symbol in module, or unknown parameter (see dmesg)
+
WARNING: Error inserting libiscsi_tcp (/lib/modules/2.6.32-7-pve/kernel/drivers/scsi/libiscsi_tcp.ko): Unknown symbol in module, or unknown parameter (see dmesg)
+
WARNING: Error inserting mdio (/lib/modules/2.6.32-7-pve/kernel/drivers/net/mdio.ko): Unknown symbol in module, or unknown parameter (see dmesg)
+
WARNING: Error inserting cxgb3 (/lib/modules/2.6.32-7-pve/kernel/drivers/net/cxgb3/cxgb3.ko): Unknown symbol in module, or unknown parameter (see dmesg)
+
WARNING: Error inserting libcxgbi (/lib/modules/2.6.32-7-pve/kernel/drivers/scsi/cxgbi/libcxgbi.ko): Unknown symbol in module, or unknown parameter (see dmesg)
+
FATAL: Error inserting cxgb3i (/lib/modules/2.6.32-7-pve/kernel/drivers/scsi/cxgbi/cxgb3i/cxgb3i.ko): Unknown symbol in module, or unknown parameter (see dmesg)
+
</pre>
+
* Remove offending RPM and it's dependancies:
+
<pre>
+
# yum remove iscsi-initiator-utils
+
+
Removed:
+
iscsi-initiator-utils.i386 0:6.2.0.872-16.el5
+
+
Dependency Removed:
+
mkbootdisk.i386 0:1.5.3-2.1 mkinitrd.i386 0:5.1.19.6-79.el5
+
</pre>
+
+
== Remove needless services ==
+
Ref: http://wiki.openvz.org/Physical_to_container
+
rpm --nodeps -e acpid auditd kudzu netplugd microcode_ctl lvm2_monitor irqbalance ntpd lm_sensors
+
If it complains with some being not installed like '''auditd netplugd lvm2_monitor ntpd''', then
+
rpm --nodeps -e acpid kudzu microcode_ctl irqbalance lm_sensors
+
+
== Current Status ==
+
* Networking and sshd works
+
* Pinging outside works
+
* yum update works
+
* '''venet0''' and '''venet0:0''' not recognised inside SMEServer
+
** Try to take a look at /etc/udev/rules.d/70-persisten-net.rules. Specifically the MAC address [RequestedDeletion ]
+
* login as '''root''' and type '''console''' and enter the configuration menu
+
* Can test internet access
+
* elinks does not browse server-manager
+
* configuration of server '''fails''' since no network card is recognised as it relies on '''udev'''
+
* devnodes '''/dev/tun''' is available in the container
+
+
[[Category: Howto]] [[Category: Virtualisation]]