dab install package... howto?

smilie

New Member
Feb 20, 2009
19
0
1
Hi,

I was looking into the dab, but I am stuck on couple of issues here.

These are the steps that I have done.

First, I have downloaded following:
ftp://download.proxmox.com/sources/dab-pve-appliances_2009-01-19.tar.gz.
I have then unpacked it and cd to debian-5.0-minimal.
Then, I edited dab.conf, which is now:

Code:
Suite: lenny
CacheDir: ../cache
Source: http://ftp.nl.debian.org/debian SUITE main contrib non-free
Source: http://security.debian.org SUITE/updates main contrib non-free
#Mirror: http://ftp.debian.org/debian => ftp://mirror/debian
Architecture: i386
Name: debian-powerdns
Version: 1.0
Section: system
Maintainer: MAS Coders <info@mascoders.nl>
Infopage: http://www.mascoders.nl/openvz
Description: Debian 5.0 (PowerDNS)
 Minimal Debian 5.0 system with fully operational PowerDNS.
* don't mind incorrect Infopage, will be created when the time comes.

Then I did:
- dab init
- dab bootstrap --minimal
- dab task mysql --password=somepass --start
- dab install pdns-server

And then it hangs.
If I enter VE 9000, I can see the following:

ps -ef
Code:
[COLOR=Purple]UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 10:21 ?        00:00:00 /usr/bin/perl -w /sbin/init -z       
root         6     1  0 10:21 ?        00:00:00 [init-logger]
root     12765     1  0 10:24 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql    12804 12765  0 10:24 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/r
root     12805 12765  0 10:24 ?        00:00:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
root     12889     0  0 10:24 ?        00:00:00 dpkg --force-depends --force-confold --install /pdns-server_2.9.21.2-1_i386.deb
root     12899 12889  0 10:24 ?        00:00:00 /usr/bin/perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/pdns-server.postinst configure 
root     12902 12899  0 10:24 ?        00:00:00 /bin/sh /var/lib/dpkg/info/pdns-server.postinst configure 
root     12913 12902  0 10:24 ?        00:00:00 adduser
root     12919 12913  0 10:24 ?        00:00:00 /usr/bin/chage -M 99999 pdns
root     12922     0  0 10:25 ?        00:00:00 vzctl: ttyp1     
root     12923 12922  0 10:25 ttyp1    00:00:00 -bash
root     12941 12923  0 10:28 ttyp1    00:00:00 ps -ef
[/COLOR]
And in the dpkg.log:
Code:
2009-02-21 10:24:52 startup archives install
2009-02-21 10:24:52 install pdns-server <none> 2.9.21.2-1
2009-02-21 10:24:52 status half-installed pdns-server 2.9.21.2-1
2009-02-21 10:24:52 status triggers-pending man-db 2.5.2-4
2009-02-21 10:24:52 status half-installed pdns-server 2.9.21.2-1
2009-02-21 10:24:52 status unpacked pdns-server 2.9.21.2-1
2009-02-21 10:24:52 status unpacked pdns-server 2.9.21.2-1
2009-02-21 10:24:52 configure pdns-server 2.9.21.2-1 2.9.21.2-1
2009-02-21 10:24:52 status unpacked pdns-server 2.9.21.2-1
2009-02-21 10:24:52 status unpacked pdns-server 2.9.21.2-1
2009-02-21 10:24:52 status unpacked pdns-server 2.9.21.2-1
2009-02-21 10:24:52 status half-configured pdns-server 2.9.21.2-1
But proces "dab install pdns-server" remains hanging. Ctrl+C will kill it, but I don't think that is how it shoud be done :)

I have also tried with:
- dab bootstrap
without minimal, thinking that maybe some dependency was not met, but no luck.

This is command line where it hangs:
Code:
nononsense:~/downloads/dab-pve-appliances_2009-01-19/debian-5.0-minimal# dab install pdns-server
install: pdns-server




interrupted by signal
nononsense:~/downloads/dab-pve-appliances_2009-01-19/debian-5.0-minimal#
And package list afterwards:
Code:
adduser
apt
apt-utils
aptitude
at
base-files
base-passwd
bash
bash-completion
bc
bind9-host
bsd-mailx
bsdmainutils
bsdutils
coreutils
cpio
cpp
cpp-4.3
cron
dc
debconf
debconf-i18n
debian-archive-keyring
debian-faq
debianutils
defoma
dhcp3-client
dhcp3-common
dictionaries-common
diff
dmidecode
dnsutils
doc-debian
doc-linux-text
dpkg
e2fslibs
e2fsprogs
ed
file
findutils
fontconfig-config
ftp
gcc-4.2-base
gcc-4.3-base
gettext-base
gnupg
gpgv
grep
groff-base
gzip
hostname
iamerican
ibritish
ifupdown
info
initscripts
iproute
iptables
iputils-ping
ispell
less
libacl1
libattr1
libbind9-40
libblkid1
libbz2-1.0
libc6
libcap2
libcomerr2
libconsole
libcwidget3
libdb4.5
libdb4.6
libdbd-mysql-perl
libdbi-perl
libdevmapper1.02.1
libdns45
libdrm2
libedit2
libept0
libevent1
libexpat1
libfontconfig1
libfontenc1
libfreetype6
libfs6
libgc1c2
libgcc1
libgcrypt11
libgdbm3
libgl1-mesa-glx
libgmp3c2
libgnutls26
libgpg-error0
libgpm2
libgssglue1
libice6
libidn11
libisc45
libisccc40
libisccfg40
libkeyutils1
libkrb53
libldap-2.4-2
liblocale-gettext-perl
liblockfile1
liblwres40
libmagic1
libmpfr1ldbl
libmysqlclient15off
libncurses5
libncursesw5
libnet-daemon-perl
libnewt0.52
libnfsidmap2
libpam-modules
libpam-runtime
libpam0g
libpci3
libpcre3
libplrpc-perl
libpng12-0
libpopt0
libreadline5
librpcsecgss3
libsasl2-2
libselinux1
libsepol1
libsigc++-2.0-0c2a
libslang2
libsm6
libsqlite3-0
libss2
libssl0.9.8
libstdc++6
libtasn1-3
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libusb-0.1-4
libuuid1
libwrap0
libx11-6
libx11-data
libxapian15
libxau6
libxaw7
libxcb-xlib0
libxcb1
libxcursor1
libxdamage1
libxdmcp6
libxext6
libxfixes3
libxft2
libxi6
libxinerama1
libxkbfile1
libxml2
libxmu6
libxmuu1
libxpm4
libxrandr2
libxrender1
libxt6
libxtrap6
libxtst6
libxv1
libxxf86dga1
libxxf86misc1
libxxf86vm1
locales
login
logrotate
lsb-base
lsof
lzma
m4
makedev
man-db
manpages
mawk
mime-support
mktemp
mlocate
mount
mutt
mysql-client-5.0
mysql-common
mysql-server-5.0
nano
ncurses-base
ncurses-bin
ncurses-term
net-tools
netbase
netcat-traditional
openbsd-inetd
openssh-blacklist
openssh-client
openssh-server
openssl
openssl-blacklist
passwd
patch
perl
perl-base
perl-modules
portmap
postfix
procmail
procps
psmisc
python
python-central
python-minimal
python2.5
python2.5-minimal
readline-common
reportbug
rsyslog
sed
ssh
ssl-cert
sysv-rc
sysvinit
sysvinit-utils
tar
tasksel
tasksel-data
tcpd
telnet
texinfo
time
traceroute
ttf-dejavu
ttf-dejavu-core
ttf-dejavu-extra
tzdata
ucf
update-inetd
util-linux
vim-common
vim-tiny
w3m
wamerican
wget
whiptail
whois
x11-apps
x11-common
x11-session-utils
x11-utils
x11-xfs-utils
x11-xkb-utils
x11-xserver-utils
xauth
xbase-clients
xinit
zlib1g
=====

My second question is:
I tried installing only mysql (dab task mysql). This goes fine. Once installed, I have done "dab exec ps -ef" and I can see MySQL proccess up & running.

After that I have done:

- dab finalize
- dab dist-clean
- make

This creates a new ostemplate (.tar.gz). I have then moved this template to the template directory of /vz/. I went to the web interface and created new OpenVZ VPS with newly created template. Creation went oke, and I started new VPS.

But, then if I enter that VPS, I can not find MySQL nowhere. No proccess, no init script, no binaries, no nothing regarding mysql :(

What am I doing wrong here? I thought that purpose of dab was to pre-create .tar.gz, so that when you create VPS with that ostemplate, that you will have all packages installed?

See above, in dab list - mysql-server mysql-client and mysql-common are present, butI can not find / use them once I install that template :S

=====

Last question for now.
I have provided info in dab.conf (description). However, in the web interface, in the Appliance templates, it says Description: --unknown--

Thanx :)

Cheers,
Aleks
 
One more thing, in man pages, you have wrong url in:

DESCRIPTION
dab is a script to automate the creation of OpenVZ appliances. It is
basically a rewrite of debootstrap in perl, but uses OpenVZ instead of
chroot and generates OpenVZ templates. Another difference is that it
supports multi-stage building of templates. That way you can execute
arbitrary scripts between to accomplish what you want.

Furthermore some common tasks are fully automated, like setting up a
database server (mysql or postgres).

To accomplish minimal template creation time, packages are cached to a
local directory, so you do not need a local debian mirror (although
this would speed up the first run).

See http://pve.proxmox.com/Debian_Appliance_Builder for examples.

This script need to be run as root, so it is not recommended to start
it on a production machine with running container. Proxmox VE
(http://pve.proxmox.com) is the preferred environment, because it is
able to log the console output when a container starts. You wont be
able to detect errors during container startup when running on standard
OpenVZ. So many people run Proxmox VE inside a KVM or VMWare 64bit vir‐
tual machine to build appliances.

All generated templates includes an appliance description file. Those
can be used to build appliance repositories."

It should be:
http://pve.proxmox.com/wiki/Debian_Appliance_Builder

Regards,
Aleks
 
I think I must correct myself for the second issue (no mysql in template).
Just tested a few more times. Seems that executing "make" deletes all installed applications?! Is this normal behavior?

If I use template after "dab finalize" then it has all installed applications in it.
What is then purpose of make?!

Maybe an idea to re-write that page, may be confusing for less experienced people as myself :)

Other two issues remain valid / active.

Regards,
Aleks
 
But proces "dab install pdns-server" remains hanging. Ctrl+C will kill it, but I don't think that is how it shoud be done :)

Isnt there a hint in 'logfile' ?

This is command line where it hangs:
Code:
nononsense:~/downloads/dab-pve-appliances_2009-01-19/debian-5.0-minimal# dab install pdns-server
install: pdns-server

This simply install all packages with 'dpkg' inside the container. Seems that the pdns-server.postinst script is doing something strange?



After that I have done:

- dab finalize

No you have the final template.

- dab dist-clean

This removes anything you have done so far!


This start the command in Makefile. You should make yourself familiar with Makefiles if you use make.

But, then if I enter that VPS, I can not find MySQL nowhere. No proccess, no init script, no binaries, no nothing regarding mysql :(

because 'make' created a standard debian template with 'Makefile'.

Last question for now.
I have provided info in dab.conf (description). However, in the web interface, in the Appliance templates, it says Description: --unknown--

Thats simply not implemented - we are working on that.

- Dietmar
 
Dietmar,

Thanks for replies.
I guessed that dab clean would remove everything. I would still suggest to change wiki page, as it now first suggests to do dab clean, and then make. This, as you have said (and I have experienced) removes all made changes in the installation :) Just add somewhere that after dab finalize, a .tar.gz is ready for use.

As I read it, MakeFile only simplifies things? I am more of a control freak, so I will keep doing things manually. Good to know though.

I shall try to install pdns once again a bit later and post logfile.

Regarding --unknown-- in web interface, how come that appliances downloaded from your website do have this option? Any idea when will this functionality be available?

Cheers,
Aleks
 
Dietmar,

Thanks for replies.
I guessed that dab clean would remove everything. I would still suggest to change wiki page, as it now first suggests to do dab clean, and then make.

The website is correct - maybe you should just read it more carefully. Or what paragraph do you refer to?

This, as you have said (and I have experienced) removes all made changes in the installation :) Just add somewhere that after dab finalize, a .tar.gz is ready for use.

Thats already there.

Regarding --unknown-- in web interface, how come that appliances downloaded from your website do have this option? Any idea when will this functionality be available?

We are working as fast as possible. The plan is to have that fully functional in June.

- Dietmar
 
deb and dab

I had to manually install the deb package because apt-get install dab would not resolve and load so I did the wget and had to understand/run the basic following install commands:

Code:
dpkg -i dab_1.1-1_all.deb
apt-get -f install


FYI, now i am good to go! :)
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!