<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>songshu.org &#187; Ubuntu Hardy</title>
	<atom:link href="http://www.songshu.org/index.php/category/ubuntu-hardy/feed" rel="self" type="application/rss+xml" />
	<link>http://www.songshu.org</link>
	<description>Just another collection of nuts</description>
	<lastBuildDate>Mon, 22 Mar 2010 13:16:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>customise the ubuntu installer</title>
		<link>http://www.songshu.org/index.php/customise-the-ubuntu-installer</link>
		<comments>http://www.songshu.org/index.php/customise-the-ubuntu-installer#comments</comments>
		<pubDate>Sun, 15 Feb 2009 12:48:50 +0000</pubDate>
		<dc:creator>randall</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Ubuntu Hardy]]></category>
		<category><![CDATA[all posts]]></category>
		<category><![CDATA[customize]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xubuntu]]></category>

		<guid isPermaLink="false">http://www.songshu.org/?p=516</guid>
		<description><![CDATA[&#60;div id=“dw”&#62; The Plan. to remaster the Hardy Heron netboot mini.iso so it will do the following. install everything i want without asking any questions. install the packages i want including some custom made. authenticate users against LDAP. mount the /home directories on the server. The Problem. horrible lack of documentation available, it is either outdated, scathered or simply not there. the number of available chickens to sacrifice is limited. The Challenge. figure this out and document it. meta-packages desktop package its fairly easy to create your own meta-packages since it is basically an empty package with a list of dependencies in a text file. the main meta package would be as follows for a Xfce based system, below is heavily borrowed from xubuntu as a starting point. mkdir laoshu-desktop_8.04.1_i386 mkdir laoshu-desktop_8.04.1_i386/DEBIAN nano laoshu-desktop_8.04.1_i386/DEBIAN/control Package: laoshu-desktop Source: laoshu-meta Version: 1.0 Architecture: i386 Maintainer: randall &#38;lt;randall@songshu.org&#38;gt; Installed-Size: 40 Depends: acpi, acpi-support, acpid, alsa-base, alsa-utils, anacron, mozilla-plugin-vlc, apmd, avahi-daemon, bc, ca-certificates, cupsys, cupsys-bsd, cupsys-client, cupsys-driver-gutenprint, dbus, dc, doc-base, foomatic-db, foomatic-db-engine, foomatic-filters, gdebi, gdm, genisoimage, ghostscript-x, gnome-app-install, gnome-mount, gnome-system-tools, gtk2-engines, gtk2-engines-murrine, gtk2-engines-pixbuf, gtk2-engines-ubuntulooks, gtk2-engines-xfce, hal, hotkey-setup, language-selector, lftp, libgl1-mesa-glx, libglib2.0-data, libglut3, libsasl2-modules, libxp6, openprinting-ppds, pnm2ppa, powermanagement-interface, readahead, screen, scrollkeeper, smbclient, software-properties-gtk, synaptic, tango-icon-theme, [...]]]></description>
			<content:encoded><![CDATA[<p><!-- begin Dokuwiki generated code--></p>
<div class="dokuwiki">
<p>&lt;div id=“dw”&gt;</p>
<h5><a name="the_plan" id="the_plan">The Plan.</a></h5>
<div class="level5">
<p>to remaster the Hardy Heron netboot mini.iso so it will do the following.
</p>
<ul>
<li class="level1">
<div class="li"> install everything i want without asking any questions.</div>
</li>
<li class="level1">
<div class="li"> install the packages i want including some custom made.</div>
</li>
<li class="level1">
<div class="li"> authenticate users against LDAP.</div>
</li>
<li class="level1">
<div class="li"> mount the /home directories on the server.</div>
</li>
</ul>
</div>
<h5><a name="the_problem" id="the_problem">The Problem.</a></h5>
<div class="level5">
<ul>
<li class="level1">
<div class="li"> horrible lack of documentation available, it is either outdated, scathered or simply not there.</div>
</li>
<li class="level1">
<div class="li"> the number of available chickens to sacrifice is limited.</div>
</li>
</ul>
</div>
<h5><a name="the_challenge" id="the_challenge">The Challenge.</a></h5>
<div class="level5">
<p>figure this out and document it.
</p>
</div>
<h4><a name="meta-packages" id="meta-packages">meta-packages</a></h4>
<div class="level4">
</div>
<h5><a name="desktop_package" id="desktop_package">desktop package</a></h5>
<div class="level5">
<p>its fairly easy to create your own meta-packages since it is basically an empty package with a list of dependencies in a text file.
</p>
<p>
the main meta package would be as follows for a Xfce based system, below is heavily borrowed from xubuntu as a starting point.</p>
<pre class="code">mkdir laoshu-desktop_8.04.1_i386
mkdir laoshu-desktop_8.04.1_i386/DEBIAN
nano laoshu-desktop_8.04.1_i386/DEBIAN/control</pre>
<pre class="code">Package: laoshu-desktop
Source: laoshu-meta
Version: 1.0
Architecture: i386
Maintainer: randall &amp;lt;randall@songshu.org&amp;gt;
Installed-Size: 40
Depends: acpi, acpi-support, acpid, alsa-base, alsa-utils, anacron, mozilla-plugin-vlc, apmd, avahi-daemon, bc, ca-certificates, cupsys, cupsys-bsd, cupsys-client, cupsys-driver-gutenprint, dbus, dc, doc-base, foomatic-db, foomatic-db-engine, foomatic-filters, gdebi, gdm, genisoimage, ghostscript-x, gnome-app-install, gnome-mount, gnome-system-tools, gtk2-engines, gtk2-engines-murrine, gtk2-engines-pixbuf, gtk2-engines-ubuntulooks, gtk2-engines-xfce, hal, hotkey-setup, language-selector, lftp, libgl1-mesa-glx, libglib2.0-data, libglut3, libsasl2-modules, libxp6, openprinting-ppds, pnm2ppa, powermanagement-interface, readahead, screen, scrollkeeper, smbclient, software-properties-gtk, synaptic, tango-icon-theme, tango-icon-theme-common, thunar, thunar-archive-plugin, thunar-media-tags-plugin, thunar-thumbnailers, thunar-volman, ttf-bitstream-vera, ttf-dejavu-core, ttf-freefont, ubuntu-artwork, unzip, update-manager, usplash, vim-runtime, x-ttcidfont-conf, xfce4-mcs-plugins, xfce4-mcs-plugins-extra, xfce4-mixer, xfce4-panel, xfce4-session, xfce4-terminal, xfce4-utils, xfdesktop4, xfwm4, xfwm4-themes, xkb-data, xorg, xterm, zenity, zip, app-install-data-commercial, apport-gtk, avahi-autoipd, bluez-cups, bluez-utils, bogofilter, brasero, cdparanoia, cups-pdf, displayconfig-gtk, dvd+rw-tools,  file-roller, firefox, foo2zjs, foomatic-db-hpijs, fortune-mod, gcalctool, gcc, gimp, gnome-accessibility-themes, gnome-games, gnome-power-manager, gnome-screensaver, gnome-system-monitor, gucharmap, hal-cups-utils, hplip, jockey-gtk, laptop-detect, libgl1-mesa-dri, libgnome2-perl, libgoffice-gtk-0-6, libnss-mdns, linux-headers-generic, make, min12xxw, mousepad, mozilla-thunderbird, network-manager-gnome, notification-daemon, onboard, orage, pidgin, pidgin-otr, powernowd, pxljr, python-exo, gthumb, scim, scim-gtk2-immodule, scim-tables-additional, screensaver-default-images, splix, system-config-printer-gnome, transmission-gtk, ttf-arabeyes, ttf-arphic-uming, ttf-indic-fonts-core, ttf-kochi-gothic, ttf-kochi-mincho, ttf-lao, ttf-malayalam-fonts, ttf-thai-tlwg, ttf-unfonts-core, ubufox, update-notifier, wodim, wvdial, xcursor-themes, xdg-utils, xfce4-appfinder, xfce4-battery-plugin, xfce4-clipman-plugin, xfce4-cpugraph-plugin, xfce4-dict-plugin, xfce4-fsguard-plugin, xfce4-governor-plugin, xfce4-mailwatch-plugin, xfce4-mount-plugin, xfce4-netload-plugin, xfce4-notes-plugin, xfce4-places-plugin, xfce4-quicklauncher-plugin, xfce4-screenshooter-plugin, xfce4-smartbookmark-plugin, xfce4-systemload-plugin, xfce4-verve-plugin, xfce4-weather-plugin, xfce4-xkb-plugin, xfprint4, xscreensaver-data, xscreensaver-gl, openoffice.org, openoffice.org-gtk, openoffice.org-style-tango, lightning-extension, ekiga, inkscape, gftp, exaile, catfish
Section: metapackages
Priority: optional
Description: LaoShu desktop system
 This package depends on all of the packages in the LaoShu desktop system
 .
 It is safe to remove this package if some of the desktop system packages are
 not desired.</pre>
<p>
once the control file is in place you can create the package as follows</p>
<pre class="code">dpkg -b laoshu-desktop_8.04.1_i386</pre>
</div>
<h5><a name="restricted_packages" id="restricted_packages">restricted packages</a></h5>
<div class="level5">
<p>
this one would require the multiverse and medibuntu repositories
</p>
<pre class="code">mkdir laoshu-restricted-extras_8.04.1_i386
mkdir laoshu-restricted-extras_8.04.1_i386/DEBIAN
nano laoshu-restricted-extras_8.04.1_i386/DEBIAN/control</pre>
<pre class="code">Package: laoshu-restricted-extras
Source: laoshu-restricted-extras
Version: 1.0
Architecture: i386
Maintainer: randall &amp;lt;randall@songshu.org&amp;gt;
Installed-Size: 32
Depends: flashplugin-nonfree, icedtea-gcjwebplugin, libdvdread3, liblame0, libxine1-ffmpeg, msttcorefonts, unrar, sun-java6-jre, sun-java6-fonts, acroread, acroread-escript, acroread-plugins, mozilla-acroread, skype, non-free-codecs, libdvdcss2
Section: metapackages
Priority: optional
Description: Commonly used restricted packages
 This package depends on some commonly used packages in the
 multiverse and medibuntu repository.
 .
 Installing this package will pull in support for MP3 playback and decoding,
 Java runtime environment, Microsoft fonts, Flash plugin, DVD playback, and
 LAME (to create compressed audio files).
 .
 Please note that packages from multiverse and medibuntu.org are restricted by copyright
 or legal issues in some countries. See

http://www.ubuntu.com/ubuntu/licensing

 for more information.</pre>
<pre class="code">dpkg -b restricted-extras_8.04.1_i386</pre>
</div>
<h5><a name="artwork_packages" id="artwork_packages">artwork packages</a></h5>
<div class="level5">
<p>usually the artwork is the last thing i touch if at all, but as said earlier i used xubuntu as a starting point and in my humble opinion the gdm theme and wallpaper in this hardy version are more ugly then ever, and since the ubuntu artwork overhaul is not as promised either, i will give it a swirl to do something about it.
</p>
<p>
the default ubuntu wallpaper is nevertheless is fascinating so lets try to start it from there.
</p>
<p>
<a href="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/detail.php?id=&amp;cache=cache&amp;media=hardy.png" class="media" title="hardy.png"><img src="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/fetch.php?w=&amp;h=&amp;cache=cache&amp;media=hardy.png" class="media" alt="" /></a>
</p>
<p>
while we are at it we might as well thank Julien for this one
</p>
<ul>
<li class="level1">
<div class="li"> <a href="http://www.gnome-look.org/content/show.php/Ubuntu+8.04%2BHardy+Heron+GDM-LIST?content=79905" class="urlextern" title="http://www.gnome-look.org/content/show.php/Ubuntu+8.04%2BHardy+Heron+GDM-LIST?content=79905"  rel="nofollow">http://www.gnome-look.org/content/show.php/Ubuntu+8.04%2BHardy+Heron+GDM-LIST?content=79905</a></div>
</li>
</ul>
<p><a href="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/detail.php?id=&amp;cache=cache&amp;media=79905-1.jpg" class="media" title="79905-1.jpg"><img src="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/fetch.php?w=&amp;h=&amp;cache=cache&amp;media=79905-1.jpg" class="media" alt="" /></a>
</p>
<p>i still need some splash!!!
</p>
<p>
?????something like this????<br />
<a href="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/detail.php?id=&amp;cache=cache&amp;media=78768-2.png" class="media" title="78768-2.png"><img src="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/fetch.php?w=&amp;h=&amp;cache=cache&amp;media=78768-2.png" class="media" alt="" /></a>
</p>
</div>
<h5><a name="default_settings" id="default_settings">default settings</a></h5>
<div class="level5">
</div>
<h4><a name="hacking_the_installer" id="hacking_the_installer">Hacking the installer</a></h4>
<div class="level4">
<p>first we need to get the mini.iso from here <a href="https://help.ubuntu.com/community/Installation/MinimalCD" class="urlextern" title="https://help.ubuntu.com/community/Installation/MinimalCD"  rel="nofollow">https://help.ubuntu.com/community/Installation/MinimalCD</a>
</p>
<p>
no need to burn it to cd first, just mount it</p>
<pre class="code">mount -o loop /path/to/iso /some/mountpoint</pre>
<p>after its mounted, copy the content to a folder</p>
<pre class="code">mkdir -p /opt/cd-image
rsync -av /some/mountpoint/ /opt/cd-image</pre>
<p>since the content of is now copied to /opt/cd-image this would be the place to make the needed changes.</p>
<pre class="code">nano /opt/cd-image/isolinux.cfg</pre>
<p>all i&#039;ve added is the laoshu part</p>
<pre class="code">DISPLAY boot.txt

F1 f1.txt

F2 f2.txt

F3 f3.txt

F4 f4.txt

F5 f5.txt

F6 f6.txt

F7 f7.txt

F8 f8.txt

F9 f9.txt

F0 f10.txt

DEFAULT laoshu

LABEL laoshu

	kernel linux

	append vga=normal debian-installer/locale=en_US console-setup/layoutcode=us netcfg/get_hostname=unassigned-hostname preseed/url=http://192.168.1.12/laoshu-preseed.cfg initrd=initrd.gz --

LABEL install

	kernel linux

	append vga=normal initrd=initrd.gz --

LABEL linux

	kernel linux

	append vga=normal initrd=initrd.gz --

LABEL cli

	kernel linux

	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=initrd.gz --

LABEL expert

	kernel linux

	append priority=low vga=normal initrd=initrd.gz --

LABEL cli-expert

	kernel linux

	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=initrd.gz --

LABEL rescue

	kernel linux

	append vga=normal initrd=initrd.gz rescue/enable=true --

PROMPT 1

TIMEOUT 0
</pre>
<p>
after the changes are made we can make a fresh new .iso image
</p>
<pre class="code">IMAGE=laoshu.iso</pre>
<pre class="code">BUILD=/opt/cd-image</pre>
<pre class="code">mkisofs -r -V &quot;LaoShu Install CD&quot; \
            -cache-inodes \
            -J -l -b isolinux.bin \
            -c boot.cat -no-emul-boot \
            -boot-load-size 4 -boot-info-table \
            -o $IMAGE $BUILD</pre>
<p>
please note, the location of isolinux.bin and boot.cat differ with the normal install cd&#039;s, so just adjust the paths if needed.
</p>
<p>
the answer file for the installer, lets see how far we get after making some changes to this post<br />
<a href="http://ubuntuforums.org/archive/index.php/t-434405.html" class="urlextern" title="http://ubuntuforums.org/archive/index.php/t-434405.html"  rel="nofollow">http://ubuntuforums.org/archive/index.php/t-434405.html</a><br />
and place the preseed file on the apt-cacher we already have in place ( <a href="http://192.168.1.88/doku/doku.php?id=apt.cipar.net" class="urlextern" title="http://192.168.1.88/doku/doku.php?id=apt.cipar.net"  rel="nofollow">http://192.168.1.88/doku/doku.php?id=apt.cipar.net</a>) as<br />
<a href="http://192.168.1.12/laoshu-preseed.cfg" class="urlextern" title="http://192.168.1.12/laoshu-preseed.cfg"  rel="nofollow">http://192.168.1.12/laoshu-preseed.cfg</a></p>
<pre class="code">d-i debian-installer/locale string en_US
i console-keymaps-at/keymap select us
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string set-me-please
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/wireless_wep string
d-i mirror/country string enter information manually
#d-i mirror/http/hostname string
d-i mirror/http/hostname string 192.168.1.12:3142
d-i mirror/http/directory string /apt-cacher/nl3.archive.ubuntu.com/ubuntu
d-i mirror/http/proxy string
d-i partman-auto/disk string /dev/?da
d-i partman-auto/method string regular
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/choose_recipe select All files in one partition (recommended for new users)
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Amsterdam
# Controls whether to use NTP to set the clock during the install
d-i clock-setup/ntp boolean true
# NTP server to use. The default is almost always fine here.
d-i clock-setup/ntp-server 192.168.0.1
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i apt-setup/multiverse boolean true
d-i apt-setup/local0/comment string Medibuntu - http://www.medibuntu.org
d-i apt-setup/local0/repository string http://192.168.1.12:3142/packages.medibuntu.org  hardy free non-free
d-i apt-setup/local0/source boolean true
d-i apt-setup/local0/key string http://packages.medibuntu.org/medibuntu-key.gpg
d-i apt-setup/local1/comment string LaoShu
d-i apt-setup/local1/repository string http://192.168.1.12/custom hardy main
d-i apt-setup/local1/source boolean false
d-i debian-installer/allow_unauthenticated string true
d-i passwd/root-login boolean false
d-i passwd/user-fullname string user
d-i passwd/username string user
# Normal user&#039;s password, either in clear text
d-i passwd/user-password password user
d-i passwd/user-password-again password user
# or encrypted using an MD5 hash.
#d-i passwd/user-password-crypted password [MD5 hash]
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
tasksel tasksel/first multiselect ubuntu-standard,
d-i pkgsel/include string acpi acpi-support acpid alsa-base alsa-utils anacron mozilla-plugin-vlc apmd avahi-daemon bc ca-certificates cupsys cupsys-bsd cupsys-client cupsys-driver-gutenprint dbus dc doc-base foomatic-db foomatic-db-engine foomatic-filters gdebi gdm genisoimage ghostscript-x gnome-app-install gnome-mount gnome-system-tools gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf gtk2-engines-ubuntulooks gtk2-engines-xfce hal hotkey-setup language-selector lftp libgl1-mesa-glx libglib2.0-data libglut3 libsasl2-modules libxp6 openprinting-ppds pnm2ppa powermanagement-interface readahead screen scrollkeeper smbclient software-properties-gtk synaptic tango-icon-theme tango-icon-theme-common thunar thunar-archive-plugin thunar-media-tags-plugin thunar-thumbnailers thunar-volman ttf-bitstream-vera ttf-dejavu-core ttf-freefont unzip update-manager usplash vim-runtime x-ttcidfont-conf xfce4-mcs-plugins xfce4-mcs-plugins-extra xfce4-mixer xfce4-panel xfce4-session xfce4-terminal xfce4-utils xfdesktop4 xfwm4 xfwm4-themes xkb-data xorg xterm zenity zip app-install-data-commercial apport-gtk avahi-autoipd bluez-cups bluez-utils bogofilter brasero cdparanoia cups-pdf displayconfig-gtk dvd+rw-tools file-roller firefox foo2zjs foomatic-db-hpijs fortune-mod gcalctool gcc gimp gnome-accessibility-themes gnome-games gnome-screensaver gnome-system-monitor gucharmap hal-cups-utils hplip jockey-gtk libgl1-mesa-dri libgnome2-perl libgoffice-gtk-0-6 libnss-mdns linux-headers-generic make min12xxw mousepad mozilla-thunderbird notification-daemon onboard orage pidgin pidgin-otr powernowd pxljr python-exo gthumb scim scim-gtk2-immodule scim-tables-additional screensaver-default-images splix system-config-printer-gnome ttf-arabeyes ttf-arphic-uming ttf-indic-fonts-core ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-thai-tlwg ttf-unfonts-core ubufox update-notifier wodim wvdial xcursor-themes xdg-utils xfce4-appfinder xfce4-battery-plugin xfce4-clipman-plugin xfce4-cpugraph-plugin xfce4-dict-plugin xfce4-fsguard-plugin xfce4-governor-plugin xfce4-mailwatch-plugin xfce4-mount-plugin xfce4-netload-plugin xfce4-notes-plugin xfce4-places-plugin xfce4-quicklauncher-plugin xfce4-screenshooter-plugin xfce4-smartbookmark-plugin xfce4-systemload-plugin xfce4-verve-plugin xfce4-weather-plugin xfce4-xkb-plugin xfprint4 xscreensaver-data xscreensaver-gl openoffice.org openoffice.org-gtk openoffice.org-style-tango lightning-extension flashplugin-nonfree icedtea-gcjwebplugin libdvdread3 numlockx liblame0 libxine1-ffmpeg msttcorefonts unrar sun-java6-jre sun-java6-fonts acroread acroread-escript acroread-plugins exaile mozilla-acroread skype non-free-codecs libdvdcss2 dmz-cursor-theme ntp
#d-i preseed/late_command string wget -q -O - http://192.168.1.12/laoshu_installscript | chroot /target /bin/bash
popularity-contest popularity-contest/participate boolean false
d-i finish-install/reboot_in_progress note
xserver-xorg xserver-xorg/autodetect_monitor boolean true
# Uncomment if you have an LCD display.
#xserver-xorg xserver-xorg/config/monitor/lcd boolean true
xserver-xorg xserver-xorg/config/monitor/selection-method \
select medium
xserver-xorg xserver-xorg/config/monitor/mode-list \
select 1024x768 @ 60 Hz
sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true
msttcorefonts msttcorefonts/defoma note
</pre>
</div>
<h4><a name="making_a_local_repository" id="making_a_local_repository">Making a local repository</a></h4>
<div class="level4">
<p>we need a local repo for our custom packages, a complete mirror is not needed since we use apt-cacher..
</p>
<p>
reprepro seems to do the trick nicely<br />
<a href="http://www.debian-administration.org/articles/286" class="urlextern" title="http://www.debian-administration.org/articles/286"  rel="nofollow">http://www.debian-administration.org/articles/286</a><br />
on the apt-cacher box we do the following.</p>
<pre class="code">apt-get install reprepro</pre>
<pre class="code">mkdir -p /var/www/custom
mkdir -p /var/www/custom/conf
mkdir -p /var/www/custom/incoming</pre>
<pre class="code">nano /var/www/custom/conf/distributions</pre>
<pre class="code">Origin: randall
Label: LaoShu
Suite: hardy
Codename: hardy
Version: 8.04
Architectures: i386 all source
Components: main
Description: custom repo</pre>
<p>
and then to include our custom made package we do the following.
</p>
<pre class="code">reprepro -Vb . includedeb hardy laoshu-desktop_8.04.1_i386.deb</pre>
</div>
<h4><a name="sacrifice_the_chicken" id="sacrifice_the_chicken">Sacrifice the chicken</a></h4>
<div class="level4">
<p>
Before we start with OpenLDAP we need some more divined guidance, so this would be a good moment to sacrifice the chicken.<br />
Normally i&#039;m used to the debian way that demands that the chicken be tied to a stake driven into the earth, doused with an accelerant and set ablaze.<br />
amused by the way the flaming chicken scrambles about, clucking its hellish shrieks before its eyes pop out of its tiny skull and boiling blood oozes from the sockets.
</p>
<p>
but i found that when dealing with ubuntu a slightly different approach is needed, not sure if this change came from upstream or if it is a propriety <acronym title="specification">spec</acronym> by cannonical.
</p>
<p>
i followed the technical details provided by Jaden from here<br />
<a href="http://steamykitchen.com/blog/2007/06/28/szechuan-peppercorn-roasted-chicken/" class="urlextern" title="http://steamykitchen.com/blog/2007/06/28/szechuan-peppercorn-roasted-chicken/"  rel="nofollow">http://steamykitchen.com/blog/2007/06/28/szechuan-peppercorn-roasted-chicken/</a>
</p>
<p>
<a href="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/detail.php?id=&amp;cache=cache&amp;media=chicken-raw.jpg" class="media" title="chicken-raw.jpg"><img src="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/fetch.php?w=&amp;h=&amp;cache=cache&amp;media=chicken-raw.jpg" class="media" alt="" /></a>
</p>
<ul>
<li class="level1">
<div class="li"> 1 chicken, organic (I like using a small 3 1/2 pound bird)</div>
</li>
<li class="level1">
<div class="li"> 1/2 orange</div>
</li>
<li class="level1">
<div class="li"> 2-3 stalks of scallions, cut into 3” sections</div>
</li>
<li class="level1">
<div class="li"> 4 long, thin slices of ginger</div>
</li>
<li class="level1">
<div class="li"> 2 tablespoons Szechuan Peppercorn Salt + more to serve as dipping salt</div>
</li>
<li class="level1">
<div class="li"> 2 tablespoons oil</div>
</li>
</ul>
<pre class="code">Preheat oven to 200°c set for convection.</pre>
<pre class="code">Wash chicken and pat very dry. </pre>
<pre class="code">Tie legs together with kitchen twine, tuck wings in. </pre>
<pre class="code">Generously season chicken inside and out with the Szechuan Peppercorn Flavored Salt. </pre>
<p>If you look at my photo, I use quite a bit of seasoning, which I think is one of the secrets to delicious tasting roast chicken. The roasting mellows out the salt &#8211; so don&#039;t be afraid to have a heavy-hand in seasoning.</p>
<pre class="code">Stuff bird with ginger, scallions and orange. </pre>
<pre class="code">Place bird breast-side down in roasting pan. </pre>
<pre class="code">Brush 1 tablespoon oil all over the top of the bird (which is the thigh side).</pre>
<pre class="code">Roast chicken breast-side down for 30 minutes. </pre>
<pre class="code">Turn breast side up. Brush breast side with oil. </pre>
<p>Continue roasting until thickest part of thigh reaches temperature of 175F and breast is 160F. Generally, this will take another 20 minutes for a 3 1/2 lb bird. If using larger bird, add 7 more minutes for every add&#039;l pound.
</p>
<pre class="code">Remove from oven and let rest for 10-15 minutes. </pre>
<p>Carve and serve with more Szechuan Peppercorn Salt on side for dipping.
</p>
<p>
<a href="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/detail.php?id=&amp;cache=cache&amp;media=chicken.jpg" class="media" title="chicken.jpg"><img src="http://www.songshu.org/wp-content/plugins/wp-dokuwiki/lib/exe/fetch.php?w=&amp;h=&amp;cache=cache&amp;media=chicken.jpg" class="media" alt="" /></a>
</p>
</div>
<h3><a name="openldap" id="openldap">OpenLDAP</a></h3>
<div class="level3">
<p>Thank Jaden for the Steamy Chicken, it actually paid off, below is a working draft, still need to configure it properly.
</p>
<p>
<a href="https://help.ubuntu.com/community/OpenLDAPServer" class="urlextern" title="https://help.ubuntu.com/community/OpenLDAPServer"  rel="nofollow">https://help.ubuntu.com/community/OpenLDAPServer</a><br />
<a href="https://help.ubuntu.com/community/LDAPClientAuthentication" class="urlextern" title="https://help.ubuntu.com/community/LDAPClientAuthentication"  rel="nofollow">https://help.ubuntu.com/community/LDAPClientAuthentication</a><br />
<a href="http://ubuntuforums.org/showthread.php?t=597056" class="urlextern" title="http://ubuntuforums.org/showthread.php?t=597056"  rel="nofollow">http://ubuntuforums.org/showthread.php?t=597056</a>
</p>
</div>
<h4><a name="server_part_192.168.1.118" id="server_part_192.168.1.118">SERVER PART 192.168.1.118</a></h4>
<div class="level4">
<pre class="code">apt-get install slapd ldap-utils db4.2-util</pre>
<p>
it asked for the ldap rootpw only, i did dpkg-reconfigure to provoke more questions
</p>
<pre class="code">nano /etc/ldap/slapd.conf</pre>
<pre class="code"># Make sure you edit or add these directives after the first &#039;database&#039; directive.

suffix          &quot;dc=cipar,dc=net&quot;
directory       &quot;/var/lib/ldap&quot;
rootdn          &quot;cn=admin,dc=cipar,dc=net&quot;
rootpw          {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m</pre>
<p><em class="u"><strong>slappaswd for the passwords</strong></em></p>
<pre class="code">nano /etc/ldap/ldap.conf</pre>
<pre class="code">BASE    dc=cipar,dc=net</pre>
<pre class="code">/etc/init.d/slapd restart </pre>
<pre class="code">cd /usr/src</pre>
<pre class="code">nano init.ldif</pre>
<pre class="code">dn: dc=cipar,dc=net
objectClass: dcObject
objectClass: organizationalUnit
dc: cipar
ou: Cipar Dot Net

dn: cn=admin,dc=cipar,dc=net
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: {SSHA}QWIws37cSnf6Rd0uOTk8HZiByQlyiTBL

dn: ou=people,dc=cipar,dc=net
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=cipar,dc=net
objectClass: organizationalUnit
ou: groups

dn: uid=lionel,ou=people,dc=cipar,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: lionel
sn: Porcheron
givenName: Lionel
cn: Lionel Porcheron
displayName: Lionel Porcheron
uidNumber: 1000
gidNumber: 10000
userPassword: {SSHA}DAeW6w7yn1PBHBiT5IUgMM+O/0OO1qqn
gecos: Lionel Porcheron
loginShell: /bin/bash
homeDirectory: /home/lionel
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: lionel.porcheron@example.com
postalCode: 31000
l: Toulouse
o: Example
mobile: +33 (0)6 xx xx xx xx
homePhone: +33 (0)5 xx xx xx xx
title: System Administrator
postalAddress:
initials: LP

dn: cn=cipar,ou=groups,dc=cipar,dc=net
objectClass: posixGroup
cn: cipar
gidNumber: 10000

dn: cn=cipar2,ou=groups,dc=cipar,dc=net
objectClass: posixGroup
cn: cipar2
memberUid: lionel
gidNumber: 10001</pre>
<p>
<em class="u"><strong>slappaswd for the passwords</strong></em>
</p>
<pre class="code">/etc/init.d/slapd stop</pre>
<pre class="code">rm -rf /var/lib/ldap/*</pre>
<pre class="code">slapadd -l init.ldif </pre>
<pre class="code">chown -R openldap:openldap /var/lib/ldap</pre>
<pre class="code">/etc/init.d/slapd start</pre>
</div>
<h4><a name="client" id="client">client</a></h4>
<div class="level4">
<pre class="code">apt-get install ldap-auth-client</pre>
<p>there was a typo in the original howto i think<br />
it said <acronym title="Uniform Resource Identifier">URI</acronym> → ldapi:///LDAP_SERVER_IP instead of <acronym title="Uniform Resource Identifier">URI</acronym> → ldapi://LDAP_SERVER_IP
</p>
<pre class="code">Should use debconf -&amp;gt; YES
URI -&amp;gt; ldapi://192.168.1.118
DISTINGUISHED NAME -&amp;gt; dc=cipar,dc=net
LDAP VERS -&amp;gt; 3
LOCAL ROOT DB ADMIN -&amp;gt; YES
DOES DB REQ LOGIN -&amp;gt; NO
LDAP A/C -&amp;gt; cn=admin,dc=cipar,dc=net
LDAP root a/c password -&amp;gt; PASSWORD</pre>
<pre class="code">nano /etc/ldap.conf</pre>
<pre class="code">host 192.168.1.118
base = dc=cipar,dc=net
bind_policy=soft</pre>
<pre class="code">cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.bak
cp /etc/ldap.conf /etc/ldap/ldap.conf</pre>
<pre class="code">nano /etc/auth-client-config/profile.d/open_ldap</pre>
<pre class="code">[open_ldap]
nss_passwd=passwd: ldap files
nss_group=group: ldap files
nss_shadow=shadow: ldap files
pam_auth=auth       required     pam_env.so
        auth       sufficient   pam_unix.so likeauth nullok
        auth       sufficient   pam_ldap.so use_first_pass
        auth       required     pam_deny.so
pam_account=account    sufficient   pam_unix.so
        account    sufficient   pam_ldap.so
        account    required     pam_deny.so
pam_password=password   sufficient   pam_unix.so nullok md5 shadow use_authtok
        password   sufficient   pam_ldap.so use_first_pass
        password   required     pam_deny.so
pam_session=session    required     pam_limits.so
        session    required     pam_mkhomedir.so skel=/etc/skel/
        session    required     pam_unix.so
        session    optional     pam_ldap.so</pre>
<pre class="code">auth-client-config -a -p open_ldap</pre>
<p>
&lt;/div&gt;
</p>
</div>
</div>
<p><!-- end Dokuwiki generated code--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.songshu.org/index.php/customise-the-ubuntu-installer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
