Man Init Solaris
Philip Brown has a script called pkgreloc.ksh that will relocate solaris packages. However, it does not *quite* work for Solaris 10. Now, I am not sure if this is a Solaris 10 thing or not but before it really works, there is a slight change..
Let’s say you download a package (say for e.g syslogng-1.6.11-sol10-sparc-local) from www.sunfreeware.com. The packages there are designed to be installed in /usr/local. Well, /usr/local/ for me is an NFS file system and I may not necessarily want to install it. I’d rather install is somewhere else, say /export/software.
Using the pkgreloc.ksh, I tried relocating the package and installing it.
bash-3.00# ./pkgreloc.ksh syslogng-1.6.11-sol10-sparc-local /export/software/syslog-ng attempting to change BASEDIR from /usr/local to /export/software/syslog-ng Transferring package instance Transferring package instance You may now run 'pkgadd -d syslogng-1.6.11-sol10-sparc-local.new' bash-3.00# pkgadd -d syslogng-1.6.11-sol10-sparc-local.new The following packages are available: 1 SMCsyslng syslogng (sparc) 1.6.11 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all Processing package instance from syslogng(sparc) 1.6.11 B. Scheidler Using as the package base directory. ## Processing package information. pkgadd: ERROR: bad entry read in pkgmap pathname=pkginfo problem=unable to read content info pkgadd: ERROR: unable to process pkgmap Installation of failed (internal error). No changes were made to the system.The problem is in with this line in the pkgreloc.ksh script
mtime=`grep 'pkginfo' pkgmap | cut -f6 -d' '`The above line expects to find 1 line with the word pkginfo in it. However, the pkgmap file has got 3 lines.
A quick look:
bash-3.00# mkdir q bash-3.00# pkgtrans syslogng-1.6.11-sol10-sparc-local q bash-3.00# cd q bash-3.00# grep 'pkginfo' pkgmap 1 f none doc/syslogng/solbuild/pkginfo 0644 bin bin 207 16772 1150183529 1 f none doc/syslogng/solbuild/pkginfo.in 0644 bin bin 210 17157 1150183529 1 i pkginfo 193 16400 1150183530 bash-3.00#The intent of the code is to edit the 3rd line
1 i pkginfo 193 16400 1150183530So edit the pkgreloc.ksh file and change the line to the following:
mtime=`grep 'i pkginfo' pkgmap | cut -f6 -d' '`Re-run:
bash-3.00# ./pkgreloc.ksh syslogng-1.6.11-sol10-sparc-local /export/software/syslog-ng attempting to change BASEDIR from /usr/local to /export/software/syslog-ng Transferring package instance Transferring package instance You may now run 'pkgadd -d syslogng-1.6.11-sol10-sparc-local.new' bash-3.00# pkgadd -d syslogng-1.6.11-sol10-sparc-local.new The following packages are available: 1 SMCsyslng syslogng (sparc) 1.6.11 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all Processing package instance from syslogng(sparc) 1.6.11 B. Scheidler Using as the package base directory. ## Processing package information. ## Processing system information. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. Installing syslogng as ## Installing part 1 of 1. /export/software/syslog-ng/doc/syslogng/AUTHORS /export/software/syslog-ng/doc/syslogng/COPYING /export/software/syslog-ng/doc/syslogng/ChangeLog /export/software/syslog-ng/doc/syslogng/INSTALL /export/software/syslog-ng/doc/syslogng/NEWS /export/software/syslog-ng/doc/syslogng/PORTS /export/software/syslog-ng/doc/syslogng/README /export/software/syslog-ng/doc/syslogng/README.spoof /export/software/syslog-ng/doc/syslogng/contrib/Makefile /export/software/syslog-ng/doc/syslogng/contrib/Makefile.am /export/software/syslog-ng/doc/syslogng/contrib/Makefile.in /export/software/syslog-ng/doc/syslogng/contrib/README /export/software/syslog-ng/doc/syslogng/contrib/fedora-packaging/syslog-ng.conf /export/software/syslog-ng/doc/syslogng/contrib/fedora-packaging/syslog-ng.init /export/software/syslog-ng/doc/syslogng/contrib/fedora-packaging/syslog-ng.logrotate /export/software/syslog-ng/doc/syslogng/contrib/fedora-packaging/syslog-ng.sysconfig /export/software/syslog-ng/doc/syslogng/contrib/init.d.HP-UX /export/software/syslog-ng/doc/syslogng/contrib/init.d.RedHat /export/software/syslog-ng/doc/syslogng/contrib/init.d.RedHat-7.3 /export/software/syslog-ng/doc/syslogng/contrib/init.d.SuSE /export/software/syslog-ng/doc/syslogng/contrib/init.d.SunOS /export/software/syslog-ng/doc/syslogng/contrib/init.d.solaris /export/software/syslog-ng/doc/syslogng/contrib/relogger.pl /export/software/syslog-ng/doc/syslogng/contrib/rhel-packaging/syslog-ng.conf /export/software/syslog-ng/doc/syslogng/contrib/rhel-packaging/syslog-ng.init /export/software/syslog-ng/doc/syslogng/contrib/rhel-packaging/syslog-ng.logrotate /export/software/syslog-ng/doc/syslogng/contrib/syslog-ng.conf.HP-UX /export/software/syslog-ng/doc/syslogng/contrib/syslog-ng.conf.RedHat /export/software/syslog-ng/doc/syslogng/contrib/syslog-ng.conf.SunOS /export/software/syslog-ng/doc/syslogng/contrib/syslog-ng.conf.doc /export/software/syslog-ng/doc/syslogng/contrib/syslog-ng.vim /export/software/syslog-ng/doc/syslogng/contrib/syslog2ng /export/software/syslog-ng/doc/syslogng/doc/Makefile /export/software/syslog-ng/doc/syslogng/doc/Makefile.am /export/software/syslog-ng/doc/syslogng/doc/Makefile.in /export/software/syslog-ng/doc/syslogng/doc/sgml/Makefile /export/software/syslog-ng/doc/syslogng/doc/sgml/Makefile.am /export/software/syslog-ng/doc/syslogng/doc/sgml/Makefile.in /export/software/syslog-ng/doc/syslogng/doc/sgml/syslog-ng.html.tar.gz /export/software/syslog-ng/doc/syslogng/doc/sgml/syslog-ng.txt /export/software/syslog-ng/doc/syslogng/doc/sgml/syslog-ng.xml /export/software/syslog-ng/doc/syslogng/doc/stresstest.sh /export/software/syslog-ng/doc/syslogng/doc/syslog-ng.8 /export/software/syslog-ng/doc/syslogng/doc/syslog-ng.conf.5 /export/software/syslog-ng/doc/syslogng/doc/syslog-ng.conf.demo /export/software/syslog-ng/doc/syslogng/doc/syslog-ng.conf.sample /export/software/syslog-ng/doc/syslogng/doc/syslog-ng.conf.solaris /export/software/syslog-ng/doc/syslogng/doc/syslog-ng.old.txt /export/software/syslog-ng/doc/syslogng/solbuild/CVS/Entries /export/software/syslog-ng/doc/syslogng/solbuild/CVS/Repository /export/software/syslog-ng/doc/syslogng/solbuild/CVS/Root /export/software/syslog-ng/doc/syslogng/solbuild/CVS/Tag /export/software/syslog-ng/doc/syslogng/solbuild/admin /export/software/syslog-ng/doc/syslogng/solbuild/pkginfo /export/software/syslog-ng/doc/syslogng/solbuild/pkginfo.in /export/software/syslog-ng/doc/syslogng/solbuild/pkgmaker.sh /export/software/syslog-ng/doc/syslogng/solbuild/prototype-maker.sh /export/software/syslog-ng/doc/syslogng/solbuild/rules /export/software/syslog-ng/doc/syslogng/solbuild/rules.conf /export/software/syslog-ng/doc/syslogng/solbuild/space /export/software/syslog-ng/doc/syslogng/solbuild/syslog-ng.init.d /export/software/syslog-ng/man/man5/syslog-ng.conf.5 /export/software/syslog-ng/man/man8/syslog-ng.8 /export/software/syslog-ng/sbin/syslog-ng [ verifying class ] Installation of was successful. bash-3.00#Da das DVD Laufwerk in einer sparc hier defekt zu sein scheint, hab ich heut einen linux (ubuntu karmic) host als installationsserver für sun solaris 10 netzwerkinstallation konfiguriert:
0. Kopie der DVD
obacht: als root machen, damit die file modes auch wirklich alle stimmen…
1. rarpd
obacht: mac adresse korrekt abtippen hilft :)
# aptitude install rarpd # echo "00:03:ba:c0:ff:ee 192.168.2.23" >> /etc/ethers # /etc/init.d/rarpd restart2. tftpd
obacht: es muss wohl die -hpa variante vom tftpd sein, mit dem tftp-paket gabs probleme.
# aptitude install tftpd-hpa # mkdir /var/lib/tftpboot # cd /var/lib/tftpboot # cp /var/tmp/solaris/Solaris_10/Tools/Boot/platform/sun4u/inetboot /var/lib/tftpboot/ # ln -s C0A80217 inetboot # /etc/init.d/tftpd-hpa restart3. bootparamd
obacht: bei solaris braucht man die server-ip nicht vor :in und vor :rsize angeben, unter linux schon.
obacht: mit der IP adresse im bootparams file hat's hier nicht geklappt. also erst in /etc/hosts einen namen einfügen.
4. nfs
obacht: wenn der nfs-kernel-server verwendet wird: nfs v4 ausschalten:
in /etc/defaults/nfs-kernel-server:
obacht: angeblich hier unbedingt read-only exportieren, sonst macht der installer (angeblich) was kaputt, und die daten müssen neu von der DVD kopiert werden...
# echo /var/tmp/solaris 192.168.2.0/24(ro,no_root_squash,no_subtree_check) >> /etc/exports # /etc/init.d/nfs-kernel-server restart5. client booten
Und dann auf der Sparc-Kiste:
stop-a
boot net




