Adding live-helper 1.0~a8-1.
This commit is contained in:
parent
3de3c99147
commit
dfd9c85cd9
|
@ -1,3 +1,11 @@
|
|||
live-helper (1.0~a8-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release:
|
||||
- updated syslinux templates (Closes: #399658).
|
||||
- removed forgotten set -x in the cron (Closes: #421105).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Mon, 30 Apr 2007 00:00:00 +0200
|
||||
|
||||
live-helper (1.0~a7-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release:
|
||||
|
|
|
@ -46,7 +46,9 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.iso ] && [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar ]
|
||||
|
@ -77,7 +79,9 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b usb -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b usb -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.img ]
|
||||
|
|
|
@ -1,3 +1,35 @@
|
|||
2007-04-31 Daniel Baumann <daniel@debian.org>
|
||||
|
||||
* helpers/*:
|
||||
- Added LH_INITRAMFS.
|
||||
- Splitted config/image into config/binary and config/source.
|
||||
* Uploaded 1.0~a8-1.
|
||||
|
||||
2007-04-26 Daniel Baumann <daniel@debian.org>
|
||||
|
||||
* helpers/*:
|
||||
- Implemented paranoid caching with LIVE_CACHE_INDICES,
|
||||
LIVE_CACHE_PACKAGES and LIVE_CACHE_STAGES. This allows to build
|
||||
images offline from the cache.
|
||||
|
||||
2007-04-25 Daniel Baumann <daniel@debian.org>
|
||||
|
||||
* helpers/lh_binary_usb, lh_source_usb:
|
||||
- In preparation of adding support for usb-zip images, the usb binary
|
||||
type is renamed to usb-hdd.
|
||||
|
||||
2007-04-24 Daniel Baumann <daniel@debian.org>
|
||||
|
||||
* functions/stagefile.sh:
|
||||
- Requite_stagefile can require more than one stage.
|
||||
* helpers/lh_binary_debian-installer:
|
||||
- Added.
|
||||
|
||||
2007-04-23 Daniel Baumann <daniel@debian.org>
|
||||
|
||||
* helpers/lh_binary_includes, lh_binary_usb, lh_source_usb:
|
||||
- Added workaround for vfat limitations.
|
||||
|
||||
2007-04-23 Daniel Baumann <daniel@debian.org>
|
||||
|
||||
* Makefile:
|
||||
|
|
7
doc/NEWS
7
doc/NEWS
|
@ -25,6 +25,13 @@ News:
|
|||
http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-February/000836.html
|
||||
|
||||
* 2007-03-12: Uploaded first live-helper to Debian unstable.
|
||||
http://packages.debian.org/changelogs/pool/main/l/live-helper/current/changelog#versionversion1.0_a1-1
|
||||
|
||||
* 2007-03-14: live-package is dead, long lives live-helper
|
||||
http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-March/000998.html
|
||||
|
||||
* 2007-04-19: Google Summer of Code 2007
|
||||
http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-April/001221.html
|
||||
|
||||
* 2007-04-26: New website design
|
||||
http://www.chris-lamb.co.uk/blog/2007/04/26/pimp-your-webpage/
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
|_ lh_binary_hdd
|
||||
|_ lh_binary_iso
|
||||
|_ lh_binary_net
|
||||
|_ lh_binary_usb
|
||||
|_ lh_binary_usb-hdd
|
||||
|
|
||||
|_ rm -f .stage/chroot_sources
|
||||
|_ lh_chroot_resolv remove
|
||||
|
@ -84,7 +84,7 @@
|
|||
|_ lh_source_hdd
|
||||
|_ lh_source_iso
|
||||
|_ lh_source_net
|
||||
|_ lh_source_usb
|
||||
|_ lh_source_usb-hdd
|
||||
|
|
||||
|_ rm -f .stage/chroot_sources
|
||||
|_ lh_chroot_resolv remove
|
||||
|
|
|
@ -58,7 +58,9 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.iso ] && [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar ]
|
||||
|
@ -76,7 +78,7 @@ do
|
|||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/source/debian-live-${DISTRIBUTION}-source-${PACKAGES_LIST}.tar
|
||||
fi
|
||||
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt ]
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt ]
|
||||
then
|
||||
# Workaround of missing multi-binary support in live-helper
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/binary/casper "${AUTOBUILD_TEMPDIR}"/debian-live/casper.tmp
|
||||
|
@ -89,15 +91,17 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b usb -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b usb-hdd -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.img ]
|
||||
then
|
||||
# Moving logs
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-packages.txt
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-packages.txt
|
||||
|
||||
# Moving images
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/${ARCHITECTURE}
|
||||
|
|
|
@ -9,7 +9,7 @@ AUTOBUILD_DISTRIBUTIONS="etch"
|
|||
AUTOBUILD_PACKAGES_LISTS="gnome-desktop kde-desktop xfce-desktop"
|
||||
AUTOBUILD_OPTIONS="--apt-recommends disabled"
|
||||
|
||||
AUTOBUILD_DATE="r0_1.0~a7-1"
|
||||
AUTOBUILD_DATE="r0_1.0~a8-1"
|
||||
AUTOBUILD_DESTDIR="/srv/debian-unofficial/ftp/debian-live"
|
||||
AUTOBUILD_TEMPDIR="/srv/tmp"
|
||||
|
||||
|
@ -68,7 +68,9 @@ do
|
|||
cp /usr/share/live-helper/examples/beryl.sources.list debian-live/config/chroot_sources/beryl.build
|
||||
cp /usr/share/live-helper/examples/beryl.sources.list debian-live/config/chroot_sources/beryl.image
|
||||
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.iso ] && [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar ]
|
||||
|
@ -86,7 +88,7 @@ do
|
|||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/source/debian-live-etch+beryl-source-${PACKAGES_LIST}.tar
|
||||
fi
|
||||
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt ]
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt ]
|
||||
then
|
||||
# Workaround of missing multi-binary support in live-helper
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/binary/casper "${AUTOBUILD_TEMPDIR}"/debian-live/casper.tmp
|
||||
|
@ -99,15 +101,17 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b usb -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b usb-hdd -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.img ]
|
||||
then
|
||||
# Moving logs
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-packages.txt
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-packages.txt
|
||||
|
||||
# Moving images
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/${ARCHITECTURE}
|
||||
|
|
|
@ -9,7 +9,7 @@ AUTOBUILD_DISTRIBUTIONS="etch"
|
|||
AUTOBUILD_PACKAGES_LISTS="standard gnome-desktop kde-desktop xfce-desktop"
|
||||
AUTOBUILD_OPTIONS="--apt-recommends disabled"
|
||||
|
||||
AUTOBUILD_DATE="r0_1.0~a7-1"
|
||||
AUTOBUILD_DATE="r0_1.0~a8-1"
|
||||
AUTOBUILD_DESTDIR="/srv/debian-unofficial/ftp/debian-live"
|
||||
AUTOBUILD_TEMPDIR="/srv/tmp"
|
||||
|
||||
|
@ -58,7 +58,9 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.iso ] && [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar ]
|
||||
|
@ -76,7 +78,7 @@ do
|
|||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/source/debian-live-${DISTRIBUTION}-source-${PACKAGES_LIST}.tar
|
||||
fi
|
||||
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt ]
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt ]
|
||||
then
|
||||
# Workaround of missing multi-binary support in live-helper
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/binary/casper "${AUTOBUILD_TEMPDIR}"/debian-live/casper.tmp
|
||||
|
@ -89,15 +91,17 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b usb -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b usb-hdd -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.img ]
|
||||
then
|
||||
# Moving logs
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-packages.txt
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-packages.txt
|
||||
|
||||
# Moving images
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/${ARCHITECTURE}
|
||||
|
|
|
@ -58,7 +58,9 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b iso -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source enabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.iso ] && [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar ]
|
||||
|
@ -76,7 +78,7 @@ do
|
|||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/source.tar "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/source/debian-live-${DISTRIBUTION}-source-${PACKAGES_LIST}.tar
|
||||
fi
|
||||
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt ]
|
||||
if [ ! -f "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt ]
|
||||
then
|
||||
# Workaround of missing multi-binary support in live-helper
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/binary/casper "${AUTOBUILD_TEMPDIR}"/debian-live/casper.tmp
|
||||
|
@ -89,15 +91,17 @@ do
|
|||
# Generating images
|
||||
mkdir -p "${AUTOBUILD_TEMPDIR}"/debian-live
|
||||
cd "${AUTOBUILD_TEMPDIR}"
|
||||
make-live -b usb -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "Begin: `date -R`" > "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
make-live -b usb-hdd -s generic --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-build ${AUTOBUILD_MIRROR} --mirror-build-security ${AUTOBUILD_MIRROR_SECURITY} --source disabled ${AUTOBUILD_OPTIONS} >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt 2>&1
|
||||
echo "End: `date -R`" >> "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt
|
||||
fi
|
||||
|
||||
if [ -f "${AUTOBUILD_TEMPDIR}"/debian-live/binary.img ]
|
||||
then
|
||||
# Moving logs
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-packages.txt
|
||||
mv "${AUTOBUILD_TEMPDIR}"/debian-live/log.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-log.txt
|
||||
cp "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-iso-packages.txt "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${AUTOBUILD_DATE}-usb-hdd-packages.txt
|
||||
|
||||
# Moving images
|
||||
mkdir -p "${AUTOBUILD_DESTDIR}"/"${BUILD}"-builds/${AUTOBUILD_DATE}/${ARCHITECTURE}
|
||||
|
|
|
@ -13,7 +13,7 @@ Restore_cache ()
|
|||
{
|
||||
DIRECTORY="${1}"
|
||||
|
||||
if [ "${LH_CACHE}" = "enabled" ]
|
||||
if [ "${LH_CACHE_PACKAGES}" = "enabled" ]
|
||||
then
|
||||
if [ -d "${DIRECTORY}" ]
|
||||
then
|
||||
|
@ -27,7 +27,7 @@ Save_cache ()
|
|||
{
|
||||
DIRECTORY="${1}"
|
||||
|
||||
if [ "${LH_CACHE}" = "enabled" ]
|
||||
if [ "${LH_CACHE_PACKAGES}" = "enabled" ]
|
||||
then
|
||||
# Cleaning current cache
|
||||
Chroot "apt-get autoclean"
|
||||
|
|
|
@ -10,4 +10,4 @@
|
|||
set -e
|
||||
|
||||
PROGRAM="`basename ${0}`"
|
||||
VERSION="1.0~a7"
|
||||
VERSION="1.0~a8"
|
||||
|
|
|
@ -120,9 +120,19 @@ Set_defaults ()
|
|||
fi
|
||||
|
||||
# Setting cache option
|
||||
if [ -z "${LH_CACHE}" ]
|
||||
if [ -z "${LH_CACHE_INDICES}" ]
|
||||
then
|
||||
LH_CACHE="enabled"
|
||||
LH_CACHE_INDICES="disabled"
|
||||
fi
|
||||
|
||||
if [ -z "${LH_CACHE_PACKAGES}" ]
|
||||
then
|
||||
LH_CACHE_PACKAGES="enabled"
|
||||
fi
|
||||
|
||||
if [ -z "${LH_CACHE_STAGES}" ]
|
||||
then
|
||||
LH_CACHE_STAGES="bootstrap"
|
||||
fi
|
||||
|
||||
# Setting debconf frontend
|
||||
|
@ -176,6 +186,12 @@ Set_defaults ()
|
|||
LH_TASKSEL="aptitude"
|
||||
fi
|
||||
|
||||
# Setting initramfs generator
|
||||
if [ -z "${LH_INITRAMFS}" ]
|
||||
then
|
||||
LH_INITRAMFS="casper"
|
||||
fi
|
||||
|
||||
# Setting root directory
|
||||
if [ -z "${LIVE_ROOT}" ]
|
||||
then
|
||||
|
@ -190,6 +206,18 @@ Set_defaults ()
|
|||
esac
|
||||
fi
|
||||
|
||||
# Setting includes
|
||||
if [ -z "${LIVE_INCLUDES}" ]
|
||||
then
|
||||
LIVE_INCLUDES="/usr/share/live-helper/includes"
|
||||
fi
|
||||
|
||||
# Setting templates
|
||||
if [ -z "${LIVE_TEMPLATES}" ]
|
||||
then
|
||||
LIVE_TEMPLATES="/usr/share/live-helper/templates"
|
||||
fi
|
||||
|
||||
# Setting live helper options
|
||||
if [ -z "${LH_BREAKPOINTS}" ]
|
||||
then
|
||||
|
@ -549,6 +577,12 @@ Set_defaults ()
|
|||
LIVE_MEMTEST="memtest86+"
|
||||
fi
|
||||
|
||||
# Setting debian-installer option
|
||||
if [ -z "${LIVE_DEBIAN_INSTALLER}" ]
|
||||
then
|
||||
LIVE_DEBIAN_INSTALLER="disabled"
|
||||
fi
|
||||
|
||||
# Setting iso volume
|
||||
if [ -z "${LIVE_ISO_VOLUME}" ]
|
||||
then
|
||||
|
@ -608,16 +642,4 @@ Set_defaults ()
|
|||
|
||||
# Setting syslinux splash
|
||||
# LIVE_SYSLINUX_SPLASH
|
||||
|
||||
# Setting includes
|
||||
if [ -z "${LIVE_INCLUDES}" ]
|
||||
then
|
||||
LIVE_INCLUDES="/usr/share/live-helper/includes"
|
||||
fi
|
||||
|
||||
# Setting templates
|
||||
if [ -z "${LIVE_TEMPLATES}" ]
|
||||
then
|
||||
LIVE_TEMPLATES="/usr/share/live-helper/templates"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -47,13 +47,28 @@ Create_stagefile ()
|
|||
|
||||
Require_stagefile ()
|
||||
{
|
||||
FILE="${1}"
|
||||
NAME="`basename ${1}`"
|
||||
FILES="${@}"
|
||||
NUMBER="`echo ${@} | wc -w`"
|
||||
|
||||
# Checking stage file
|
||||
if [ ! -f "${FILE}" ]
|
||||
for FILE in ${FILES}
|
||||
do
|
||||
# Find at least one of the required stages
|
||||
if [ -f ${FILE} ]
|
||||
then
|
||||
CONTINUE="true"
|
||||
NAME="${NAME} `basename ${FILE}`"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "${CONTINUE}" != "true" ]
|
||||
then
|
||||
Echo_error "${NAME} missing"
|
||||
if [ "${NUMBER}" -gt 1 ]
|
||||
then
|
||||
Echo_error "one of ${NAME} is missing"
|
||||
else
|
||||
Echo_error "${NAME} missing"
|
||||
fi
|
||||
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ lh_binary_encryption "${@}"
|
|||
|
||||
# Prepare images
|
||||
lh_binary_linuximage "${@}"
|
||||
lh_binary_debian-installer "${@}"
|
||||
lh_binary_memtest "${@}"
|
||||
lh_binary_grub "${@}"
|
||||
lh_binary_syslinux "${@}"
|
||||
|
@ -54,7 +55,7 @@ lh_binary_md5sum "${@}"
|
|||
lh_binary_hdd "${@}"
|
||||
lh_binary_iso "${@}"
|
||||
lh_binary_net "${@}"
|
||||
lh_binary_usb "${@}"
|
||||
lh_binary_usb-hdd "${@}"
|
||||
|
||||
# Deconfiguring chroot
|
||||
rm -f .stage/chroot_sources
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_chroot: Init"
|
||||
|
|
|
@ -0,0 +1,247 @@
|
|||
#!/bin/sh
|
||||
|
||||
# lh_binary_debian-installer(1) - install debian-installer into binary
|
||||
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
|
||||
#
|
||||
# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; see COPYING for details.
|
||||
|
||||
set -e
|
||||
|
||||
# Source common functions
|
||||
for FUNCTION in /usr/share/live-helper/functions/*.sh
|
||||
do
|
||||
. ${FUNCTION}
|
||||
done
|
||||
|
||||
# Set static variables
|
||||
DESCRIPTION="install debian-installer into binary"
|
||||
HELP=""
|
||||
USAGE="${PROGRAM} [--force]"
|
||||
|
||||
Arguments "${@}"
|
||||
|
||||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ "${LIVE_DEBIAN_INSTALLER}" != "enabled" ]
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Breakpoint "binary_debian-installer: Init"
|
||||
|
||||
# Requiring stage file
|
||||
Require_stagefile .stage/bootstrap
|
||||
|
||||
# Checking stage file
|
||||
Check_stagefile .stage/binary_debian-installer
|
||||
|
||||
# Checking lock file
|
||||
Check_lockfile .lock
|
||||
|
||||
# Creating lock file
|
||||
Create_lockfile .lock
|
||||
|
||||
# Setting destination directory
|
||||
case "${LIVE_BINARY_IMAGE}" in
|
||||
iso)
|
||||
DESTDIR="binary/install"
|
||||
DESTDIR_INSTALLER="cdrom"
|
||||
;;
|
||||
|
||||
net)
|
||||
DESTDIR="tftpboot"
|
||||
DESTDIR_INSTALLER="netboot"
|
||||
|
||||
Echo_error "Not supported yet (FIXME)"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
usb-hdd|hdd)
|
||||
DESTDIR="binary"
|
||||
DESTDIR_INSTALLER="hd-media"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Temporary check for broken syslinux
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
# Assemble multi-arch
|
||||
if [ -n "${MULTIARCH}" ]
|
||||
then
|
||||
case "${LIVE_ARCHITECTURE}" in
|
||||
amd64)
|
||||
DESTDIR="${DESTDIR}.amd"
|
||||
;;
|
||||
|
||||
i386)
|
||||
DESTDIR="${DESTDIR}.386"
|
||||
;;
|
||||
|
||||
powerpc)
|
||||
DESTDIR="${DESTDIR}.ppc"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
# Downloading debian-installer
|
||||
mkdir -p "${DESTDIR}"
|
||||
|
||||
wget --no-clobber -O "${DESTDIR}"/vmlinuz "${LIVE_MIRROR_BUILD}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/vmlinuz
|
||||
wget --no-clobber -O "${DESTDIR}"/initrd.gz "${LIVE_MIRROR_BUILD}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/initrd.gz
|
||||
|
||||
# Downloading graphical-installer
|
||||
if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ]
|
||||
then
|
||||
mkdir -p "${DESTDIR}"/gtk
|
||||
|
||||
wget --no-clobber -O "${DESTDIR}"/gtk/vmlinuz "${LIVE_MIRROR_BUILD}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/vmlinuz
|
||||
wget --no-clobber -O "${DESTDIR}"/gtk/initrd.gz "${LIVE_MIRROR_BUILD}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/initrd.gz
|
||||
fi
|
||||
|
||||
# Downloading udebs
|
||||
mkdir -p binary/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"
|
||||
cd binary/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"
|
||||
wget "${LIVE_MIRROR_BUILD}"/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"/Packages.gz
|
||||
gunzip -c Packages.gz > Packages
|
||||
cd "${OLDPWD}"
|
||||
|
||||
for DISTRIBUTION in frozen stable testing unstable
|
||||
do
|
||||
ln -s ${LIVE_DISTRIBUTION} binary/dists/${DISTRIBUTION}
|
||||
done
|
||||
|
||||
DEBS="`awk '/Filename: / { print $2 }' binary/dists/${LIVE_DISTRIBUTION}/main/debian-installer/binary-${LIVE_ARCHITECTURE}/Packages`"
|
||||
UDEBS="`echo ${DEBS} | grep '.*.udeb'`"
|
||||
|
||||
rm -f packages.di
|
||||
|
||||
for UDEB in ${UDEBS}
|
||||
do
|
||||
mkdir -p binary/`dirname ${UDEB}`
|
||||
cd binary/`dirname ${UDEB}`
|
||||
wget "${LIVE_MIRROR_BUILD}"/${UDEB}
|
||||
cd "${OLDPWD}"
|
||||
done
|
||||
|
||||
# Downloading debs
|
||||
if [ -d cache/packages_bootstrap ]
|
||||
then
|
||||
for FILE in cache/packages_bootstrap/*.deb
|
||||
do
|
||||
SOURCE="`dpkg -f ${FILE} Source`"
|
||||
|
||||
if [ -z "${SOURCE}" ]
|
||||
then
|
||||
SOURCE="`basename ${FILE} | awk -F_ '{ print $1 }'`"
|
||||
fi
|
||||
|
||||
case "${SOURCE}" in
|
||||
lib?*)
|
||||
LETTER="`echo ${SOURCE} | sed 's/\(....\).*/\1/'`"
|
||||
;;
|
||||
|
||||
*)
|
||||
LETTER="`echo ${SOURCE} | sed 's/\(.\).*/\1/'`"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Install directory
|
||||
mkdir -p binary/pool/main/"${LETTER}"/"${SOURCE}"
|
||||
|
||||
# Move files
|
||||
cp "${FILE}" binary/pool/main/"${LETTER}"/"${SOURCE}"
|
||||
done
|
||||
fi
|
||||
|
||||
mkdir -p binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}
|
||||
|
||||
cat > binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Release << EOF
|
||||
Archive: ${LIVE_DISTRIBUTION}
|
||||
Component: main
|
||||
Origin: Debian
|
||||
Label: Debian
|
||||
Architecture: ${LIVE_ARCHITECTURE}
|
||||
EOF
|
||||
|
||||
mkdir -p cache/indices_debian-installer
|
||||
|
||||
cat > cache/indices_debian-installer/archive << EOF
|
||||
Dir
|
||||
{
|
||||
ArchiveDir "binary";
|
||||
// OverrideDir "";
|
||||
// CacheDir "";
|
||||
FileListDir "cache/indices_debian-installer";
|
||||
};
|
||||
|
||||
Default
|
||||
{
|
||||
Packages::Compress ". gzip";
|
||||
// Packages::Extension ".deb";
|
||||
// Sources::Extensions ".dsc";
|
||||
// Contents::Compress "gzip";
|
||||
// DeLinkLimit "0";
|
||||
// FileMode "0644";
|
||||
};
|
||||
|
||||
TreeDefault
|
||||
{
|
||||
// MaxContentsChange
|
||||
// ContentsAge
|
||||
Directory "dists/\$(DIST)/\$(SECTION)/binary-\$(ARCH)/";
|
||||
Packages "dists/\$(DIST)/\$(SECTION)/binary-\$(ARCH)/Packages";
|
||||
InternalPrefix "dists/\$(DIST)/\$(SECTION)/";
|
||||
Contents "dists/\$(DIST)/Contents-\$(ARCH)";
|
||||
// Contents::Header
|
||||
// BinCacheDB "cache.\$(DIST).\$(SECTION).\$(ARCH)";
|
||||
// FileList "filelist.\$(DIST).\$(SECTION).\$(ARCH)";
|
||||
FileList "filelist";
|
||||
// BinOverride "override.\$(DIST).\$(SECTION)";
|
||||
};
|
||||
|
||||
tree "${LIVE_DISTRIBUTION}"
|
||||
{
|
||||
Sections "main";
|
||||
Architectures "${LIVE_ARCHITECTURE}";
|
||||
};
|
||||
EOF
|
||||
|
||||
cd binary
|
||||
find pool -name "*.deb" | sort > ../cache/indices_debian-installer/filelist
|
||||
cd "${OLDPWD}"
|
||||
|
||||
cat > cache/indices_debian-installer/release << EOF
|
||||
APT::FTPArchive::Release::Origin "Debian";
|
||||
APT::FTPArchive::Release::Label "Debian";
|
||||
APT::FTPArchive::Release::Suite "${LIVE_DISTRIBUTION}";
|
||||
APT::FTPArchive::Release::Version "4.0";
|
||||
APT::FTPArchive::Release::Codename "${LIVE_DISTRIBUTION}";
|
||||
APT::FTPArchive::Release::Date "`date -R`";
|
||||
APT::FTPArchive::Release::Architectures "${LIVE_ARCHITECTURE}";
|
||||
APT::FTPArchive::Release::Components "main";
|
||||
EOF
|
||||
|
||||
apt-ftparchive generate cache/indices_debian-installer/archive
|
||||
apt-ftparchive -c cache/indices_debian-installer/release -o APT::FTPArchive::Release::Description="Last updated: `date -R`" release binary/dists/${LIVE_DISTRIBUTION} > binary/dists/${LIVE_DISTRIBUTION}/Release
|
||||
|
||||
mkdir binary/.disk
|
||||
echo "main" > binary/.disk/base_components
|
||||
touch binary/.disk/base_installable
|
||||
echo "not_complete" > binary/.disk/cd_type
|
||||
#echo "Debian GNU/Linux 4.0 r0 \"Etch\" - Official i386 NETINST Binary-1 20070407-11:29" > binary/.disk/info
|
||||
echo "Debian GNU/Linux ${LIVE_DISTRIBUTION} - Unofficial ${LIVE_ARCHITECTURE} NETINST Binary-1 `date +%Y%m%d-%H:%M`" > binary/.disk/info
|
||||
touch binary/.disk/mkisofs
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/binary_debian-installer
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ -z "${LIVE_ENCRYPTION}" ]
|
||||
|
@ -51,6 +52,16 @@ Check_lockfile .lock
|
|||
# Creating lock file
|
||||
Create_lockfile .lock
|
||||
|
||||
case "${LH_INITRAMFS}" in
|
||||
casper)
|
||||
INITFS="casper"
|
||||
;;
|
||||
|
||||
live-initramfs)
|
||||
INITFS="live"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${LIVE_FILESYSTEM}" in
|
||||
ext2)
|
||||
ROOTFS="ext2"
|
||||
|
@ -73,9 +84,9 @@ Check_package chroot/usr/bin/aespipe aespipe
|
|||
Install_package
|
||||
|
||||
# Moving image
|
||||
mv binary/casper/filesystem.${LIVE_FILESYSTEM} chroot
|
||||
mv binary/${INITFS}/filesystem.${LIVE_FILESYSTEM} chroot
|
||||
|
||||
echo "Encrypting binary/casper/filesystem.${ROOTFS} with ${LIVE_ENCRYPTION}..."
|
||||
echo "Encrypting binary/${INITFS}/filesystem.${ROOTFS} with ${LIVE_ENCRYPTION}..."
|
||||
|
||||
cat >> chroot/encrypt << EOF
|
||||
while true
|
||||
|
@ -97,7 +108,7 @@ EOF
|
|||
Chroot "sh encrypt"
|
||||
|
||||
# Move image
|
||||
mv chroot/filesystem.${LIVE_FILESYSTEM} binary/casper
|
||||
mv chroot/filesystem.${LIVE_FILESYSTEM} binary/${INITFS}
|
||||
rm -f chroot/encrypt
|
||||
|
||||
# Removing depends
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ "${LIVE_BOOTLOADER}" != "grub" ]
|
||||
|
@ -74,10 +75,21 @@ Check_package chroot/usr/sbin/grub grub
|
|||
# Installing depends
|
||||
Install_package
|
||||
|
||||
case "${LH_INITRAMFS}" in
|
||||
casper)
|
||||
INITFS="casper"
|
||||
;;
|
||||
|
||||
live-initramfs)
|
||||
INITFS="live"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Setting destination directory
|
||||
case "${LIVE_BINARY_IMAGE}" in
|
||||
iso|usb|hdd)
|
||||
DESTDIR="binary/live"
|
||||
iso|usb-hdd|hdd)
|
||||
DESTDIR_LIVE="binary/live"
|
||||
DESTDIR_INSTALL="binary/install"
|
||||
;;
|
||||
|
||||
net)
|
||||
|
@ -93,17 +105,23 @@ then
|
|||
if [ -n "${MULTIARCH}" ]
|
||||
then
|
||||
case "${LIVE_ARCHITECTURE}" in
|
||||
amd64)
|
||||
DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
|
||||
DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
|
||||
;;
|
||||
|
||||
i386)
|
||||
DESTDIR="${DESTDIR}.386"
|
||||
DESTDIR_LIVE="${DESTDIR_LIVE}.386"
|
||||
DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
# Creating directory
|
||||
if [ ! -d "${DESTDIR}" ]
|
||||
if [ ! -d "${DESTDIR_LIVE}" ]
|
||||
then
|
||||
mkdir -p "${DESTDIR}"
|
||||
mkdir -p "${DESTDIR_LIVE}"
|
||||
fi
|
||||
|
||||
# Setting boot parameters
|
||||
|
@ -129,8 +147,9 @@ FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
|
|||
|
||||
# Assembling kernel configuration
|
||||
DEFAULT_FLAVOUR="`echo ${LIVE_KERNEL_FLAVOUR} | awk '{ print $1 }'`"
|
||||
LINUX="title\t\tDebian GNU/Linux - Live\nkernel\t\t/`basename ${DESTDIR}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}` boot=casper LIVE_BOOTAPPEND\ninitrd\t\t/`basename ${DESTDIR}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - Live (failsafe mode)\nkernel\t\t/`basename ${DESTDIR}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}\ninitrd\t\t/`basename ${DESTDIR}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`"
|
||||
|
||||
LINUX="title\t\tDebian GNU/Linux - live\nkernel\t\t/`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}` boot=${INITFS} LIVE_BOOTAPPEND\ninitrd\t\t/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - live (fail-safe mode)\nkernel\t\t/`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}\ninitrd\t\t/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`"
|
||||
|
||||
if [ "`echo ${LIVE_KERNEL_FLAVOUR} | wc -w`" -gt "1" ]
|
||||
then
|
||||
|
@ -138,21 +157,37 @@ then
|
|||
do
|
||||
if [ -z "${LINUX}" ]
|
||||
then
|
||||
LINUX="title\t\tDebian GNU/Linux - Live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nkernel\t\t/`basename ${DESTDIR}`/`basename ${KERNEL}` boot=casper LIVE_BOOTAPPEND\ninitrd\t\t/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - Live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'` (failsafe mode)\nkernel\t\t/`basename ${DESTDIR}`/`basename ${KERNEL}` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}\ninitrd\t\t/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="title\t\tDebian GNU/Linux - live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nkernel\t\t/`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}` boot=${INITFS} LIVE_BOOTAPPEND\ninitrd\t\t/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'` (fail-safe mode)\nkernel\t\t/`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}\ninitrd\t\t/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
else
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - Live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nkernel /`basename ${DESTDIR}`/`basename ${KERNEL}` boot=casper LIVE_BOOTAPPEND\ninitrd\t\t/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - Live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'` (failsafe mode)\nkernel /`basename ${DESTDIR}`/`basename ${KERNEL}` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}\ninitrd\t\t/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}` boot=${INITFS} LIVE_BOOTAPPEND\ninitrd\t\t/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
LINUX="${LINUX}\n\ntitle\t\tDebian GNU/Linux - live, kernel `basename ${KERNEL} | sed -e 's/vmlinuz-//'` (fail-safe mode)\nkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}\ninitrd\t\t/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
|
||||
|
||||
# Assembling memtest configuration
|
||||
if [ -f "${DESTDIR}"/memtest ]
|
||||
# Assembling debian-installer configuration
|
||||
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
|
||||
then
|
||||
MEMTEST="title\t\t${LIVE_MEMTEST}\nkernel\t\t/`basename ${DESTDIR}`/memtest"
|
||||
LINUX="title\t\tLive:\nroot\n\n${LINUX}"
|
||||
|
||||
LIVE_KERNEL_INSTALL="title\t\tInstaller:\nroot"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - install\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz vga=normal -- \ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - installgui\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz video=vesa:ywrap,mtrr vga=788 -- \ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - expert\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz priority=low vga=normal -- \ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - expertgui\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz priority=low video=vesa:ywrap,mtrr vga=788\ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - rescue\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz vga=normal rescue/enable=true -- \ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - rescuegui\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz video=vesa:ywrap,mtrr vga=788 rescue/enable=true --\ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - auto\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz auto=true priority=critical vga=normal -- \ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/initrd.gz"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\ntitle\t\tDebian GNU/Linux - autogui\nkernel\t\t/`basename ${DESTDIR_INSTALL}`/vmlinuz auto=true priority=critical video=vesa:ywrap,mtrr vga=788 -- \ninitrd\t\t/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz"
|
||||
fi
|
||||
|
||||
# Assembling memtest configuration
|
||||
if [ -f "${DESTDIR_LIVE}"/memtest ]
|
||||
then
|
||||
MEMTEST="title\t\t${LIVE_MEMTEST}\nkernel\t\t/`basename ${DESTDIR_LIVE}`/memtest"
|
||||
MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`"
|
||||
fi
|
||||
|
||||
|
@ -166,7 +201,7 @@ case ${LIVE_BINARY_IMAGE} in
|
|||
cp chroot/usr/lib/grub/*/stage2_eltorito binary/boot/grub
|
||||
;;
|
||||
|
||||
usb|hdd)
|
||||
usb-hdd|hdd)
|
||||
cp chroot/usr/lib/grub/*/stage1 chroot/usr/lib/grub/*/stage2 binary/boot/grub
|
||||
;;
|
||||
esac
|
||||
|
@ -185,7 +220,7 @@ then
|
|||
rm -f binary/boot/grub/splash.xpm.gz
|
||||
|
||||
# Removing splash entry
|
||||
sed -e "s/splashimage.*//" binary/boot/grub/menu.lst
|
||||
sed -i -e "s/splashimage.*//" binary/boot/grub/menu.lst
|
||||
else
|
||||
# Overwriting splash file
|
||||
cp -f "${LIVE_GRUB_SPLASH}" binary/boot/grub/splash.xpm.gz
|
||||
|
@ -194,8 +229,7 @@ fi
|
|||
|
||||
# Configure grub templates
|
||||
cat >> binary/boot/grub/menu.lst << EOF
|
||||
# This is a divider, added to separate the menu items below from the Debian
|
||||
# ones.
|
||||
|
||||
title Other:
|
||||
root
|
||||
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ "${LIVE_INCLUDES}" = "none" ]
|
||||
|
@ -79,17 +80,23 @@ esac
|
|||
|
||||
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
|
||||
then
|
||||
# Working arround vfat limitations
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "usb-hdd" ]
|
||||
then
|
||||
CP_OPTIONS="--preserve=link,mode,timestamps"
|
||||
fi
|
||||
|
||||
# Copying d-i templates
|
||||
if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install ] && \
|
||||
ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* &> /dev/null
|
||||
then
|
||||
cp -r "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* binary
|
||||
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* binary
|
||||
fi
|
||||
|
||||
if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}" ] && \
|
||||
ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* &> /dev/null
|
||||
then
|
||||
cp -r "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* binary
|
||||
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* binary
|
||||
fi
|
||||
|
||||
# Adjusting d-i templates
|
||||
|
@ -105,8 +112,8 @@ then
|
|||
DEBIAN_TOOLS_TXT="/tools/"
|
||||
fi
|
||||
|
||||
sed -i -e "s/DEBIAN_NAME/${DEBIAN_NAME}/g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s/DEBIAN_TOOLS/${DEBIAN_TOOLS_HTML}/g" binary/README.html
|
||||
sed -i -e "s/DEBIAN_NAME/${DEBIAN_NAME}/g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s/DEBIAN_TOOLS/${DEBIAN_TOOLS_TXT}/g" binary/README.txt
|
||||
sed -i -e "s/DEBIAN_NAME/${DEBIAN_NAME}/g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s#DEBIAN_TOOLS#${DEBIAN_TOOLS_HTML}#g" binary/README.html
|
||||
sed -i -e "s/DEBIAN_NAME/${DEBIAN_NAME}/g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s#DEBIAN_TOOLS#${DEBIAN_TOOLS_TXT}#g" binary/README.txt
|
||||
fi
|
||||
|
||||
# Creating stage file
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
for IMAGE in ${LIVE_BINARY_IMAGE}
|
||||
|
@ -63,7 +64,7 @@ do
|
|||
|
||||
if [ "${LH_VERBOSE}" = "enabled" ]
|
||||
then
|
||||
GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -i"
|
||||
GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -v"
|
||||
fi
|
||||
|
||||
# Moving image
|
||||
|
@ -74,19 +75,19 @@ do
|
|||
then
|
||||
case "${LIVE_BOOTLOADER}" in
|
||||
grub)
|
||||
Chroot "${LH_GENISOIMAGE} ${GENISOIMAGE_OPTIONS} -o binary.iso -r -J -l -b boot/grub/stage2_eltorito -m boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table binary"
|
||||
Chroot "${LH_GENISOIMAGE} ${GENISOIMAGE_OPTIONS} -o binary.iso -r -J -l -cache-inodes -b boot/grub/stage2_eltorito -m boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table binary"
|
||||
;;
|
||||
|
||||
syslinux)
|
||||
#Chroot "${LH_GENISOIMAGE} -A \"Debian Live\" -p \"Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org\" -publisher \"Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org\" -o binary.iso -r -J -l -V \"${LIVE_ISO_VOLUME}\" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table binary"
|
||||
Chroot "${LH_GENISOIMAGE} ${GENISOIMAGE_OPTIONS} -o binary.iso -r -J -l -b isolinux/isolinux.bin -m isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table binary"
|
||||
#Chroot "${LH_GENISOIMAGE} -A \"Debian Live\" -p \"Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org\" -publisher \"Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org\" -o binary.iso -r -J -l -V \"${LIVE_ISO_VOLUME}\" -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table binary"
|
||||
Chroot "${LH_GENISOIMAGE} ${GENISOIMAGE_OPTIONS} -o binary.iso -r -J -l -cache-inodes -b isolinux/isolinux.bin -m isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table binary"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
Echo_warning "Bootloader on your architecture not yet supported (Continuing in 5 seconds)."
|
||||
sleep 5
|
||||
#Chroot "${LH_GENISOIMAGE} -A 'Debian Live' -p 'Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org' -publisher 'Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org' -o binary.iso -r -J -l -V \"${LIVE_ISO_VOLUME}\" binary"
|
||||
Chroot "${LH_GENISOIMAGE} ${GENISOIMAGE} -o binary.iso -r -J -l binary"
|
||||
Chroot "${LH_GENISOIMAGE} ${GENISOIMAGE} -o binary.iso -r -J -l binary -cache-inodes"
|
||||
fi
|
||||
|
||||
# Move image
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_linuximage: Init"
|
||||
|
@ -58,7 +59,7 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
DESTDIR="tftpboot"
|
||||
;;
|
||||
|
||||
usb|hdd)
|
||||
usb-hdd|hdd)
|
||||
DESTDIR="binary"
|
||||
;;
|
||||
esac
|
||||
|
@ -70,9 +71,17 @@ then
|
|||
if [ -n "${MULTIARCH}" ]
|
||||
then
|
||||
case "${LIVE_ARCHITECTURE}" in
|
||||
amd64)
|
||||
DESTDIR="${DESTDIR}.amd"
|
||||
;;
|
||||
|
||||
i386)
|
||||
DESTDIR="${DESTDIR}.386"
|
||||
;;
|
||||
|
||||
powerpc)
|
||||
DESTDIR="${DESTDIR}.ppc"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_localincludes: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_manifest: Init"
|
||||
|
@ -45,8 +46,18 @@ Check_lockfile .lock
|
|||
# Creating lock file
|
||||
Create_lockfile .lock
|
||||
|
||||
case "${LH_INITRAMFS}" in
|
||||
casper)
|
||||
INITFS="casper"
|
||||
;;
|
||||
|
||||
live-initramfs)
|
||||
INITFS="live"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Add filesystem.manifest
|
||||
Chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > binary/casper/filesystem.manifest
|
||||
Chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > binary/${INITFS}/filesystem.manifest
|
||||
|
||||
# Add packages.list
|
||||
Chroot "dpkg -l" > packages.txt
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_md5sum: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ "${LIVE_MEMTEST}" = "disabled" ]
|
||||
|
@ -80,7 +81,7 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
DESTDIR="tftpboot"
|
||||
;;
|
||||
|
||||
usb|hdd)
|
||||
usb-hdd|hdd)
|
||||
DESTDIR="binary"
|
||||
;;
|
||||
esac
|
||||
|
@ -92,6 +93,10 @@ then
|
|||
if [ -n "${MULTIARCH}" ]
|
||||
then
|
||||
case "${LIVE_ARCHITECTURE}" in
|
||||
amd64)
|
||||
DESTDIR="${DESTDIR}.amd"
|
||||
;;
|
||||
|
||||
i386)
|
||||
DESTDIR="${DESTDIR}.386"
|
||||
;;
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_net: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_rootfs: Init"
|
||||
|
@ -46,10 +47,20 @@ Check_lockfile .lock
|
|||
# Creating lock file
|
||||
Create_lockfile .lock
|
||||
|
||||
case "${LH_INITRAMFS}" in
|
||||
casper)
|
||||
INITFS="casper"
|
||||
;;
|
||||
|
||||
live-initramfs)
|
||||
INITFS="live"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Creating directory
|
||||
if [ ! -d binary/casper ]
|
||||
if [ ! -d binary/${INITFS} ]
|
||||
then
|
||||
mkdir -p binary/casper
|
||||
mkdir -p binary/${INITFS}
|
||||
fi
|
||||
|
||||
case "${LIVE_FILESYSTEM}" in
|
||||
|
@ -61,9 +72,9 @@ case "${LIVE_FILESYSTEM}" in
|
|||
Install_package
|
||||
|
||||
# Remove old ext2 image
|
||||
if [ -f binary/casper/filesystem.ext2 ]
|
||||
if [ -f binary/${INITFS}/filesystem.ext2 ]
|
||||
then
|
||||
rm -f binary/casper/filesystem.ext2
|
||||
rm -f binary/${INITFS}/filesystem.ext2
|
||||
fi
|
||||
|
||||
DU_DIM="`du -ks chroot | cut -f1`"
|
||||
|
@ -72,7 +83,7 @@ case "${LIVE_FILESYSTEM}" in
|
|||
Chroot "genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root=chroot filesystem.ext2"
|
||||
|
||||
# Move image
|
||||
mv chroot/filesystem.ext2 binary/casper
|
||||
mv chroot/filesystem.ext2 binary/${INITFS}
|
||||
rm -rf chroot/chroot
|
||||
|
||||
# Removing depends
|
||||
|
@ -80,12 +91,12 @@ case "${LIVE_FILESYSTEM}" in
|
|||
;;
|
||||
|
||||
plain)
|
||||
if [ -d binary/casper/filesystem.dir ]
|
||||
if [ -d binary/${INITFS}/filesystem.dir ]
|
||||
then
|
||||
rm -rf binary/casper/filesystem.dir
|
||||
rm -rf binary/${INITFS}/filesystem.dir
|
||||
fi
|
||||
|
||||
mv chroot/chroot binary/casper/filesystem.dir
|
||||
mv chroot/chroot binary/${INITFS}/filesystem.dir
|
||||
;;
|
||||
|
||||
squashfs)
|
||||
|
@ -96,12 +107,12 @@ case "${LIVE_FILESYSTEM}" in
|
|||
Install_package
|
||||
|
||||
# Remove old squashfs image
|
||||
if [ -f binary/casper/filesystem.squashfs ]
|
||||
if [ -f binary/${INITFS}/filesystem.squashfs ]
|
||||
then
|
||||
rm -f binary/casper/filesystem.squashfs
|
||||
rm -f binary/${INITFS}/filesystem.squashfs
|
||||
fi
|
||||
|
||||
if [ "${LH_QUIET}" = "enabled" ]
|
||||
if [ "${LH_QUIET}" = "enabled" ] && [ "${LIVE_DISTRIBUTION}" != "etch" ] && [ "${LIVE_DISTRIBUTION}" != "testing" ]
|
||||
then
|
||||
MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -no-progress"
|
||||
fi
|
||||
|
@ -120,12 +131,12 @@ case "${LIVE_FILESYSTEM}" in
|
|||
fi
|
||||
|
||||
# Move image
|
||||
${LH_ROOT_COMMAND} mv chroot/filesystem.squashfs binary/casper
|
||||
${LH_ROOT_COMMAND} mv chroot/filesystem.squashfs binary/${INITFS}
|
||||
${LH_ROOT_COMMAND} rm -rf chroot/chroot
|
||||
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` binary/casper
|
||||
${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` binary/${INITFS}
|
||||
fi
|
||||
|
||||
# Removing depends
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ "${LIVE_BOOTLOADER}" != "syslinux" ]
|
||||
|
@ -74,18 +75,31 @@ Check_package chroot/usr/bin/syslinux syslinux
|
|||
# Installing depends
|
||||
Install_package
|
||||
|
||||
case "${LH_INITRAMFS}" in
|
||||
casper)
|
||||
INITFS="casper"
|
||||
;;
|
||||
|
||||
live-initramfs)
|
||||
INITFS="live"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Setting destination directory
|
||||
case "${LIVE_BINARY_IMAGE}" in
|
||||
iso)
|
||||
DESTDIR="binary/live"
|
||||
DESTDIR_LIVE="binary/live"
|
||||
DESTDIR_INSTALL="binary/install"
|
||||
;;
|
||||
|
||||
net)
|
||||
DESTDIR="tftpboot"
|
||||
DESTDIR_LIVE="tftpboot"
|
||||
DESTDIR_INSTALL="tftpboot"
|
||||
;;
|
||||
|
||||
usb|hdd)
|
||||
DESTDIR="binary"
|
||||
usb-hdd|hdd)
|
||||
DESTDIR_LIVE="binary"
|
||||
DESTDIR_INSTALL="binary"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -96,17 +110,23 @@ then
|
|||
if [ -n "${MULTIARCH}" ]
|
||||
then
|
||||
case "${LIVE_ARCHITECTURE}" in
|
||||
amd64)
|
||||
DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
|
||||
DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
|
||||
;;
|
||||
|
||||
i386)
|
||||
DESTDIR="${DESTDIR}.386"
|
||||
DESTDIR_LIVE="${DESTDIR_LIVE}.386"
|
||||
DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
# Creating directory
|
||||
if [ ! -d "${DESTDIR}" ]
|
||||
if [ ! -d "${DESTDIR_LIVE}" ]
|
||||
then
|
||||
mkdir -p "${DESTDIR}"
|
||||
mkdir -p "${DESTDIR_LIVE}"
|
||||
fi
|
||||
|
||||
# Setting boot parameters
|
||||
|
@ -134,12 +154,12 @@ FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
|
|||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
DEFAULT_FLAVOUR="`echo ${LIVE_KERNEL_FLAVOUR} | awk '{ print $1 }'`"
|
||||
LINUX="label live\n kernel /`basename ${DESTDIR}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nlabel live-failsafe\n kernel /`basename ${DESTDIR}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
LINUX="LABEL live\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nLABEL live-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
else
|
||||
DEFAULT_FLAVOUR="`echo ${LIVE_KERNEL_FLAVOUR} | awk '{ print $1 }'`"
|
||||
LINUX="label live\n kernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n append initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nlabel live-failsafe\n kernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n append initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
LINUX="LABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
fi
|
||||
|
||||
if [ "`echo ${LIVE_KERNEL_FLAVOUR} | wc -w`" -gt "1" ]
|
||||
|
@ -150,20 +170,20 @@ then
|
|||
then
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
LINUX="label live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nlabel live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
LINUX="LABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
else
|
||||
LINUX="label live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper live_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nlabel live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
LINUX="LABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} live_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
fi
|
||||
else
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
LINUX="${LINUX}\n\nlabel live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nlabel live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
LINUX="${LINUX}\n\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
else
|
||||
LINUX="${LINUX}\n\nlabel live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nlabel live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
LINUX="${LINUX}\n\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\n\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
@ -172,15 +192,29 @@ fi
|
|||
# Removing '//'
|
||||
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
|
||||
|
||||
# Assembling debian-installer configuration
|
||||
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
|
||||
then
|
||||
LIVE_KERNEL_INSTALL="LABEL install\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/initrd.gz -- "
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL linux\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/initrd.gz -- \n\n"
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL installgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz -- "
|
||||
LIVE_KENREL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL expert\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend priority=low vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/initrd.gz -- "
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL expertgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz -- "
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL rescue\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/initrd.gz rescue/enable=true -- "
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL rescuegui\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz rescue/enable=true -- "
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL auto\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend auto=true priority=critical vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/initrd.gz -- "
|
||||
LIVE_KERNEL_INSTALL="${LIVE_KERNEL_INSTALL}\n\nLABEL autogui\n\tkernel /`basename ${DESTDIR_INSTALL}`/vmlinuz\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/gtk/initrd.gz -- "
|
||||
fi
|
||||
|
||||
# Assembling memtest configuration
|
||||
if [ -f "${DESTDIR}"/memtest ]
|
||||
if [ -f "${DESTDIR_LIVE}"/memtest ]
|
||||
then
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
MEMTEST="label memtest\n kernel /`basename ${DESTDIR}`/memtest"
|
||||
MEMTEST="LABEL memtest\n\tkernel /`basename ${DESTDIR_LIVE}`/memtest"
|
||||
MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`"
|
||||
else
|
||||
MEMTEST="label memtest\n kernel memtest"
|
||||
MEMTEST="LABEL memtest\n\tkernel memtest"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -202,7 +236,7 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
if [ "${LIVE_SYSLINUX_SPLASH}" = "none" ]
|
||||
then
|
||||
rm -f binary/isolinux/splash.rle
|
||||
sed -e "s/.*splash.*//" binary/isolinux/isolinux.txt
|
||||
sed -e "s/.*splash.*//" binary/isolinux/boot.txt
|
||||
else
|
||||
cp -f "${LIVE_SYSLINUX_SPLASH}" binary/isolinux/splash.rle
|
||||
fi
|
||||
|
@ -224,13 +258,13 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
do
|
||||
NUMBER=$(($NUMBER + 1))
|
||||
|
||||
mv "${DESTDIR}"/vmlinuz-*-${FLAVOUR} "${DESTDIR}"/vmlinuz${NUMBER}
|
||||
mv "${DESTDIR}"/initrd.img-*-${FLAVOUR} "${DESTDIR}"/initrd${NUMBER}.img
|
||||
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
|
||||
mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img
|
||||
sed -i -e "s/vmlinuz-.*-${FLAVOUR}/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR}/initrd${NUMBER}.img/g" binary/isolinux/isolinux.cfg
|
||||
done
|
||||
else
|
||||
mv "${DESTDIR}"/vmlinuz-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR}"/vmlinuz
|
||||
mv "${DESTDIR}"/initrd.img-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR}"/initrd.img
|
||||
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz
|
||||
mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR_LIVE}"/initrd.img
|
||||
sed -i -e "s/vmlinuz-.*-${LIVE_KERNEL_FLAVOUR}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_KERNEL_FLAVOUR}/initrd.img/g" binary/isolinux/isolinux.cfg
|
||||
fi
|
||||
;;
|
||||
|
@ -243,7 +277,7 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
mkdir -p tftpboot/pxelinux.cfg
|
||||
cp -r "${LIVE_TEMPLATES}"/syslinux/* tftpboot/pxelinux.cfg
|
||||
mv tftpboot/pxelinux.cfg/pxelinux.cfg tftpboot/pxelinux.cfg/default
|
||||
sed -i -e 's#splash.rle#pxelinux.cfg/splash.rle#' tftpboot/pxelinux.cfg/isolinux.txt
|
||||
sed -i -e 's#splash.rle#pxelinux.cfg/splash.rle#' tftpboot/pxelinux.cfg/boot.txt
|
||||
|
||||
# Copying splash screen
|
||||
if [ -f config/binary_syslinux/splash.rle ]
|
||||
|
@ -256,7 +290,7 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
if [ "${LIVE_SYSLINUX_SPLASH}" = "none" ]
|
||||
then
|
||||
rm -f tftpboot/pxelinux.cfg/splash.rle
|
||||
sed -e "s/.*splash.*//" tftpboot/pxelinux.cfg/isolinux.txt
|
||||
sed -e "s/.*splash.*//" tftpboot/pxelinux.cfg/boot.txt
|
||||
else
|
||||
cp -f "${LIVE_SYSLINUX_SPLASH}" tftpboot/pxelinux.cfg/splash.rle
|
||||
fi
|
||||
|
@ -278,25 +312,23 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
do
|
||||
NUMBER=$(($NUMBER + 1))
|
||||
|
||||
mv "${DESTDIR}"/vmlinuz-*-${FLAVOUR} "${DESTDIR}"/vmlinuz${NUMBER}
|
||||
mv "${DESTDIR}"/initrd.img-*-${FLAVOUR} "${DESTDIR}"/initrd${NUMBER}.img
|
||||
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
|
||||
mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img
|
||||
sed -i -e "s/vmlinuz-.*-${FLAVOUR}/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR}/initrd${NUMBER}.img/g" binary/isolinux/isolinux.cfg
|
||||
done
|
||||
else
|
||||
mv "${DESTDIR}"/vmlinuz-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR}"/vmlinuz
|
||||
mv "${DESTDIR}"/initrd.img-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR}"/initrd.img
|
||||
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz
|
||||
mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR_LIVE}"/initrd.img
|
||||
sed -i -e "s/vmlinuz-.*-${LIVE_KERNEL_FLAVOUR}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_KERNEL_FLAVOUR}/initrd.img/g" binary/isolinux/isolinux.cfg
|
||||
fi
|
||||
;;
|
||||
|
||||
usb|hdd)
|
||||
usb-hdd|hdd)
|
||||
# Copying syslinux
|
||||
mkdir -p binary
|
||||
cp chroot/usr/lib/syslinux/isolinux.bin binary/syslinux.bin
|
||||
cp -r "${LIVE_TEMPLATES}"/syslinux/* binary
|
||||
mv binary/isolinux.cfg binary/syslinux.cfg
|
||||
mv binary/isolinux.txt binary/syslinux.txt
|
||||
sed -i -e "s/isolinux.txt/syslinux.txt/" binary/syslinux.cfg
|
||||
|
||||
# Copying splash screen
|
||||
if [ -f config/binary_syslinux/splash.rle ]
|
||||
|
@ -331,13 +363,13 @@ case "${LIVE_BINARY_IMAGE}" in
|
|||
do
|
||||
NUMBER=$(($NUMBER + 1))
|
||||
|
||||
mv "${DESTDIR}"/vmlinuz-*-${FLAVOUR} "${DESTDIR}"/vmlinuz${NUMBER}
|
||||
mv "${DESTDIR}"/initrd.img-*-${FLAVOUR} "${DESTDIR}"/initrd${NUMBER}.img
|
||||
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
|
||||
mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img
|
||||
sed -i -e "s/vmlinuz-.*-${FLAVOUR}/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR}/initrd${NUMBER}.img/g" binary/syslinux.cfg
|
||||
done
|
||||
else
|
||||
mv "${DESTDIR}"/vmlinuz-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR}"/vmlinuz
|
||||
mv "${DESTDIR}"/initrd.img-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR}"/initrd.img
|
||||
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz
|
||||
mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_KERNEL_FLAVOUR} "${DESTDIR_LIVE}"/initrd.img
|
||||
sed -i -e "s/vmlinuz-.*-${LIVE_KERNEL_FLAVOUR}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_KERNEL_FLAVOUR}/initrd.img/g" binary/syslinux.cfg
|
||||
fi
|
||||
;;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# lh_binary_usb(1) - build binary image
|
||||
# lh_binary_usb-hdd(1) - build binary image
|
||||
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
|
||||
#
|
||||
# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
||||
|
@ -25,24 +25,25 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "binary_usb: Init"
|
||||
Breakpoint "binary_usb-hdd: Init"
|
||||
|
||||
for IMAGE in ${LIVE_BINARY_IMAGE}
|
||||
do
|
||||
if [ "${IMAGE}" = "usb" ]
|
||||
if [ "${IMAGE}" = "usb-hdd" ]
|
||||
then
|
||||
# Requiring stage file
|
||||
Require_stagefile .stage/bootstrap
|
||||
Require_stagefile .stage/chroot_proc
|
||||
|
||||
# Checking stage file
|
||||
Check_stagefile .stage/binary_usb
|
||||
Check_stagefile .stage/binary_usb-hdd
|
||||
|
||||
# Checking lock file
|
||||
Check_lockfile .lock
|
||||
|
@ -116,7 +117,7 @@ do
|
|||
|
||||
FREELO="`${LH_LOSETUP} -f`"
|
||||
lh_losetup $FREELO binary.img 1
|
||||
Chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
|
||||
Chroot " mkfs.vfat -F 16 -n DEBIAN_LIVE ${FREELO}"
|
||||
mkdir -p binary.tmp
|
||||
${LH_ROOT_COMMAND} mount ${FREELO} binary.tmp
|
||||
cp -r binary/* binary.tmp
|
||||
|
@ -152,6 +153,6 @@ do
|
|||
Remove_package
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/binary_usb
|
||||
Create_stagefile .stage/binary_usb-hdd
|
||||
fi
|
||||
done
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
if [ "${LIVE_BOOTLOADER}" != "yaboot" ]
|
||||
|
@ -74,13 +75,23 @@ Check_package chroot/usr/lib/yaboot/yaboot yaboot
|
|||
# Installing depends
|
||||
Install_package
|
||||
|
||||
case "${LH_INITRAMFS}" in
|
||||
casper)
|
||||
INITFS="casper"
|
||||
;;
|
||||
|
||||
live-initramfs)
|
||||
INITFS="live"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Setting destination directory
|
||||
case "${LIVE_BINARY_IMAGE}" in
|
||||
iso)
|
||||
DESTDIR="binary/live"
|
||||
;;
|
||||
|
||||
net|usb|hdd)
|
||||
net|usb-hdd|hdd)
|
||||
Echo_error "not supported, FIXME"
|
||||
;;
|
||||
esac
|
||||
|
@ -123,10 +134,10 @@ LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
|
|||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
DEFAULT_FLAVOUR="`echo ${LIVE_KERNEL_FLAVOUR} | awk '{ print $1 }'`"
|
||||
LINUX="image=/`basename ${DESTDIR}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tinitrd=/`basename ${DESTDIR}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`\n\tlabel=LIVE\n\tappend=\"boot=casper LIVE_BOOTAPPEND\"\n\tinitrd-size=1048576\n\tread-only"
|
||||
LINUX="image=/`basename ${DESTDIR}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tinitrd=/`basename ${DESTDIR}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`\n\tlabel=LIVE\n\tappend=\"boot=${INITFS} LIVE_BOOTAPPEND\"\n\tinitrd-size=1048576\n\tread-only"
|
||||
else
|
||||
DEFAULT_FLAVOUR="`echo ${LIVE_KERNEL_FLAVOUR} | awk '{ print $1 }'`"
|
||||
LINUX="image=`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tinitrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`\n\tlabel=LIVE\n\tappend=\"boot=casper LIVE_BOOTAPPEND\"\n\tinitrd-size=1048576\n\tread-only"
|
||||
LINUX="image=`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tinitrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'`\n\tlabel=LIVE\n\tappend=\"boot=${INITFS} LIVE_BOOTAPPEND\"\n\tinitrd-size=1048576\n\tread-only"
|
||||
fi
|
||||
|
||||
# FIXME
|
||||
|
@ -138,16 +149,16 @@ then
|
|||
then
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
LINUX="label LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="label LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
else
|
||||
LINUX="label LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="label LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
fi
|
||||
else
|
||||
if [ "${LIVE_BINARY_IMAGE}" = "iso" ]
|
||||
then
|
||||
LINUX="${LINUX}\nlabel LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\nlabel LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel /`basename ${DESTDIR}`/`basename ${KERNEL}`\n append initrd=/`basename ${DESTDIR}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
else
|
||||
LINUX="${LINUX}\nlabel LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=casper LIVE_BOOTAPPEND"
|
||||
LINUX="${LINUX}\nlabel LIVE-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n kernel `basename ${KERNEL}`\n append initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
|
|
@ -30,10 +30,11 @@ Echo_debug "Init ${PROGRAM}"
|
|||
Breakpoint "bootstrap: Init"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
# Bootstrapping system
|
||||
|
|
|
@ -28,10 +28,11 @@ lh_testroot
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "bootstrap_cdeboostrap: Init"
|
||||
|
@ -91,12 +92,12 @@ fi
|
|||
|
||||
if [ -x "/usr/bin/cdebootstrap" ]
|
||||
then
|
||||
if [ "${LH_CACHE}" = "enabled" ]
|
||||
then
|
||||
# Restore old cache
|
||||
if [ -d cache/chroot_bootstrap ]
|
||||
for STAGE in ${LH_CACHE_STAGES}
|
||||
do
|
||||
if [ "${STAGE}" = "bootstrap" ] && [ -d cache/stages_bootstrap ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} cp -a cache/chroot_bootstrap/* chroot
|
||||
# Restore old cache
|
||||
${LH_ROOT_COMMAND} cp -a cache/stages_bootstrap/* chroot
|
||||
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
|
@ -108,11 +109,14 @@ then
|
|||
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d cache/bootstrap ]
|
||||
if [ "${LH_CACHE_PACKAGES}" = "enabled" ]
|
||||
then
|
||||
if [ -d cache/packages_bootstrap ]
|
||||
then
|
||||
mkdir -p chroot/var/cache/bootstrap
|
||||
cp cache/bootstrap/*.deb chroot/var/cache/bootstrap
|
||||
cp cache/packages_bootstrap/*.deb chroot/var/cache/bootstrap
|
||||
fi
|
||||
|
||||
# Executing cdebootstrap (download-only)
|
||||
|
@ -124,18 +128,18 @@ then
|
|||
fi
|
||||
|
||||
# Removing old cache
|
||||
if [ -d cache/bootstrap ]
|
||||
if [ -d cache/packages_bootstrap ]
|
||||
then
|
||||
rm -f cache/bootstrap/*.deb
|
||||
rm -f cache/packages_bootstrap/*.deb
|
||||
fi
|
||||
|
||||
# Saving new cache
|
||||
if [ ! -d cache/bootstrap ]
|
||||
if [ ! -d cache/packages_bootstrap ]
|
||||
then
|
||||
mkdir -p cache/bootstrap
|
||||
mkdir -p cache/packages_bootstrap
|
||||
fi
|
||||
|
||||
cp chroot/var/cache/bootstrap/*.deb cache/bootstrap
|
||||
cp chroot/var/cache/bootstrap/*.deb cache/packages_bootstrap
|
||||
fi
|
||||
|
||||
# Executing cdebootstrap (regular run)
|
||||
|
@ -158,26 +162,26 @@ then
|
|||
rm -f chroot/etc/resolv.conf
|
||||
|
||||
# Removing bootstrap cache
|
||||
if [ -d chroot/var/cache/bootstrap ]
|
||||
then
|
||||
rm -rf chroot/var/cache/bootstrap
|
||||
fi
|
||||
rm -rf chroot/var/cache/bootstrap
|
||||
|
||||
# Saving new cache
|
||||
if [ "${LH_CACHE}" = "enabled" ]
|
||||
then
|
||||
if [ -d cache/chroot_bootstrap ]
|
||||
for STAGE in ${LH_CACHE_STAGES}
|
||||
do
|
||||
if [ "${STAGE}" = "bootstrap" ]
|
||||
then
|
||||
rm -rf cache/chroot_bootstrap
|
||||
fi
|
||||
if [ -d cache/stages_bootstrap ]
|
||||
then
|
||||
rm -rf cache/stages_bootstrap
|
||||
fi
|
||||
|
||||
${LH_ROOT_COMMAND} cp -a chroot cache/chroot_bootstrap
|
||||
${LH_ROOT_COMMAND} cp -a chroot cache/stages_bootstrap
|
||||
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` cache/chroot_bootstrap
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` cache/stages_bootstrap
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/bootstrap
|
||||
|
|
|
@ -28,10 +28,11 @@ lh_testroot
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "bootstrap_debootstrap: Init"
|
||||
|
@ -74,12 +75,12 @@ fi
|
|||
|
||||
if [ -x "/usr/sbin/debootstrap" ]
|
||||
then
|
||||
if [ "${LH_CACHE}" = "enabled" ]
|
||||
then
|
||||
# Restore old cache
|
||||
if [ -d cache/chroot_bootstrap ]
|
||||
for STAGE in ${LH_CACHE_STAGES}
|
||||
do
|
||||
if [ "${STAGE}" = "bootstrap" ] && [ -d cache/stages_bootstrap ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} cp -a cache/chroot_bootstrap/* chroot
|
||||
# Restore old cache
|
||||
${LH_ROOT_COMMAND} cp -a cache/stages_bootstrap/* chroot
|
||||
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
|
@ -91,11 +92,14 @@ then
|
|||
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d cache/bootstrap ]
|
||||
if [ "${LH_CACHE_PACKAGES}" = "enabled" ]
|
||||
then
|
||||
if [ -d cache/packages_bootstrap ]
|
||||
then
|
||||
mkdir -p chroot/var/cache/apt/archives
|
||||
cp cache/bootstrap/*.deb chroot/var/cache/apt/archives
|
||||
cp cache/packages_bootstrap/*.deb chroot/var/cache/apt/archives
|
||||
fi
|
||||
|
||||
# Executing debootstrap (download-only)
|
||||
|
@ -107,18 +111,18 @@ then
|
|||
fi
|
||||
|
||||
# Removing old cache
|
||||
if [ -d cache/bootstrap ]
|
||||
if [ -d cache/packages_bootstrap ]
|
||||
then
|
||||
rm -f cache/bootstrap/*.deb
|
||||
rm -f cache/packages_bootstrap/*.deb
|
||||
fi
|
||||
|
||||
# Saving new cache
|
||||
if [ ! -d cache/bootstrap ]
|
||||
if [ ! -d cache/packages_bootstrap ]
|
||||
then
|
||||
mkdir -p cache/bootstrap
|
||||
mkdir -p cache/packages_bootstrap
|
||||
fi
|
||||
|
||||
cp chroot/var/cache/apt/archives/*.deb cache/bootstrap
|
||||
cp chroot/var/cache/apt/archives/*.deb cache/packages_bootstrap
|
||||
fi
|
||||
|
||||
# Executing debootstrap (regular run)
|
||||
|
@ -130,23 +134,26 @@ then
|
|||
fi
|
||||
|
||||
# Removing bootstrap cache
|
||||
rm -rf chroot/var/cache/apt/archives/*.deb
|
||||
rm -f chroot/var/cache/apt/archives/*.deb
|
||||
|
||||
# Saving new cache
|
||||
if [ "${LH_CACHE}" = "enabled" ]
|
||||
then
|
||||
if [ -d cache/chroot_bootstrap ]
|
||||
for STAGE in ${LH_CACHE_STAGES}
|
||||
do
|
||||
if [ "${STAGE}" = "bootstrap" ]
|
||||
then
|
||||
rm -rf cache/chroot_bootstrap
|
||||
fi
|
||||
if [ -d cache/stages_bootstrap ]
|
||||
then
|
||||
rm -rf cache/stages_bootstrap
|
||||
fi
|
||||
|
||||
${LH_ROOT_COMMAND} cp -a chroot cache/chroot_bootstrap
|
||||
${LH_ROOT_COMMAND} cp -a chroot cache/stages_bootstrap
|
||||
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` cache/chroot_bootstrap
|
||||
if [ -n "${LH_ROOT_COMMAND}" ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` cache/stages_bootstrap
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/bootstrap
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_apt: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_debianchroot: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_hacks: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_hooks: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_hosts: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_interactive: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_linuximage: Init"
|
||||
|
@ -71,9 +72,9 @@ EOF
|
|||
done
|
||||
fi
|
||||
|
||||
PACKAGES="${PACKAGES} casper"
|
||||
PACKAGES="${PACKAGES} ${LH_INITRAMFS}"
|
||||
|
||||
# Installing linux-image, modules and casper
|
||||
# Installing linux-image, modules and ${LH_INITRAMFS}
|
||||
case "${LH_APT}" in
|
||||
apt|apt-get)
|
||||
Chroot "apt-get install --yes ${PACKAGES}"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_localhooks: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_localincludes: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_localization: Init"
|
||||
|
@ -661,13 +662,13 @@ then
|
|||
done
|
||||
|
||||
# Restoring cache
|
||||
Restore_cache cache/chroot_localization
|
||||
Restore_cache cache/packages_localization
|
||||
|
||||
# Installing packages
|
||||
Install_package
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/chroot_localization
|
||||
Save_cache cache/packages_localization
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/chroot_localization
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_localpackages: Init"
|
||||
|
@ -48,7 +49,7 @@ Create_lockfile .lock
|
|||
if ls config/chroot_localpackages/*.deb &> /dev/null
|
||||
then
|
||||
# Restoring cache
|
||||
Restore_cache cache/chroot_localpackages
|
||||
Restore_cache cache/packages_localpackages
|
||||
|
||||
# Copying packages
|
||||
cp config/chroot_localpackages/*.deb chroot/root
|
||||
|
@ -73,7 +74,7 @@ then
|
|||
rm -f chroot/root/localpackages
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/chroot_localpackages
|
||||
Save_cache cache/packages_localpackages
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/chroot_localpackages
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_localpackageslists: Init"
|
||||
|
@ -48,7 +49,7 @@ Create_lockfile .lock
|
|||
if ls config/chroot_localpackageslists/* &> /dev/null
|
||||
then
|
||||
# Restoring cache
|
||||
Restore_cache cache/chroot_localpackageslists
|
||||
Restore_cache cache/packages_localpackageslists
|
||||
|
||||
for PACKAGESLIST in config/chroot_localpackageslists/*
|
||||
do
|
||||
|
@ -71,7 +72,7 @@ then
|
|||
done
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/chroot_localpackageslists
|
||||
Save_cache cache/packages_localpackageslists
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/chroot_localpackageslists
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_packages: Init"
|
||||
|
@ -48,7 +49,7 @@ Create_lockfile .lock
|
|||
if [ -n "${LIVE_PACKAGES}" ]
|
||||
then
|
||||
# Restoring cache
|
||||
Restore_cache cache/chroot_packages
|
||||
Restore_cache cache/packages_packages
|
||||
|
||||
# Installing packages
|
||||
case "${LH_APT}" in
|
||||
|
@ -62,7 +63,7 @@ then
|
|||
esac
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/chroot_packages
|
||||
Save_cache cache/packages_packages
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/chroot_packages
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_packageslists: Init"
|
||||
|
@ -48,7 +49,7 @@ Create_lockfile .lock
|
|||
if [ -n "${LIVE_PACKAGES_LISTS}" ]
|
||||
then
|
||||
# Restoring cache
|
||||
Restore_cache cache/chroot_packageslists
|
||||
Restore_cache cache/packages_packageslists
|
||||
|
||||
for LIST in ${LIVE_PACKAGES_LISTS}
|
||||
do
|
||||
|
@ -74,7 +75,7 @@ then
|
|||
done
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/chroot_packageslists
|
||||
Save_cache cache/packages_packageslists
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/chroot_packageslists
|
||||
|
|
|
@ -28,10 +28,11 @@ lh_testroot
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_proc: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_resolv: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_sources: Init"
|
||||
|
@ -93,48 +94,110 @@ case "${1}" in
|
|||
done
|
||||
fi
|
||||
|
||||
# Check local gpg keys
|
||||
if ls config/chroot_sources/*.build.gpg &> /dev/null
|
||||
# Update indices from cache
|
||||
if [ "${LH_CACHE_INDICES}" = "enabled" ] && [ -d cache/indices_build ]
|
||||
then
|
||||
for FILE in config/chroot_sources/*.build.gpg
|
||||
do
|
||||
cp ${FILE} chroot/root
|
||||
Chroot "apt-key add /root/`basename ${FILE}`"
|
||||
rm -f chroot/root/`basename ${FILE}`
|
||||
done
|
||||
fi
|
||||
|
||||
# Check local keyring packages
|
||||
if ls config/chroot_sources/*.deb &> /dev/null
|
||||
then
|
||||
for PACKAGE in config/chroot_sources/*.deb
|
||||
do
|
||||
cp ${PACKAGE} chroot/root
|
||||
Chroot "dpkg -i `basename ${PACKAGE}`"
|
||||
rm -f chroot/root/`basename ${PACKAGE}`
|
||||
done
|
||||
fi
|
||||
|
||||
# Installing aptitude
|
||||
if [ "${LH_APT}" = "apt" ] || [ "${LH_APT}" = "apt-get" ]
|
||||
then
|
||||
Chroot "apt-get update"
|
||||
elif [ "${LH_APT}" = "aptitude" ]
|
||||
then
|
||||
if [ ! -x /usr/bin/aptitude ]
|
||||
if ls cache/indices_build/secring.gpg* &> /dev/null
|
||||
then
|
||||
Chroot "apt-get update"
|
||||
Chroot "apt-get install --yes --force-yes aptitude"
|
||||
cp -f cache/indices_build/secring.gpg* chroot/etc/apt
|
||||
fi
|
||||
|
||||
Chroot "aptitude update"
|
||||
fi
|
||||
if ls cache/indices_build/trusted.gpg* &> /dev/null
|
||||
then
|
||||
cp -f cache/indices_build/trusted.gpg* chroot/etc/apt
|
||||
fi
|
||||
|
||||
# Installing keyring packages
|
||||
if [ -n "${LIVE_KEYRING_PACKAGES}" ]
|
||||
then
|
||||
Chroot "apt-get install --yes --force-yes ${LIVE_KEYRING_PACKAGES}"
|
||||
Chroot "apt-get update"
|
||||
if [ -f cache/indices_build/pkgcache.bin ]
|
||||
then
|
||||
cp -f cache/indices_build/pkgcache.bin chroot/var/cache/apt
|
||||
fi
|
||||
|
||||
if [ -f cache/indices_build/srcpkgcache.bin ]
|
||||
then
|
||||
cp -f cache/indices_build/srcpkgcache.bin chroot/var/cache/apt
|
||||
fi
|
||||
|
||||
if ls cache/indices_build/*_Packages &> /dev/null
|
||||
then
|
||||
cp -f cache/indices_build/*_Packages chroot/var/lib/apt/lists
|
||||
fi
|
||||
|
||||
if ls cache/indices_build/*_Sources &> /dev/null
|
||||
then
|
||||
cp -f cache/indices_build/*_Sources chroot/var/lib/apt/lists
|
||||
fi
|
||||
|
||||
if ls cache/indices_build/*_Release* &> /dev/null
|
||||
then
|
||||
cp -f cache/indices_build/*_Release* chroot/var/lib/apt/lists
|
||||
fi
|
||||
|
||||
if [ "${LH_APT}" = "aptitude" ] && [ ! -x /usr/bin/aptitude ]
|
||||
then
|
||||
Chroot "apt-get install --yes --force-yes aptitude"
|
||||
fi
|
||||
else # Get fresh indices
|
||||
# Check local gpg keys
|
||||
if ls config/chroot_sources/*.build.gpg &> /dev/null
|
||||
then
|
||||
for FILE in config/chroot_sources/*.build.gpg
|
||||
do
|
||||
cp ${FILE} chroot/root
|
||||
Chroot "apt-key add /root/`basename ${FILE}`"
|
||||
rm -f chroot/root/`basename ${FILE}`
|
||||
done
|
||||
fi
|
||||
|
||||
# Check local keyring packages
|
||||
if ls config/chroot_sources/*.deb &> /dev/null
|
||||
then
|
||||
for PACKAGE in config/chroot_sources/*.deb
|
||||
do
|
||||
cp ${PACKAGE} chroot/root
|
||||
Chroot "dpkg -i `basename ${PACKAGE}`"
|
||||
rm -f chroot/root/`basename ${PACKAGE}`
|
||||
done
|
||||
fi
|
||||
|
||||
# Installing aptitude
|
||||
if [ "${LH_APT}" = "apt" ] || [ "${LH_APT}" = "apt-get" ]
|
||||
then
|
||||
Chroot "apt-get update"
|
||||
elif [ "${LH_APT}" = "aptitude" ]
|
||||
then
|
||||
if [ ! -x /usr/bin/aptitude ]
|
||||
then
|
||||
Chroot "apt-get update"
|
||||
Chroot "apt-get install --yes --force-yes aptitude"
|
||||
fi
|
||||
|
||||
Chroot "aptitude update"
|
||||
fi
|
||||
|
||||
# Installing keyring packages
|
||||
if [ -n "${LIVE_KEYRING_PACKAGES}" ]
|
||||
then
|
||||
Chroot "apt-get install --yes --force-yes ${LIVE_KEYRING_PACKAGES}"
|
||||
Chroot "apt-get update"
|
||||
fi
|
||||
|
||||
if [ "${LH_CACHE_INDICES}" = "enabled" ]
|
||||
then
|
||||
if [ ! -d cache/indices_build ]
|
||||
then
|
||||
mkdir -p cache/indices_build
|
||||
fi
|
||||
|
||||
cp -f chroot/etc/apt/secring.gpg* cache/indices_build
|
||||
cp -f chroot/etc/apt/trusted.gpg* cache/indices_build
|
||||
|
||||
cp -f chroot/var/cache/apt/pkgcache.bin cache/indices_build
|
||||
cp -f chroot/var/cache/apt/srcpkgcache.bin cache/indices_build
|
||||
|
||||
cp -f chroot/var/lib/apt/lists/*_Packages cache/indices_build
|
||||
cp -f chroot/var/lib/apt/lists/*_Sources cache/indices_build
|
||||
cp -f chroot/var/lib/apt/*_Release* cache/indices_build
|
||||
fi
|
||||
fi
|
||||
|
||||
# Creating stage file
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_symlinks: Init"
|
||||
|
|
|
@ -28,10 +28,11 @@ lh_testroot
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_sysfs: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_sysvinit: Init"
|
||||
|
@ -54,7 +55,7 @@ then
|
|||
done
|
||||
|
||||
# Re-enable all required (taken from -f standard chroot)
|
||||
for PACKAGE in casper console-common cron dpkg ifupdown initscripts kbd klogd libc6 libdevmapper1.02 libselinux1 libsepol1 login makedev module-init-tools netbase openbsd-inetd procps sudo sysklogd udev util-linux
|
||||
for PACKAGE in ${LH_INITRAMFS} console-common cron dpkg ifupdown initscripts kbd klogd libc6 libdevmapper1.02 libselinux1 libsepol1 login makedev module-init-tools netbase openbsd-inetd procps sudo sysklogd udev util-linux
|
||||
do
|
||||
if [ -f chroot/var/lib/dpkg/info/${PACKAGE}.postinst ]
|
||||
then
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_sysvrc: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "chroot_tasks: Init"
|
||||
|
@ -48,7 +49,7 @@ Create_lockfile .lock
|
|||
if [ -n "${LIVE_TASKS}" ]
|
||||
then
|
||||
# Restoring cache
|
||||
Restore_cache cache/chroot_tasks
|
||||
Restore_cache cache/packages_tasks
|
||||
|
||||
# Checking depends
|
||||
case "${LH_TASKSEL}" in
|
||||
|
@ -82,7 +83,7 @@ then
|
|||
Remove_package
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/chroot_tasks
|
||||
Save_cache cache/packages_tasks
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/chroot_tasks
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
case "${1}" in
|
||||
|
@ -60,9 +61,9 @@ case "${1}" in
|
|||
|
||||
${LH_ROOT_COMMAND} rm -rf chroot chroot.tmp
|
||||
|
||||
if [ "${PURGE}" != "true" ] && [ -d cache/chroot_bootstrap ]
|
||||
if [ "${PURGE}" != "true" ] && [ -d cache/stages_bootstrap ]
|
||||
then
|
||||
${LH_ROOT_COMMAND} cp -a cache/chroot_bootstrap chroot
|
||||
${LH_ROOT_COMMAND} cp -a cache/stages_bootstrap chroot
|
||||
mkdir -p .stage
|
||||
touch .stage/bootstrap
|
||||
fi
|
||||
|
|
|
@ -46,7 +46,8 @@ then
|
|||
Read_conffile "${LIVE_ROOT}"/config/common
|
||||
Read_conffile "${LIVE_ROOT}"/config/bootstrap
|
||||
Read_conffile "${LIVE_ROOT}"/config/chroot
|
||||
Read_conffile "${LIVE_ROOT}"/config/image
|
||||
Read_conffile "${LIVE_ROOT}"/config/binary
|
||||
Read_conffile "${LIVE_ROOT}"/config/source
|
||||
fi
|
||||
|
||||
# Setting defaults
|
||||
|
@ -97,9 +98,17 @@ LH_APT_SECURE="${LH_APT_SECURE}"
|
|||
# (Default: ${LH_BOOTSTRAP})
|
||||
LH_BOOTSTRAP="${LH_BOOTSTRAP}"
|
||||
|
||||
# \$LH_CACHE: control if downloaded packages should be cached
|
||||
# (Default: ${LH_CACHE})
|
||||
LH_CACHE="${LH_CACHE}"
|
||||
# \$LH_CACHE_INDICES: control if downloaded packages should be cached
|
||||
# (Default: ${LH_CACHE_INDICES})
|
||||
LH_CACHE_INDICES="${LH_CACHE_INDICES}"
|
||||
|
||||
# \$LH_CACHE_PACKAGES: control if downloaded packages should be cached
|
||||
# (Default: ${LH_CACHE_PACKAGES})
|
||||
LH_CACHE_PACKAGES="${LH_CACHE_PACKAGES}"
|
||||
|
||||
# \$LH_CACHE_STAGES: control if downloaded packages should be cached
|
||||
# (Default: ${LH_CACHE_STAGES})
|
||||
LH_CACHE_STAGES="${LH_CACHE_STAGES}"
|
||||
|
||||
# \$LH_DEBCONF_FRONTEND: set the debconf(1) frontend to use
|
||||
# (Default: ${LH_DEBCONF_FRONTEND})
|
||||
|
@ -125,10 +134,22 @@ LH_LOSETUP="${LH_LOSETUP}"
|
|||
# (Default: ${LH_TASKSEL})
|
||||
LH_TASKSEL="${LH_TASKSEL}"
|
||||
|
||||
# \$LH_INITRAMFS: set the initramfs generator
|
||||
# (Default: ${LH_INITRAMFS})
|
||||
LH_INITRAMFS="${LH_INITRAMFS}"
|
||||
|
||||
# \$LIVE_ROOT: set the root directory
|
||||
# (Default: ${LIVE_ROOT})
|
||||
LIVE_ROOT="${LIVE_ROOT}"
|
||||
|
||||
# \$LIVE_INCLUDES: set includes
|
||||
# (Default: ${LIVE_INCLUDES})
|
||||
LIVE_INCLUDES="${LIVE_INCLUDES}"
|
||||
|
||||
# \$LIVE_TEMPLATES: set templates
|
||||
# (Default: ${LIVE_TEMPLATES})
|
||||
LIVE_TEMPLATES="${LIVE_TEMPLATES}"
|
||||
|
||||
# Live-helper options
|
||||
|
||||
# \$LH_ROOT_COMMAND: use sudo or equivalent
|
||||
|
@ -257,9 +278,9 @@ LIVE_MIRROR_IMAGE_SECURITY="${LIVE_MIRROR_IMAGE_SECURITY}"
|
|||
LIVE_SECTIONS="${LIVE_SECTIONS}"
|
||||
EOF
|
||||
|
||||
# Creating lh_image_* configuration
|
||||
cat > "${LIVE_ROOT}"/config/image << EOF
|
||||
# config/chroot: configuration for lh_image_*
|
||||
# Creating lh_binary_* configuration
|
||||
cat > "${LIVE_ROOT}"/config/binary << EOF
|
||||
# config/chroot: configuration for lh_binary_*
|
||||
|
||||
# \$LIVE_BOOTAPPEND: set boot parameters
|
||||
# (Default: empty)
|
||||
|
@ -285,6 +306,10 @@ LIVE_FILESYSTEM="${LIVE_FILESYSTEM}"
|
|||
# (Default: ${LIVE_MEMTEST})
|
||||
LIVE_MEMTEST="${LIVE_MEMTEST}"
|
||||
|
||||
# \$LIVE_DEBIAN_INSTALLER: set debian-installer
|
||||
# (Default: ${LIVE_DEBIAN_INSTALLER})
|
||||
LIVE_DEBIAN_INSTALLER="${LIVE_DEBIAN_INSTALLER}"
|
||||
|
||||
# \$LIVE_ISO_VOLUME: set iso volume
|
||||
# (Default: ${LIVE_ISO_VOLUME})
|
||||
LIVE_ISO_VOLUME="${LIVE_ISO_VOLUME}"
|
||||
|
@ -297,10 +322,6 @@ LIVE_SERVER_ADDRESS="${LIVE_SERVER_ADDRESS}"
|
|||
# (Default: ${LIVE_SERVER_PATH})
|
||||
LIVE_SERVER_PATH="${LIVE_SERVER_PATH}"
|
||||
|
||||
# \$LIVE_SOURCE: set source option
|
||||
# (Default: ${LH_SOURCE})
|
||||
LIVE_SOURCE="${LIVE_SOURCE}"
|
||||
|
||||
# \$LIVE_BOOTLOADER: set bootloader
|
||||
# (Default: ${LIVE_BOOTLOADER})
|
||||
LIVE_BOOTLOADER="${LIVE_BOOTLOADER}"
|
||||
|
@ -316,18 +337,19 @@ LIVE_SYSLINUX_SPLASH="${LIVE_SYSLINUX_SPLASH}"
|
|||
# \$LIVE_BINARY_IMAGE: set image type
|
||||
# (Default: ${LIVE_BINARY_IMAGE})
|
||||
LIVE_BINARY_IMAGE="${LIVE_BINARY_IMAGE}"
|
||||
EOF
|
||||
|
||||
# Creating lh_source_* configuration
|
||||
cat > "${LIVE_ROOT}"/config/source << EOF
|
||||
# config/chroot: configuration for lh_source_*
|
||||
|
||||
# \$LIVE_SOURCE: set source option
|
||||
# (Default: ${LH_SOURCE})
|
||||
LIVE_SOURCE="${LIVE_SOURCE}"
|
||||
|
||||
# \$LIVE_SOURCE_IMAGE: set image type
|
||||
# (Default: ${LIVE_SOURCE_IMAGE})
|
||||
LIVE_SOURCE_IMAGE="${LIVE_SOURCE_IMAGE}"
|
||||
|
||||
# \$LIVE_INCLUDES: set includes
|
||||
# (Default: ${LIVE_INCLUDES})
|
||||
LIVE_INCLUDES="${LIVE_INCLUDES}"
|
||||
|
||||
# \$LIVE_TEMPLATES: set templates
|
||||
# (Default: ${LIVE_TEMPLATES})
|
||||
LIVE_TEMPLATES="${LIVE_TEMPLATES}"
|
||||
EOF
|
||||
|
||||
# Creating lh_binary_* directories
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "losetup: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source: Init"
|
||||
|
@ -48,7 +49,7 @@ lh_source_generic "${@}"
|
|||
lh_source_hdd "${@}"
|
||||
lh_source_iso "${@}"
|
||||
lh_source_net "${@}"
|
||||
lh_source_usb "${@}"
|
||||
lh_source_usb-hdd "${@}"
|
||||
|
||||
# Deconfiguring chroot
|
||||
rm -f .stage/chroot_sources
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_config: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_download: Init"
|
||||
|
@ -59,7 +60,7 @@ fi
|
|||
# Download sources
|
||||
Chroot "dpkg --get-selections" | awk '{ print $1 }' > chroot/root/dpkg-selection.txt
|
||||
echo "${LIVE_BOOTLOADER}" >> chroot/root/dpkg-selection.txt
|
||||
#echo "live-helper" >> chroot/root/dpkg-selection.txt
|
||||
echo "live-helper" >> chroot/root/dpkg-selection.txt
|
||||
Chroot "xargs --arg-file=/root/dpkg-selection.txt apt-get source --download-only"
|
||||
rm -f chroot/root/dpkg-selection.txt
|
||||
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_generic: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_hdd: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_iso: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_md5sum: Init"
|
||||
|
|
|
@ -25,10 +25,11 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_net: Init"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# lh_source_usb(1) - build source image
|
||||
# lh_source_usb-hdd(1) - build source image
|
||||
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
|
||||
#
|
||||
# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
||||
|
@ -25,13 +25,14 @@ Arguments "${@}"
|
|||
Echo_debug "Init ${PROGRAM}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/common
|
||||
Read_conffile config/image
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Breakpoint "source_usb: Init"
|
||||
Breakpoint "source_usb-hdd: Init"
|
||||
|
||||
if [ "${LIVE_SOURCE}" != "enabled" ]
|
||||
then
|
||||
|
@ -40,13 +41,13 @@ fi
|
|||
|
||||
for IMAGE in ${LIVE_SOURCE_IMAGE}
|
||||
do
|
||||
if [ "${IMAGE}" = "usb" ]
|
||||
if [ "${IMAGE}" = "usb-hdd" ]
|
||||
then
|
||||
# Requiring stage file
|
||||
Require_stagefile .stage/source_download
|
||||
|
||||
# Checking stage file
|
||||
Check_stagefile .stage/source_usb
|
||||
Check_stagefile .stage/source_usb-hdd
|
||||
|
||||
# Checking lock file
|
||||
Check_lockfile .lock
|
||||
|
@ -88,7 +89,7 @@ do
|
|||
${LH_LOSETUP} -d ${FREELO}
|
||||
|
||||
lh_losetup $FREELO source.img 1
|
||||
Chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
|
||||
Chroot " mkfs.vfat -F 16 -n DEBIAN_LIVE ${FREELO}"
|
||||
mkdir -p source.tmp
|
||||
${LH_ROOT_COMMAND} mount ${FREELO} source.tmp
|
||||
cp -r source/* source.tmp
|
||||
|
@ -107,6 +108,6 @@ do
|
|||
Remove_package
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/source_usb
|
||||
Create_stagefile .stage/source_usb-hdd
|
||||
fi
|
||||
done
|
|
@ -24,6 +24,10 @@ Arguments "${@}"
|
|||
|
||||
# Reading configuration files
|
||||
Read_conffile config/common
|
||||
Read_conffile config/bootstrap
|
||||
Read_conffile config/chroot
|
||||
Read_conffile config/binary
|
||||
Read_conffile config/source
|
||||
Set_defaults
|
||||
|
||||
Echo_debug "Init ${PROGRAM}"
|
||||
|
|
|
@ -31,7 +31,7 @@ done
|
|||
# Set static variables
|
||||
PROGRAM="`basename ${0}`"
|
||||
DESCRIPTION="utility to build Debian Live systems"
|
||||
USAGE="${PROGRAM} [config] [--mode MODE] [--config CONFIG] [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--apt-generic enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--apt-secure enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--debconf-nowarnings yes|no] [--genisoimage genisoimage|mkisofs] [--losetup losetup|losetup.org] [--tasksel aptitude|tasksel] [-r|--root DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution stable|testing|unstable|etch|lenny|sid] [--distribution-config DIRECTORY] [-f|--bootstrap-flavour minimal|standard] [-m|--mirror-build URL] [--mirror-build-security URL] [--mirror-image URL] [--mirror-image-security URL] [--sections SECTION|\"SECTIONS\"] [--interactive shell|x11|xnest] [-k|--kernel-flavour FLAVOUR] [--kernel-packages PACKAGE|\"PACKAGES\"] [--keyring-packages PACKAGE|\"PACKAGES\"] [--hooks \"COMMAND\"|\"COMMANDS\"] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-lists LIST|\"LISTS\"] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend KERNEL_PARAMETER|\"KERNEL_PARAMETERS\"] [-e|--encryption ALGORITHM] [--username NAME] [--hostname NAME] [--filesystem ext2|plain|squashfs] [--memtest memtest86|memtest86+] [--iso-volume STRING] [--server-address HOSTNAME|IP] [--server-path DIRECTORY] [--source enabled|disabled] [--bootloader grub|syslinux] [--grub-splash FILE] [--syslinux-splash FILE] [-b|--binary-image hdd|iso|usb|net] [-s|--source-image generic|hdd|iso|usb|net] [--includes PATH] [--templates PATH] [--breakpoints] [--debug] [--force] [--quiet] [--verbose] [--root-command sudo]"
|
||||
USAGE="${PROGRAM} [config] [--mode MODE] [--config CONFIG] [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--apt-generic enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--apt-secure enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--debconf-nowarnings yes|no] [--genisoimage genisoimage|mkisofs] [--losetup losetup|losetup.org] [--tasksel aptitude|tasksel] [-r|--root DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution stable|testing|unstable|etch|lenny|sid] [--distribution-config DIRECTORY] [-f|--bootstrap-flavour minimal|standard] [-m|--mirror-build URL] [--mirror-build-security URL] [--mirror-image URL] [--mirror-image-security URL] [--sections SECTION|\"SECTIONS\"] [--interactive shell|x11|xnest] [-k|--kernel-flavour FLAVOUR] [--kernel-packages PACKAGE|\"PACKAGES\"] [--keyring-packages PACKAGE|\"PACKAGES\"] [--hooks \"COMMAND\"|\"COMMANDS\"] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-lists LIST|\"LISTS\"] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend KERNEL_PARAMETER|\"KERNEL_PARAMETERS\"] [-e|--encryption ALGORITHM] [--username NAME] [--hostname NAME] [--filesystem ext2|plain|squashfs] [--memtest memtest86|memtest86+] [--iso-volume STRING] [--server-address HOSTNAME|IP] [--server-path DIRECTORY] [--source enabled|disabled] [--bootloader grub|syslinux] [--grub-splash FILE] [--syslinux-splash FILE] [-b|--binary-image hdd|iso|usb-hdd|net] [-s|--source-image generic|hdd|iso|usb-hdd|net] [--includes PATH] [--templates PATH] [--breakpoints] [--debug] [--force] [--quiet] [--verbose] [--root-command sudo]"
|
||||
|
||||
HELP="Lists: gnome, gnome-core, gnome-desktop, gnome-full, gnome-junior, gnustep, kde, kde-core, kde-desktop, kde-extra, kde-full, kde-junior, mini, minimal, minimal-net, rescue, standard, standard-x11, xfce, xfce-desktop, xfce-junior"
|
||||
|
||||
|
|
|
@ -1,431 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Definitions and overview</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-basic_defs"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="index.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ 1 ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-getting.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 1 - Definitions and overview
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-whatisfaq"></a>1.1 What is this FAQ?</h2>
|
||||
|
||||
<p>
|
||||
This document gives frequently asked questions (with their answers!) about the
|
||||
Debian distribution (Debian GNU/Linux and others) and about the Debian project.
|
||||
If applicable, pointers to other documentation will be given: we won't quote
|
||||
large parts of external documentation in this document. You'll find out that
|
||||
some answers assume some knowledge of Unix-like operating systems. We'll try
|
||||
to assume as little prior knowledge as possible: answers to general beginners
|
||||
questions will be kept simple.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you can't find what you're looking for in this FAQ, be sure to check out <a
|
||||
href="ch-support.en.html#s-debiandocs">What other documentation exists on and
|
||||
for a Debian system?, Section 11.1</a>. If even that doesn't help, refer to <a
|
||||
href="ch-faqinfo.en.html#s-feedback">Feedback, Section 15.2</a>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-whatisdebian"></a>1.2 What is Debian GNU/Linux?</h2>
|
||||
|
||||
<p>
|
||||
Debian GNU/Linux is a particular <em>distribution</em> of the Linux operating
|
||||
system, and numerous packages that run on it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In principle, users could obtain the Linux kernel via the Internet or from
|
||||
elsewhere, and compile it themselves. They could then obtain source code for
|
||||
many applications in the same way, compile the programs, then install them into
|
||||
their systems. For complicated programs, this process can be not only
|
||||
time-consuming but error-prone. To avoid it, users often choose to obtain the
|
||||
operating system and the application packages from one of the Linux
|
||||
distributors. What distinguishes the various Linux distributors are the
|
||||
software, protocols, and practices they use for packaging, installing, and
|
||||
tracking applications packages on users' systems, combined with installation
|
||||
and maintenance tools, documentation, and other services.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian GNU/Linux is the result of a volunteer effort to create a free,
|
||||
high-quality Unix-compatible operating system, complete with a suite of
|
||||
applications. The idea of a free Unix-like system originates from the GNU
|
||||
project, and many of the applications that make Debian GNU/Linux so useful were
|
||||
developed by the GNU project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For Debian, free has the GNUish meaning (see the <code><a
|
||||
href="http://www.debian.org/social_contract#guidelines">Debian Free Software
|
||||
Guidelines</a></code>). When we speak of free software, we are referring to
|
||||
freedom, not price. Free software means that you have the freedom to
|
||||
distribute copies of free software, that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it in new
|
||||
free programs; and that you know you can do these things.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Debian Project was created by Ian Murdock in 1993, initially under the
|
||||
sponsorship of the Free Software Foundation's GNU project. Today, Debian's
|
||||
developers think of it as a direct descendent of the GNU project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian GNU/Linux is:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>full featured</strong>: Debian includes more than 18347 software
|
||||
packages at present. Users can select which packages to install; Debian
|
||||
provides a tool for this purpose. You can find a list and descriptions of the
|
||||
packages currently available in Debian at any of the Debian <code><a
|
||||
href="http://www.debian.org/distrib/ftplist">mirror sites</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>free to use and redistribute</strong>: There is no consortium
|
||||
membership or payment required to participate in its distribution and
|
||||
development. All packages that are formally part of Debian GNU/Linux are free
|
||||
to redistribute, usually under terms specified by the GNU General Public
|
||||
License.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Debian FTP archives also carry approximately 444 software packages (in the
|
||||
<samp>non-free</samp> and <samp>contrib</samp> sections), which are
|
||||
distributable under specific terms included with each package.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>dynamic</strong>: With about 1950 volunteers constantly contributing
|
||||
new and improved code, Debian is evolving rapidly. New releases are planned to
|
||||
be made every several months, and the FTP archives are updated daily.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Although Debian GNU/Linux itself is free software, it is a base upon which
|
||||
value-added Linux distributions can be built. By providing a reliable,
|
||||
full-featured base system, Debian provides Linux users with increased
|
||||
compatibility, and allows Linux distribution creators to eliminate duplication
|
||||
of effort and focus on the things that make their distribution special. See <a
|
||||
href="ch-redistrib.en.html#s-childistro">I am making a special Linux
|
||||
distribution for a "vertical market". Can I use Debian GNU/Linux for
|
||||
the guts of a Linux system and add my own applications on top of it?, Section
|
||||
13.3</a> for more information.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-linux"></a>1.3 OK, now I know what Debian is... what is Linux?!</h2>
|
||||
|
||||
<p>
|
||||
In short, Linux is the kernel of a Unix-like operating system. It was
|
||||
originally designed for 386 (and better) PCs; today Linux also runs on a dozen
|
||||
of other systems. Linux is written by Linus Torvalds and many computer
|
||||
scientists around the world.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Besides its kernel, a "Linux" system usually has:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
a file system that follows the Linux Filesystem Hierarchy Standard <code><a
|
||||
href="http://www.pathname.com/fhs/">http://www.pathname.com/fhs/</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
a wide range of Unix utilities, many of which have been developed by the GNU
|
||||
project and the Free Software Foundation.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The combination of the Linux kernel, the file system, the GNU and FSF
|
||||
utilities, and the other utilities are designed to achieve compliance with the
|
||||
POSIX (IEEE 1003.1) standard; see <a href="ch-compat.en.html#s-otherunices">How
|
||||
source code compatible is Debian with other Unix systems?, Section 3.3</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For more information about Linux, see Michael K. Johnson's <code><a
|
||||
href="ftp://ibiblio.org/pub/Linux/docs/HOWTO/INFO-SHEET">Linux Information
|
||||
Sheet</a></code> and <code><a
|
||||
href="ftp://ibiblio.org/pub/Linux/docs/HOWTO/META-FAQ">Meta-FAQ</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-non-linux"></a>1.4 Does Debian just do GNU/Linux?</h2>
|
||||
|
||||
<p>
|
||||
Currently, Debian is only available for Linux, but with Debian GNU/Hurd and
|
||||
Debian on BSD kernels, we have started to offer non-Linux-based OSes as a
|
||||
development, server and desktop platform, too. However, these non-linux ports
|
||||
are not officially released yet.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The oldest porting effort is Debian GNU/Hurd.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Hurd is a set of servers running on top of the GNU Mach microkernel.
|
||||
Together they build the base for the GNU operating system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please see <code><a
|
||||
href="http://www.gnu.org/software/hurd/">http://www.gnu.org/software/hurd/</a></code>
|
||||
for more information about the GNU/Hurd in general, and <code><a
|
||||
href="http://www.debian.org/ports/hurd/">http://www.debian.org/ports/hurd/</a></code>
|
||||
for more information about Debian GNU/Hurd.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A second effort is the port to a BSD kernel. People are working with both the
|
||||
NetBSD and the FreeBSD kernels.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See <code><a
|
||||
href="http://www.debian.org/ports/#nonlinux">http://www.debian.org/ports/#nonlinux</a></code>
|
||||
for more information about these non-linux ports.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-difference"></a>1.5 What is the difference between Debian GNU/Linux and other Linux distributions? Why should I choose Debian over some other distribution?</h2>
|
||||
|
||||
<p>
|
||||
These key features distinguish Debian from other Linux distributions:
|
||||
</p>
|
||||
<dl>
|
||||
<dt>Freedom:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
As stated in the <code><a href="http://www.debian.org/social_contract">Debian
|
||||
Social Contract</a></code>, Debian will remain 100% free. Debian is very
|
||||
strict about shipping truly free software. The guidelines used to determine if
|
||||
a work is "free" are provided in <code><a
|
||||
href="http://www.debian.org/social_contract#guidelines">The Debian Free
|
||||
Software</a></code>.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>The Debian package maintenance system:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
The entire system, or any individual component of it, can be upgraded in place
|
||||
without reformatting, without losing custom configuration files, and (in most
|
||||
cases) without rebooting the system. Most Linux distributions available today
|
||||
have some kind of package maintenance system; the Debian package maintenance
|
||||
system is unique and particularly robust (see <a
|
||||
href="ch-pkg_basics.en.html">Basics of the Debian package management system,
|
||||
Chapter 6</a>).
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>Open development:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Whereas other Linux distributions are developed by individuals, small, closed
|
||||
groups, or commercial vendors, Debian is the only major Linux distribution that
|
||||
is being developed cooperatively by many individuals through the Internet, in
|
||||
the same spirit as Linux and other free software.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More than 1950 volunteer package maintainers are working on over 18347 packages
|
||||
and improving Debian GNU/Linux. The Debian developers contribute to the
|
||||
project not by writing new applications (in most cases), but by packaging
|
||||
existing software according to the standards of the project, by communicating
|
||||
bug reports to upstream developers, and by providing user support. See also
|
||||
additional information on how to become a contributor in <a
|
||||
href="ch-contributing.en.html#s-contrib">How can I become a Debian software
|
||||
developer?, Section 12.1</a>.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>The Universal Operating System:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Debian comes with <code><a href="http://packages.debian.org/stable/">more than
|
||||
18347 packages</a></code> and runs on <code><a
|
||||
href="http://www.debian.org/ports/">10 architectures</a></code>. This is far
|
||||
more than is available for any other GNU/Linux distribution. See <a
|
||||
href="ch-software.en.html#s-apps">What types of applications and development
|
||||
software are available for Debian GNU/Linux?, Section 4.1</a> for an overview
|
||||
of the provided software and see <a href="ch-compat.en.html#s-arches">On what
|
||||
hardware architectures/systems does Debian GNU/Linux run?, Section 3.1</a> for
|
||||
a description of the supported hardware platforms.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>The Bug Tracking System:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
The geographical dispersion of the Debian developers required sophisticated
|
||||
tools and quick communication of bugs and bug-fixes to accelerate the
|
||||
development of the system. Users are encouraged to send bugs in a formal
|
||||
style, which are quickly accessible by WWW archives or via e-mail. See
|
||||
additional information in this FAQ on the management of the bug log in <a
|
||||
href="ch-support.en.html#s-buglogs">Are there logs of known bugs?, Section
|
||||
11.4</a>.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>The Debian Policy:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Debian has an extensive specification of our standards of quality, the Debian
|
||||
Policy. This document defines the qualities and standards to which we hold
|
||||
Debian packages.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
For additional information about this, please see our web page about <code><a
|
||||
href="http://www.debian.org/intro/why_debian">reasons to choose
|
||||
Debian</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-gnu"></a>1.6 How does the Debian project fit in or compare with the Free Software Foundation's GNU project?</h2>
|
||||
|
||||
<p>
|
||||
The Debian system builds on the ideals of free software first championed by the
|
||||
<code><a href="http://www.gnu.org/">Free Software Foundation</a></code> and in
|
||||
particular by <code><a href="http://www.stallman.org/">Richard
|
||||
Stallman</a></code>. FSF's powerful system development tools, utilities, and
|
||||
applications are also a key part of the Debian system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Debian Project is a separate entity from the FSF, however we communicate
|
||||
regularly and cooperate on various projects. The FSF explicitly requested that
|
||||
we call our system "Debian GNU/Linux", and we are happy to comply
|
||||
with that request.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The FSF's long-standing objective is to develop a new operating system called
|
||||
GNU, based on <code><a
|
||||
href="http://www.gnu.org/software/hurd/">Hurd</a></code>. Debian is working
|
||||
with FSF on this system, called <code><a
|
||||
href="http://www.debian.org/ports/hurd/">Debian GNU/Hurd</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pronunciation"></a>1.7 How does one pronounce Debian and what does this word mean?</h2>
|
||||
|
||||
<p>
|
||||
The project name is pronounced Deb'-ee-en, with a short e in Deb, and emphasis
|
||||
on the first syllable. This word is a contraction of the names of Debra and
|
||||
Ian Murdock, who founded the project. (Dictionaries seem to offer some
|
||||
ambiguity in the pronunciation of Ian (!), but Ian prefers ee'-en.)
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="index.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ 1 ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-getting.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-basic_defs.en.html
|
|
@ -1,386 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Compatibility issues</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-compat"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-getting.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ 3 ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-software.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 3 - Compatibility issues
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-arches"></a>3.1 On what hardware architectures/systems does Debian GNU/Linux run?</h2>
|
||||
|
||||
<p>
|
||||
Debian GNU/Linux includes complete source-code for all of the included
|
||||
programs, so it should work on all systems which are supported by the Linux
|
||||
kernel; see the <code><a
|
||||
href="http://en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER">Linux
|
||||
FAQ</a></code> for details.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The current Debian GNU/Linux release, 4.0, contains a complete, binary
|
||||
distribution for the following architectures:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>i386</em>: this covers PCs based on Intel and compatible processors,
|
||||
including Intel's 386, 486, Pentium, Pentium Pro, Pentium II (both Klamath and
|
||||
Celeron), and Pentium III, and most compatible processors by AMD, Cyrix and
|
||||
others.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>m68k</em>: this covers Amigas and ATARIs having a Motorola 680x0 processor
|
||||
for x>=2; with MMU.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>alpha</em>: Compaq/Digital's Alpha systems.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>sparc</em>: this covers Sun's SPARC and most UltraSPARC systems.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>powerpc</em>: this covers some IBM/Motorola PowerPC machines, including
|
||||
CHRP, PowerMac and PReP machines.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>arm</em>: ARM and StrongARM machines.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>mips</em>: SGI's big-endian MIPS systems, Indy and Indigo2;
|
||||
<em>mipsel</em>: little-endian MIPS machines, Digital DECstations.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>hppa</em>: Hewlett-Packard's PA-RISC machines (712, C3000, L2000, A500).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>ia64</em>: Intel IA-64 ("Itanium") computers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>s390</em>: IBM S/390 mainframe systems.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The development of binary distributions of Debian for Sparc64 (UltraSPARC
|
||||
native) architectures is currently underway.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For further information on booting, partitioning your drive, enabling PCMCIA
|
||||
(PC Card) devices and similar issues please follow the instructions given in
|
||||
the Installation Manual, which is available from our WWW site at <code><a
|
||||
href="http://www.debian.org/releases/stable/installmanual">http://www.debian.org/releases/stable/installmanual</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-otherdistribs"></a>3.2 How compatible is Debian with other distributions of Linux?</h2>
|
||||
|
||||
<p>
|
||||
Debian developers communicate with other Linux distribution creators in an
|
||||
effort to maintain binary compatibility across Linux distributions. Most
|
||||
commercial Linux products run as well under Debian as they do on the system
|
||||
upon which they were built.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian GNU/Linux adheres to the <code><a
|
||||
href="http://www.pathname.com/fhs/">Linux Filesystem Hierarchy
|
||||
Standard</a></code>. However, there is room for interpretation in some of the
|
||||
rules within this standard, so there may be slight differences between a Debian
|
||||
system and other Linux systems.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian GNU/Linux supports software developed for the <code><a
|
||||
href="http://www.linuxbase.org/">Linux Standard Base</a></code>. The LSB is a
|
||||
specification for allowing the same binary package to be used on multiple
|
||||
distributions. Packages for the Debian Etch release must not conflict with
|
||||
requirements of the LSB, v1.3. As of this writing, Debian GNU/Linux is not
|
||||
formally LSB-certified. However, some Debian derived distributions are.
|
||||
Discussion and coordination of efforts towards ensuring Debian meets the
|
||||
requirements of the Linux Standard Base is taking place on the <code><a
|
||||
href="http://lists.debian.org/debian-lsb/">debian-lsb mailing list</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-otherunices"></a>3.3 How source code compatible is Debian with other Unix systems?</h2>
|
||||
|
||||
<p>
|
||||
For most applications Linux source code is compatible with other Unix systems.
|
||||
It supports almost everything that is available in System V Unix systems and
|
||||
the free and commercial BSD-derived systems. However in the Unix business such
|
||||
claim has nearly no value because there is no way to prove it. In the software
|
||||
development area complete compatibility is required instead of compatibility in
|
||||
"about most" cases. So years ago the need for standards arose, and
|
||||
nowadays POSIX.1 (IEEE Standard 1003.1-1990) is one of the major standards for
|
||||
source code compatibility in Unix-like operating systems.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Linux is intended to adhere to POSIX.1, but the POSIX standards cost real money
|
||||
and the POSIX.1 (and FIPS 151-2) certification is quite expensive; this made it
|
||||
more difficult for the Linux developers to work on complete POSIX conformance.
|
||||
The certification costs make it unlikely that Debian will get an official
|
||||
conformance certification even if it completely passed the validation suite.
|
||||
(The validation suite is now freely available, so it is expected that more
|
||||
people will work on POSIX.1 issues.)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Unifix GmbH (Braunschweig, Germany) developed a Linux system that has been
|
||||
certified to conform to FIPS 151-2 (a superset of POSIX.1). This technology
|
||||
was available in Unifix' own distribution called Unifix Linux 2.0 and in
|
||||
Lasermoon's Linux-FT.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-otherpackages"></a>3.4 Can I use Debian packages (".deb" files) on my Red Hat/Slackware/... Linux system? Can I use Red Hat packages (".rpm" files) on my Debian GNU/Linux system?</h2>
|
||||
|
||||
<p>
|
||||
Different Linux distributions use different package formats and different
|
||||
package management programs.
|
||||
</p>
|
||||
<dl>
|
||||
<dt><strong>You probably can:</strong></dt>
|
||||
<dd>
|
||||
<p>
|
||||
A program to unpack a Debian package onto a Linux host that is been built from
|
||||
a `foreign' distribution is available, and will generally work, in the sense
|
||||
that files will be unpacked. The converse is probably also true, that is, a
|
||||
program to unpack a Red Hat or Slackware package on a host that is based on
|
||||
Debian GNU/Linux will probably succeed in unpacking the package and placing
|
||||
most files in their intended directories. This is largely a consequence of the
|
||||
existence (and broad adherence to) the Linux Filesystem Hierarchy Standard.
|
||||
The <code><a href="http://packages.debian.org/alien">Alien</a></code> package
|
||||
is used to convert between different package formats.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><strong>You probably do not want to:</strong></dt>
|
||||
<dd>
|
||||
<p>
|
||||
Most package managers write administrative files when they are used to unpack
|
||||
an archive. These administrative files are generally not standardized.
|
||||
Therefore, the effect of unpacking a Debian package on a `foreign' host will
|
||||
have unpredictable (certainly not useful) effects on the package manager on
|
||||
that system. Likewise, utilities from other distributions might succeed in
|
||||
unpacking their archives on Debian systems, but will probably cause the Debian
|
||||
package management system to fail when the time comes to upgrade or remove some
|
||||
packages, or even simply to report exactly what packages are present on a
|
||||
system.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><strong>A better way:</strong></dt>
|
||||
<dd>
|
||||
<p>
|
||||
The Linux File System Standard (and therefore Debian GNU/Linux) requires that
|
||||
subdirectories under <samp>/usr/local/</samp> be entirely under the user's
|
||||
discretion. Therefore, users can unpack `foreign' packages into this
|
||||
directory, and then manage their configuration, upgrade and removal
|
||||
individually.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-libc5"></a>3.5 Is Debian able to run my old libc5 programs?</h2>
|
||||
|
||||
<p>
|
||||
Yes. Just install the required <code>libc5</code> libraries, from the
|
||||
<samp>oldlibs</samp> section (containing old packages included for
|
||||
compatibility with older applications).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-libc5-compile"></a>3.6 Can Debian be used to compile libc5 programs?</h2>
|
||||
|
||||
<p>
|
||||
Yes. Install <code>libc5-altdev</code> and <code>altgcc</code> packages (from
|
||||
the <samp>oldlibs</samp> section). You can find the appropriate libc5-compiled
|
||||
<code>gcc</code> and <code>g++</code> in directory
|
||||
<samp>/usr/i486-linuxlibc1/bin</samp>. Put them in your $PATH variable to get
|
||||
<code>make</code> and other programs to execute these first.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Be aware that libc5 environment isn't fully supported by our other packages
|
||||
anymore.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-non-debian-programs"></a>3.7 How should I install a non-Debian program?</h2>
|
||||
|
||||
<p>
|
||||
Files under the directory <samp>/usr/local/</samp> are not under the control of
|
||||
the Debian package management system. Therefore, it is good practice to place
|
||||
the source code for your program in /usr/local/src/. For example, you might
|
||||
extract the files for a package named "foo.tar" into the directory
|
||||
<samp>/usr/local/src/foo</samp>. After you compile them, place the binaries in
|
||||
<samp>/usr/local/bin/</samp>, the libraries in <samp>/usr/local/lib/</samp>,
|
||||
and the configuration files in <samp>/usr/local/etc/</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If your programs and/or files really must be placed in some other directory,
|
||||
you could still store them in <samp>/usr/local/</samp>, and build the
|
||||
appropriate symbolic links from the required location to its location in
|
||||
<samp>/usr/local/</samp>, e.g., you could make the link
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
ln -s /usr/local/bin/foo /usr/bin/foo
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
In any case, if you obtain a package whose copyright allows redistribution, you
|
||||
should consider making a Debian package of it, and uploading it for the Debian
|
||||
system. Guidelines for becoming a package developer are included in the Debian
|
||||
Policy manual (see <a href="ch-support.en.html#s-debiandocs">What other
|
||||
documentation exists on and for a Debian system?, Section 11.1</a>).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-termcap"></a>3.8 Why can't I compile programs that require libtermcap?</h2>
|
||||
|
||||
<p>
|
||||
Debian uses the <samp>terminfo</samp> database and the <samp>ncurses</samp>
|
||||
library of terminal interface routes, rather than the <samp>termcap</samp>
|
||||
database and the <samp>termcap</samp> library. Users who are compiling
|
||||
programs that require some knowledge of the terminal interface should replace
|
||||
references to <samp>libtermcap</samp> with references to
|
||||
<samp>libncurses</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To support binaries that have already been linked with the <samp>termcap</samp>
|
||||
library, and for which you do not have the source, Debian provides a package
|
||||
called <code>termcap-compat</code>. This provides both
|
||||
<samp>libtermcap.so.2</samp> and <samp>/etc/termcap</samp>. Install this
|
||||
package if the program fails to run with the error message "can't load
|
||||
library 'libtermcap.so.2'", or complains about a missing
|
||||
<samp>/etc/termcap</samp> file.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-accelx"></a>3.9 Why can't I install AccelX?</h2>
|
||||
|
||||
<p>
|
||||
AccelX uses the <samp>termcap</samp> library for installation. See <a
|
||||
href="#s-termcap">Why can't I compile programs that require libtermcap?,
|
||||
Section 3.8</a> above.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-motifnls"></a>3.10 Why do my old XFree 2.1 Motif applications crash?</h2>
|
||||
|
||||
<p>
|
||||
You need to install the <code>motifnls</code> package, which provides the
|
||||
XFree-2.1 configuration files needed to allow Motif applications compiled under
|
||||
XFree-2.1 to run under XFree-3.1.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Without these files, some Motif applications compiled on other machines (such
|
||||
as Netscape) may crash when attempting to copy or paste from or to a text
|
||||
field, and may also exhibit other problems.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-getting.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ 3 ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-software.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-compat.en.html
|
|
@ -1,191 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Contributing to the Debian Project</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-contributing"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-support.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ 12 ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-redistrib.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 12 - Contributing to the Debian Project
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
<code><a href="http://www.debian.org/donations">Donations</a></code> of time
|
||||
(to develop new packages, maintain existing packages, or provide user support),
|
||||
resources (to mirror the FTP and WWW archives), and money (to pay for new
|
||||
testbeds as well as hardware for the archives) can help the project.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-contrib"></a>12.1 How can I become a Debian software developer?</h2>
|
||||
|
||||
<p>
|
||||
The development of Debian is open to all, and new users with the right skills
|
||||
and/or the willingness to learn are needed to maintain existing packages which
|
||||
have been "orphaned" by their previous maintainers, to develop new
|
||||
packages, and to provide user support.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The description of becoming a Debian developer can be found at the <code><a
|
||||
href="http://www.debian.org/devel/join/newmaint">New Maintainer's
|
||||
Corner</a></code> at the Debian web site.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-contribresources"></a>12.2 How can I contribute resources to the Debian project?</h2>
|
||||
|
||||
<p>
|
||||
Since the project aims to make a substantial body of software rapidly and
|
||||
easily accessible throughout the globe, mirrors are urgently needed. It is
|
||||
desirable but not absolutely necessary to mirror all of the archive. Please
|
||||
visit the <code><a href="http://www.debian.org/mirror/size">Debian mirror
|
||||
size</a></code> page for information on the disk space requirements.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Most of the mirroring is accomplished entirely automatically by scripts,
|
||||
without any interaction. However, the occasional glitch or system change
|
||||
occurs which requires human intervention.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you have a high-speed connection to the Internet, the resources to mirror
|
||||
all or part of the distribution, and are willing to take the time (or find
|
||||
someone) who can provide regular maintenance of the system, then please contact
|
||||
<code><a
|
||||
href="mailto:debian-admin@lists.debian.org">debian-admin@lists.debian.org</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-supportingorganizations"></a>12.3 How can I contribute financially to the Debian project?</h2>
|
||||
|
||||
<p>
|
||||
One can make individual donations to one of two organizations that are critical
|
||||
to the development of the Debian project.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-SPI"></a>12.3.1 Software in the Public Interest</h3>
|
||||
|
||||
<p>
|
||||
Software in the Public Interest (SPI) is an IRS 501(c)(3) non-profit
|
||||
organization, formed when FSF withdrew their sponsorship of Debian. The
|
||||
purpose of the organization is to develop and distribute free software.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Our goals are very much like those of FSF, and we encourage programmers to use
|
||||
the GNU General Public License on their programs. However, we have a slightly
|
||||
different focus in that we are building and distributing a Linux system that
|
||||
diverges in many technical details from the GNU system planned by FSF. We
|
||||
still communicate with FSF, and we cooperate in sending them changes to GNU
|
||||
software and in asking our users to donate to FSF and the GNU project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
SPI can be reached at: <code><a
|
||||
href="http://www.spi-inc.org/">http://www.spi-inc.org/</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-FSF"></a>12.3.2 Free Software Foundation</h3>
|
||||
|
||||
<p>
|
||||
At this time there is no formal connection between Debian and the Free Software
|
||||
Foundation. However, the Free Software Foundation is responsible for some of
|
||||
the most important software components in Debian, including the GNU C compiler,
|
||||
GNU Emacs, and much of the C run-time library that is used by all programs on
|
||||
the system. FSF pioneered much of what free software is today: they wrote the
|
||||
General Public License that is used on much of the Debian software, and they
|
||||
invented the "GNU" project to create an entirely free Unix system.
|
||||
Debian should be considered a descendent of the GNU system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
FSF can be reached at: <code><a
|
||||
href="http://www.fsf.org/">http://www.fsf.org/</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-support.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ 12 ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-redistrib.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-contributing.en.html
|
|
@ -1,522 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Customizing your installation of Debian GNU/Linux</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-customizing"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-kernel.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ 10 ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-support.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 10 - Customizing your installation of Debian GNU/Linux
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-papersize"></a>10.1 How can I ensure that all programs use the same paper size?</h2>
|
||||
|
||||
<p>
|
||||
Install the <code>libpaper1</code> package, and it will ask you for a
|
||||
system-wide default paper size. This setting will be kept in the file
|
||||
<samp>/etc/papersize</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Users can override the paper size setting using the <samp>PAPERSIZE</samp>
|
||||
environment variable. For details, see the manual page
|
||||
<code>papersize(5)</code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-hardwareaccess"></a>10.2 How can I provide access to hardware peripherals, without compromising security?</h2>
|
||||
|
||||
<p>
|
||||
Many device files in the <samp>/dev</samp> directory belong to some predefined
|
||||
groups. For example, <samp>/dev/fd0</samp> belongs to the <samp>floppy</samp>
|
||||
group, and <samp>/dev/dsp</samp> belongs to the <samp>audio</samp> group.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you want a certain user to have access to one of these devices, just add the
|
||||
user to the group the device belongs to, i.e. do:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
adduser user group
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This way you won't have to change the file permissions on the device.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-consolefont"></a>10.3 How do I load a console font on startup the Debian way?</h2>
|
||||
|
||||
<p>
|
||||
The <code>kbd</code> and <code>console-tools</code> packages support this, edit
|
||||
<samp>/etc/kbd/config</samp> or <samp>/etc/console-tools/config</samp> files.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-appdefaults"></a>10.4 How can I configure an X11 program's application defaults?</h2>
|
||||
|
||||
<p>
|
||||
Debian's X programs will install their application resource data in the
|
||||
<samp>/etc/X11/app-defaults/</samp> directory. If you want to customize X
|
||||
applications globally, put your customizations in those files. They are marked
|
||||
as configuration files, so their contents will be preserved during upgrades.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-booting"></a>10.5 Every distribution seems to have a different boot-up method. Tell me about Debian's.</h2>
|
||||
|
||||
<p>
|
||||
Like all Unices, Debian boots up by executing the program <samp>init</samp>.
|
||||
The configuration file for <samp>init</samp> (which is
|
||||
<samp>/etc/inittab</samp>) specifies that the first script to be executed
|
||||
should be <samp>/etc/init.d/rcS</samp>. This script runs all of the scripts in
|
||||
<samp>/etc/rcS.d/</samp> by sourcing or forking subprocess depending on their
|
||||
file extension to perform initialization such as to check and to mount file
|
||||
systems, to load modules, to start the network services, to set the clock, and
|
||||
to perform other initialization. Then, for compatibility, it runs the files
|
||||
(except those with a `.'in the filename) in <samp>/etc/rc.boot/</samp> too.
|
||||
Any scripts in the latter directory are usually reserved for system
|
||||
administrator use, and using them in packages is deprecated.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
After completing the boot process, <samp>init</samp> executes all start scripts
|
||||
in a directory specified by the default runlevel (this runlevel is given by the
|
||||
entry for <samp>id</samp> in <samp>/etc/inittab</samp>). Like most System V
|
||||
compatible Unices, Linux has 7 runlevels:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
0 (halt the system),
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
1 (single-user mode),
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
2 through 5 (various multi-user modes), and
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
6 (reboot the system).
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Debian systems come with id=2, which indicates that the default runlevel will
|
||||
be '2' when the multi-user state is entered, and the scripts in
|
||||
<samp>/etc/rc2.d/</samp> will be run.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In fact, the scripts in any of the directories, <samp>/etc/rcN.d/</samp> are
|
||||
just symbolic links back to scripts in <samp>/etc/init.d/</samp>. However, the
|
||||
<em>names</em> of the files in each of the <samp>/etc/rcN.d/</samp> directories
|
||||
are selected to indicate the <em>way</em> the scripts in
|
||||
<samp>/etc/init.d/</samp> will be run. Specifically, before entering any
|
||||
runlevel, all the scripts beginning with 'K' are run; these scripts kill
|
||||
services. Then all the scripts beginning with 'S' are run; these scripts start
|
||||
services. The two-digit number following the 'K' or 'S' indicates the order in
|
||||
which the script is run. Lower numbered scripts are executed first.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This approach works because the scripts in <samp>/etc/init.d/</samp> all take
|
||||
an argument which can be either `start', `stop', `reload', `restart' or
|
||||
`force-reload' and will then do the task indicated by the argument. These
|
||||
scripts can be used even after a system has been booted, to control various
|
||||
processes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, with the argument `reload' the command
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
/etc/init.d/sendmail reload
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
sends the sendmail daemon a signal to reread its configuration file. (BTW,
|
||||
Debian supplies <code>invoke-rc.d</code> as a wrapper for invoking the scripts
|
||||
in <samp>/etc/init.d/</samp>.)
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-custombootscripts"></a>10.6 It looks as if Debian does not use <samp>rc.local</samp> to customize the boot process; what facilities are provided?</h2>
|
||||
|
||||
<p>
|
||||
Suppose a system needs to execute script <samp>foo</samp> on start-up, or on
|
||||
entry to a particular (System V) runlevel. Then the system administrator
|
||||
should:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Enter the script <samp>foo</samp> into the directory <samp>/etc/init.d/</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Run the Debian command <samp>update-rc.d</samp> with appropriate arguments, to
|
||||
set up links between the (command-line-specified) directories rc?.d and
|
||||
<samp>/etc/init.d/foo</samp>. Here, '?' is a number from 0 through 6 and
|
||||
corresponds to each of the System V runlevels.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Reboot the system.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The command <samp>update-rc.d</samp> will set up links between files in the
|
||||
directories rc?.d and the script in <samp>/etc/init.d/</samp>. Each link will
|
||||
begin with a 'S' or a 'K', followed by a number, followed by the name of the
|
||||
script. Scripts beginning with 'S' in <samp>/etc/rcN.d/</samp> are executed
|
||||
when runlevel <samp>N</samp> is entered. Scripts beginning with a 'K' are
|
||||
executed when leaving runlevel <samp>N</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One might, for example, cause the script <samp>foo</samp> to execute at
|
||||
boot-up, by putting it in <samp>/etc/init.d/</samp> and installing the links
|
||||
with <samp>update-rc.d foo defaults 19</samp>. The argument 'defaults' refers
|
||||
to the default runlevels, which are 2 through 5. The argument '19' ensures
|
||||
that <samp>foo</samp> is called before any scripts containing numbers 20 or
|
||||
larger.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-interconffiles"></a>10.7 How does the package management system deal with packages that contain configuration files for other packages?</h2>
|
||||
|
||||
<p>
|
||||
Some users wish to create, for example, a new server by installing a group of
|
||||
Debian packages and a locally generated package consisting of configuration
|
||||
files. This is not generally a good idea, because <code>dpkg</code> will not
|
||||
know about those configuration files if they are in a different package, and
|
||||
may write conflicting configurations when one of the initial "group"
|
||||
of packages is upgraded.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Instead, create a local package that modifies the configuration files of the
|
||||
"group" of Debian packages of interest. Then <code>dpkg</code> and
|
||||
the rest of the package management system will see that the files have been
|
||||
modified by the local "sysadmin" and will not try to overwrite them
|
||||
when those packages are upgraded.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-divert"></a>10.8 How do I override a file installed by a package, so that a different version can be used instead?</h2>
|
||||
|
||||
<p>
|
||||
Suppose a sysadmin or local user wishes to use a program
|
||||
"login-local" rather than the program "login" provided by
|
||||
the Debian <code>login</code> package.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Do <strong>not</strong>:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Overwrite <samp>/bin/login</samp> with <samp>login-local</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The package management system will not know about this change, and will simply
|
||||
overwrite your custom <samp>/bin/login</samp> whenever <samp>login</samp> (or
|
||||
any package that provides <samp>/bin/login</samp>) is installed or updated.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Rather, do
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Execute:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg-divert --divert /bin/login.debian /bin/login
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
in order to cause all future installations of the Debian <code>login</code>
|
||||
package to write the file <samp>/bin/login</samp> to
|
||||
<samp>/bin/login.debian</samp> instead.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Then execute:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
cp login-local /bin/login
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
to move your own locally-built program into place.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Details are given in the manual page <code>dpkg-divert(8)</code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-localpackages"></a>10.9 How can I have my locally-built package included in the list of available packages that the package management system knows about?</h2>
|
||||
|
||||
<p>
|
||||
Execute the command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
where:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
BIN-DIR is a directory where Debian archive files (which usually have an
|
||||
extension of ".deb") are stored.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
OVERRIDE_FILE is a file that is edited by the distribution maintainers and is
|
||||
usually stored on a Debian FTP archive at <samp>indices/override.main.gz</samp>
|
||||
for the Debian packages in the "main" distribution. You can ignore
|
||||
this for local packages.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
PATHPREFIX is an <em>optional</em> string that can be prepended to the
|
||||
<samp>my_Packages</samp> file being produced.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Once you have built the file <samp>my_Packages</samp>, tell the package
|
||||
management system about it by using the command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --merge-avail my_Packages
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
If you are using APT, you can add the local repository to your
|
||||
<code>sources.list(5)</code> file, too.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-diverse"></a>10.10 Some users like mawk, others like gawk; some like vim, others like elvis; some like trn, others like tin; how does Debian support diversity?</h2>
|
||||
|
||||
<p>
|
||||
There are several cases where two packages provide two different versions of a
|
||||
program, both of which provide the same core functionality. Users might prefer
|
||||
one over another out of habit, or because the user interface of one package is
|
||||
somehow more pleasing than the interface of another. Other users on the same
|
||||
system might make a different choice.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian uses a "virtual" package system to allow system administrators
|
||||
to choose (or let users choose) their favorite tools when there are two or more
|
||||
that provide the same basic functionality, yet satisfy package dependency
|
||||
requirements without specifying a particular package.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, there might exist two different versions of newsreaders on a
|
||||
system. The news server package might 'recommend' that there exist
|
||||
<em>some</em> news reader on the system, but the choice of <samp>tin</samp> or
|
||||
<samp>trn</samp> is left up to the individual user. This is satisfied by
|
||||
having both the <code>tin</code> and <code>trn</code> packages provide the
|
||||
virtual package <code>news-reader</code>. <em>Which</em> program is invoked is
|
||||
determined by a link pointing from a file with the virtual package name
|
||||
<samp>/etc/alternatives/news-reader</samp> to the selected file, e.g.,
|
||||
<samp>/usr/bin/trn</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A single link is insufficient to support full use of an alternate program;
|
||||
normally, manual pages, and possibly other supporting files must be selected as
|
||||
well. The Perl script <samp>update-alternatives</samp> provides a way of
|
||||
ensuring that all the files associated with a specified package are selected as
|
||||
a system default.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, to check what executables provide `x-window-manager', run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
update-alternatives --display x-window-manager
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
If you want to change it, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
update-alternatives --config x-window-manager
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
And follow the instructions on the screen (basically, press the number next to
|
||||
the entry you'd like better).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If a package doesn't register itself as a window manager for some reason (file
|
||||
a bug if it's in error), or if you use a window manager from /usr/local
|
||||
directory, the selections on screen won't contain your preferred entry. You
|
||||
can update the link through command line options, like this:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
update-alternatives --install /usr/bin/x-window-manager \
|
||||
x-window-manager /usr/local/bin/wmaker-cvs 50
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
The first argument to `--install' option is the symlink that points to
|
||||
/etc/alternatives/NAME, where NAME is the second argument. The third argument
|
||||
is the program to which /etc/alternatives/NAME should point to, and the fourth
|
||||
argument is the priority (larger value means the alternative will more probably
|
||||
get picked automatically).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To remove an alternative you added, simply run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs
|
||||
</pre>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-kernel.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ 10 ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-support.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-customizing.en.html
|
|
@ -1,210 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - General information about the FAQ</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-faqinfo"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-nexttime.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ 15 ]
|
||||
[ <a href="index.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 15 - General information about the FAQ
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-authors"></a>15.1 Authors</h2>
|
||||
|
||||
<p>
|
||||
The first edition of this FAQ was made and maintained by J.H.M. Dassen (Ray)
|
||||
and Chuck Stickelman. Authors of the rewritten Debian GNU/Linux FAQ are Susan
|
||||
G. Kleinmann and Sven Rudolph. After them, the FAQ was maintained by Santiago
|
||||
Vila and, later, by Josip Rodin. The current maintainer is Javier
|
||||
Fernandez-Sanguino.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Parts of the information came from:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
The Debian-1.1 release announcement, by <code><a
|
||||
href="http://www.perens.com/">Bruce Perens</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
The Linux FAQ, by <code><a
|
||||
href="http://www.chiark.greenend.org.uk/~ijackson/">Ian Jackson</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a href="http://lists.debian.org/">Debian Mailing Lists
|
||||
Archives</a></code>,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
the dpkg programmers' manual and the Debian Policy manual (see <a
|
||||
href="ch-support.en.html#s-debiandocs">What other documentation exists on and
|
||||
for a Debian system?, Section 11.1</a>)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
many developers, volunteers, and beta testers, and
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
the flaky memories of its authors. :-)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The authors would like to thank all those who helped make this document
|
||||
possible.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
All warranties are disclaimed. All trademarks are property of their respective
|
||||
trademark owners.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-feedback"></a>15.2 Feedback</h2>
|
||||
|
||||
<p>
|
||||
Comments and additions to this document are always welcome. Please send e-mail
|
||||
to <code><a
|
||||
href="mailto:doc-debian@packages.debian.org">doc-debian@packages.debian.org</a></code>,
|
||||
or submit a wishlist bug report against the <code><code><a
|
||||
href="http://bugs.debian.org/doc-debian">doc-debian</a></code></code> package.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-latest"></a>15.3 Availability</h2>
|
||||
|
||||
<p>
|
||||
The latest version of this document can be viewed on the Debian WWW pages at
|
||||
<code><a
|
||||
href="http://www.debian.org/doc/FAQ/">http://www.debian.org/doc/FAQ/</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It is also available for download in plain text, HTML, PostScript and PDF
|
||||
formats at <code><a
|
||||
href="http://www.debian.org/doc/user-manuals#faq">http://www.debian.org/doc/user-manuals#faq</a></code>.
|
||||
Also, there are several translations there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The original SGML files used to create this document are also available in
|
||||
<code>doc-debian</code>'s source package, or in CVS at:
|
||||
<samp>:pserver:anonymous@cvs.debian.org:/cvs/debian-doc/ddp/manuals.sgml/faq</samp>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-docformat"></a>15.4 Document format</h2>
|
||||
|
||||
<p>
|
||||
This document was written using the DebianDoc SGML DTD (rewritten from LinuxDoc
|
||||
SGML). DebianDoc SGML systems enables us to create files in a variety of
|
||||
formats from one source, e.g. this document can be viewed as HTML, plain text,
|
||||
TeX DVI, PostScript, PDF, or GNU info.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Conversion utilities for DebianDoc SGML are available in Debian package
|
||||
<code>debiandoc-sgml</code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-nexttime.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ 15 ]
|
||||
[ <a href="index.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-faqinfo.en.html
|
|
@ -1,575 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - The Debian FTP archives</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-ftparchives"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-software.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ 5 ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 5 - The Debian FTP archives
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-dirtree"></a>5.1 What are all those directories at the Debian FTP archives?</h2>
|
||||
|
||||
<p>
|
||||
The software that has been packaged for Debian GNU/Linux is available in one of
|
||||
several directory trees on each Debian mirror site.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <samp>dists</samp> directory is short for "distributions", and it
|
||||
is the canonical way to access the currently available Debian releases (and
|
||||
pre-releases).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <samp>pool</samp> directory contains the actual packages, see <a
|
||||
href="#s-pools">What's in the <samp>pool</samp> directory?, Section 5.10</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are the following supplementary directories:
|
||||
</p>
|
||||
<dl>
|
||||
<dt><em>/tools/</em>:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
DOS utilities for creating boot disks, partitioning your disk drive,
|
||||
compressing/decompressing files, and booting Linux.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><em>/doc/</em>:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
The basic Debian documentation, such as the FAQ, the bug reporting system
|
||||
instructions, etc.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><em>/indices/</em>:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
The Maintainers file and the override files.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><em>/project/</em>:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
mostly developer-only materials, such as:
|
||||
</p>
|
||||
<dl>
|
||||
<dt><em>project/experimental/</em>:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This directory contains packages and tools which are still being developed, and
|
||||
are still in the alpha testing stage. Users shouldn't be using packages from
|
||||
here, because they can be dangerous and harmful even for the most experienced
|
||||
people.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-dists"></a>5.2 How many Debian distributions are there in the <samp>dists</samp> directory?</h2>
|
||||
|
||||
<p>
|
||||
There are three distributions, the "stable" distribution, the
|
||||
"testing" distribution, and the "unstable" distribution.
|
||||
The "testing" distribution is sometimes `frozen' (see <a
|
||||
href="#s-frozen">What about "testing"? How is it `frozen'?, Section
|
||||
5.6.1</a>).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-codenames"></a>5.3 What are all those names like slink, potato, etc.?</h2>
|
||||
|
||||
<p>
|
||||
They are just "codenames". When a Debian distribution is in the
|
||||
development stage, it has no version number but a codename. The purpose of
|
||||
these codenames is to make easier the mirroring of the Debian distributions (if
|
||||
a real directory like <samp>unstable</samp> suddenly changed its name to
|
||||
<samp>stable</samp>, a lot of stuff would have to be needlessly downloaded
|
||||
again).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Currently, <samp>stable</samp> is a symbolic link to <samp>etch</samp> (i.e.
|
||||
Debian GNU/Linux 4.0) and <samp>testing</samp> is a symbolic link to
|
||||
<samp>lenny</samp>. This means that <samp>etch</samp> is the current stable
|
||||
distribution and <samp>lenny</samp> is the current testing distribution.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<samp>unstable</samp> is a permanent symbolic link to <samp>sid</samp>, as
|
||||
<samp>sid</samp> is always the unstable distribution (see <a href="#s-sid">What
|
||||
about "sid"?, Section 5.4</a>).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-oldcodenames"></a>5.3.1 Which other codenames have been used in the past?</h3>
|
||||
|
||||
<p>
|
||||
Other codenames that have been already used are: <samp>buzz</samp> for release
|
||||
1.1, <samp>rex</samp> for release 1.2, <samp>bo</samp> for releases 1.3.x,
|
||||
<samp>hamm</samp> for release 2.0, <samp>slink</samp> for release 2.1,
|
||||
<samp>potato</samp> for release 2.2, <samp>woody</samp> for release 3.0 and
|
||||
<samp>sarge</samp> for release 3.1.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-sourceforcodenames"></a>5.3.2 Where do these codenames come from?</h3>
|
||||
|
||||
<p>
|
||||
So far they have been characters taken from the movie "Toy Story" by
|
||||
Pixar.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>buzz</em> (Buzz Lightyear) was the spaceman,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>rex</em> was the tyrannosaurus,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>bo</em> (Bo Peep) was the girl who took care of the sheep,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>hamm</em> was the piggy bank,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>slink</em> (Slinky Dog (R)) was the toy dog,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>potato</em> was, of course, Mr. Potato (R),
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>woody</em> was the cowboy,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>sarge</em> was the sergeant of the Green Plastic Army Men,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>etch</em> was the toy blackboard (Etch-a-Sketch (R)),
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>lenny</em> was the binoculars.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>sid</em> was the boy next door who destroyed toys.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-sid"></a>5.4 What about "sid"?</h2>
|
||||
|
||||
<p>
|
||||
<em>sid</em> or <em>unstable</em> is the place where most of the packages are
|
||||
initially uploaded. It will never be released directly, because packages which
|
||||
are to be released will first have to be included in <em>testing</em>, in order
|
||||
to be released in <em>stable</em> later on. sid contains packages for both
|
||||
released and unreleased architectures.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The name "sid" also comes from the "Toy Story" animated
|
||||
motion picture: Sid was the boy next door who destroyed toys :-)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
[<a href="footnotes.en.html#f1" name="fr1">1</a>]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-stable"></a>5.5 What does the stable directory contain?</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
stable/main/: This directory contains the packages which formally constitute
|
||||
the most recent release of the Debian GNU/Linux system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
These packages all comply with the <code><a
|
||||
href="http://www.debian.org/social_contract#guidelines">Debian Free Software
|
||||
Guidelines</a></code>, and are all freely usable and distributable.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
stable/non-free/: This directory contains packages distribution of which is
|
||||
restricted in a way that requires that distributors take careful account of the
|
||||
specified copyright requirements.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, some packages have licenses which prohibit commercial
|
||||
distribution. Others can be redistributed but are in fact shareware and not
|
||||
freeware. The licenses of each of these packages must be studied, and possibly
|
||||
negotiated, before the packages are included in any redistribution (e.g., in a
|
||||
CD-ROM).
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
stable/contrib/: This directory contains packages which are DFSG-free and
|
||||
<em>freely distributable</em> themselves, but somehow depend on a package that
|
||||
is <em>not</em> freely distributable and thus available only in the non-free
|
||||
section.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-testing"></a>5.6 What does the testing directory contain?</h2>
|
||||
|
||||
<p>
|
||||
Packages are installed into the `testing' directory after they have undergone
|
||||
some degree of testing in <a href="#s-unstable">unstable</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
They must be in sync on all architectures where they have been built and
|
||||
mustn't have dependencies that make them uninstallable; they also have to have
|
||||
fewer release-critical bugs than the versions currently in testing. This way,
|
||||
we hope that `testing' is always close to being a release candidate.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More information about the status of "testing" in general and the
|
||||
individual packages is available at <code><a
|
||||
href="http://www.debian.org/devel/testing">http://www.debian.org/devel/testing</a></code>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-frozen"></a>5.6.1 What about "testing"? How is it `frozen'?</h3>
|
||||
|
||||
<p>
|
||||
When the "testing" distribution is mature enough, the release manager
|
||||
starts `freezing' it. The normal propagation delays are increased to ensure
|
||||
that as little as possible new bugs from "unstable" enter
|
||||
"testing".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
After a while, the "testing" distribution becomes truly `frozen'.
|
||||
This means that all new packages that are to propagate to the
|
||||
"testing" are held back, unless they include release-critical bug
|
||||
fixes. The "testing" distribution can also remain in such a deep
|
||||
freeze during the so-called `test cycles', when the release is imminent.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We keep a record of bugs in the "testing" distribution that can hold
|
||||
off a package from being released, or bugs that can hold back the whole
|
||||
release. For details, please see <code><a
|
||||
href="http://www.debian.org/releases/testing/">current testing release
|
||||
information</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once that bug count lowers to maximum acceptable values, the frozen
|
||||
"testing" distribution is declared "stable" and released
|
||||
with a version number.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
With each new release, the previous "stable" distribution becomes
|
||||
obsolete and moves to the archive. For more information please see <code><a
|
||||
href="http://www.debian.org/distrib/archive">Debian archive</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-unstable"></a>5.7 What does the unstable directory contain?</h2>
|
||||
|
||||
<p>
|
||||
The `unstable' directory contains a snapshot of the current development system.
|
||||
Users are welcome to use and test these packages, but are warned about their
|
||||
state of readiness. The advantage of using the unstable distribution is that
|
||||
you are always up-to-date with the latest in GNU/Linux software industry, but
|
||||
if it breaks: you get to keep both parts :-)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are also main, contrib and non-free subdirectories in `unstable',
|
||||
separated on the same criteria as in `stable'.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-archsections"></a>5.8 What are all those directories inside <samp>dists/stable/main</samp>?</h2>
|
||||
|
||||
<p>
|
||||
Within each of the major directory trees[<a href="footnotes.en.html#f2"
|
||||
name="fr2">2</a>], there are three sets of subdirectories containing index
|
||||
files.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There's one set of <samp>binary-<var>something</var></samp> subdirectories
|
||||
which contain index files for binary packages of each available computer
|
||||
architecture, for example <samp>binary-i386</samp> for packages which execute
|
||||
on Intel x86 PC machines or <samp>binary-sparc</samp> for packages which
|
||||
execute on Sun SPARCStations.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The complete list of available architectures for each release is available at
|
||||
<code><a href="http://www.debian.org/releases/">the release's web
|
||||
page</a></code>. For the current release, please see <a
|
||||
href="ch-compat.en.html#s-arches">On what hardware architectures/systems does
|
||||
Debian GNU/Linux run?, Section 3.1</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The index files in binary-* are called Packages(.gz) and they include a summary
|
||||
of each binary package that is included in that distribution. The actual
|
||||
binary packages (for <em>woody</em> and subsequent releases) reside in the top
|
||||
level <a href="#s-pools"><samp>pool</samp> directory</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Furthermore, there's a subdirectory called source/ which contains index files
|
||||
for source packages included in the distribution. The index file is called
|
||||
Sources(.gz).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Last but not least, there's a set of subdirectories meant for the installation
|
||||
system index files. In the <em>woody</em> release, these are named
|
||||
<samp>disks-<var>architecture</var></samp>; in <em>sarge</em>, they are at
|
||||
<samp>debian-installer/binary-<var>architecture</var></samp>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-source"></a>5.9 Where is the source code?</h2>
|
||||
|
||||
<p>
|
||||
Source code is included for everything in the Debian system. Moreover, the
|
||||
license terms of most programs in the system <em>require</em> that source code
|
||||
be distributed along with the programs, or that an offer to provide the source
|
||||
code accompany the programs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The source code is distributed in the <samp>pool</samp> directory (see <a
|
||||
href="#s-pools">What's in the <samp>pool</samp> directory?, Section 5.10</a>)
|
||||
together with all the architecture-specific binary directories. To retrieve
|
||||
the source code without having to be familiar with the structure of the FTP
|
||||
archive, try a command like <samp>apt-get source mypackagename</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some packages are only distributed as source code due to the restrictions in
|
||||
their licenses. Notably, one such package is <samp>pine</samp>, see <a
|
||||
href="ch-software.en.html#s-pine">Where is pine?, Section 4.10</a> for more
|
||||
information.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Source code may or may not be available for packages in the "contrib"
|
||||
and "non-free" directories, which are not formally part of the Debian
|
||||
system.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pools"></a>5.10 What's in the <samp>pool</samp> directory?</h2>
|
||||
|
||||
<p>
|
||||
Packages are kept in a large `pool', structured according to the name of the
|
||||
source package. To make this manageable, the pool is subdivided by section
|
||||
(`main', `contrib' and `non-free') and by the first letter of the source
|
||||
package name. These directories contain several files: the binary packages for
|
||||
each architecture, and the source packages from which the binary packages were
|
||||
generated.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can find out where each package is placed by executing a command like
|
||||
<samp>apt-cache showsrc mypackagename</samp> and looking at the `Directory:'
|
||||
line. For example, the <samp>apache</samp> packages are stored in
|
||||
<samp>pool/main/a/apache/</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Additionally, since there are so many <samp>lib*</samp> packages, these are
|
||||
treated specially: for instance, libpaper packages are stored in
|
||||
<samp>pool/main/libp/libpaper/</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
[<a href="footnotes.en.html#f3" name="fr3">3</a>]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-incoming"></a>5.11 What is "incoming"?</h2>
|
||||
|
||||
<p>
|
||||
After a developer uploads a package, it stays for a short while in the
|
||||
"incoming" directory before it is checked that it's genuine and
|
||||
allowed into the archive.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Usually nobody should install things from this place. However, in some rare
|
||||
cases of emergency, the incoming directory is available at <code><a
|
||||
href="http://incoming.debian.org/">http://incoming.debian.org/</a></code>. You
|
||||
can manually fetch packages, check the GPG signature and MD5sums in the
|
||||
.changes and .dsc files, and then install them.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-ownrepository"></a>5.12 How do I set up my own apt-able repository?</h2>
|
||||
|
||||
<p>
|
||||
If you have built some private Debian packages which you'd like to install
|
||||
using the standard Debian package management tools, you can set up your own
|
||||
apt-able package archive. This is also useful if you'd like to share your
|
||||
Debian packages while these are not distributed by the Debian project.
|
||||
Instructions on how to do this are given in the <code><a
|
||||
href="http://www.debian.org/doc/manuals/repository-howto/repository-howto">Debian
|
||||
Repository HOWTO</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-software.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ 5 ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-ftparchives.en.html
|
|
@ -1,374 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Getting and installing Debian GNU/Linux</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-getting"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-basic_defs.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ 2 ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-compat.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 2 - Getting and installing Debian GNU/Linux
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The official document giving installation instructions is the <code><a
|
||||
href="http://www.debian.org/releases/stable/installmanual">Debian GNU/Linux
|
||||
Installation Guide</a></code>. We'll give some additional notes about getting
|
||||
and installing Debian GNU/Linux here.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-version"></a>2.1 What is the latest version of Debian?</h2>
|
||||
|
||||
<p>
|
||||
Currently there are three versions of Debian GNU/Linux:
|
||||
</p>
|
||||
<dl>
|
||||
<dt><em>release 4.0, a.k.a. the `stable' distribution</em></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This is stable and well tested software, it changes if major security or
|
||||
usability fixes are incorporated.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><em>the `testing' distribution</em></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This is where packages that will be released as the next `stable' are placed;
|
||||
they've had some testing in unstable but they may not be completely fit for
|
||||
release yet. This distribution is updated more often than `stable', but not
|
||||
more often than `unstable'.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><em>the `unstable' distribution</em></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This is the version currently under development; it is updated continuously.
|
||||
You can retrieve packages from the `unstable' archive on any Debian FTP site
|
||||
and use them to upgrade your system at any time, but you may not expect the
|
||||
system to be as usable or as stable as before - that's why it's called
|
||||
`<strong>unstable</strong>'!
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Please see <a href="ch-ftparchives.en.html#s-dists">How many Debian
|
||||
distributions are there in the <samp>dists</samp> directory?, Section 5.2</a>
|
||||
for more information.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-updatestable"></a>2.2 Are there package upgrades in `stable'?</h2>
|
||||
|
||||
<p>
|
||||
No new functionality is added to the stable release. Once a Debian version is
|
||||
released and tagged `stable' it will only get security updates. That is, only
|
||||
packages for which a security vulnerability has been found after the release
|
||||
will be upgraded. All the security updates are served through <code><a
|
||||
href="ftp://security.debian.org">security.debian.org</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Security updates serve one purpose: to supply a fix for a security
|
||||
vulnerability. They are not a method for sneaking additional changes into the
|
||||
stable release without going through normal point release procedure.
|
||||
Consequently, fixes for packages with security issues will not upgrade the
|
||||
software. The Debian Security Team will backport the necessary fixes to the
|
||||
version of the software distributed in `stable' instead.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For more information related to security support please read the <code><a
|
||||
href="http://www.debian.org/security/faq">Security FAQ</a></code> or the
|
||||
<code><a href="http://www.debian.org/doc/manuals/securing-debian-howto/">Debian
|
||||
Security Manual</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-boot-floppies"></a>2.3 Where/how can I get the Debian installation disks?</h2>
|
||||
|
||||
<p>
|
||||
You can get the installation disks by downloading the appropriate files from
|
||||
one of the <code><a href="http://www.debian.org/mirror/list">Debian
|
||||
mirrors</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The installation system files are separated in subdirectories of
|
||||
<code>dists/stable/main</code> directory, and the names of these subdirectories
|
||||
correspond to your architecture like this: <samp>disks-<var>arch</var></samp>
|
||||
(<var>arch</var> is "i386", "sparc", etc, check the site
|
||||
for an exact list). In each of these architecture subdirectories there can be
|
||||
several directories, each for a version of the installation system, and the
|
||||
currently used one is in the `current' directory (that's a symbolic link).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See the <code>README.txt</code> file in that directory for further
|
||||
instructions.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-cdrom"></a>2.4 How do I install the Debian from CD-ROMs?</h2>
|
||||
|
||||
<p>
|
||||
Linux supports the ISO 9660 (CD-ROM) file system with Rock Ridge extensions
|
||||
(formerly known as "High Sierra"). Several <code><a
|
||||
href="http://www.debian.org/CD/vendors/">vendors</a></code> provide Debian
|
||||
GNU/Linux in this format.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warning: When installing from CD-ROM, it is usually not a good idea to choose
|
||||
dselect's <samp>cdrom</samp> access method. This method is usually very slow.
|
||||
The <samp>mountable</samp> and <samp>apt</samp> methods, for example, are much
|
||||
better for installing from CD-ROM (see <a
|
||||
href="ch-uptodate.en.html#s-dpkg-mountable">dpkg-mountable, Section 8.2.5</a>
|
||||
and <a href="ch-uptodate.en.html#s-apt">apt-get, dselect and apt-cdrom, Section
|
||||
8.2.2</a>).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-cdimage-symlinks"></a>2.5 Why does the official stable released CD-ROM contain symlinks for `frozen' and `unstable'? I thought this CD contains just `stable'!</h2>
|
||||
|
||||
<p>
|
||||
Official Debian CD images indeed contain symlinks like:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
/dists/frozen -> sarge/
|
||||
/dists/stable -> sarge/
|
||||
/dists/testing -> sarge/
|
||||
/dists/unstable -> sarge/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
so that they work when your sources.list has an entry like
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
deb cdrom:[<name as on cd label>]/ unstable main [...]
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The fact these symlinks are present does <em>not</em> mean the image is
|
||||
`unstable' or `testing' or anything. Read the CD label in
|
||||
<code>/.disk/info</code> to find out which Debian version it contains. This
|
||||
information is also present in <code>/README.txt</code> on the CD.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Read <code><a
|
||||
href="http://www.debian.org/releases/">http://www.debian.org/releases/</a></code>
|
||||
to find out what the current `stable' and `testing' releases are.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-cdimages"></a>2.6 I have my own CD-writer, are there CD images available somewhere?</h2>
|
||||
|
||||
<p>
|
||||
Yes. To make it easier for CD vendors to provide high quality disks, we
|
||||
provide the <code><a href="http://cdimage.debian.org/">Official CD
|
||||
images</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-floppy"></a>2.7 Can I install it from a pile of floppy disks?</h2>
|
||||
|
||||
<p>
|
||||
First of all, a warning: whole Debian GNU/Linux is way too large to be
|
||||
installed from media as small as a standard 1.44MB floppy disk - you may not
|
||||
find installing from floppies a very pleasant experience.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Copy the Debian packages onto formatted floppy disks. Either a DOS, the native
|
||||
Linux "ext2", or the "minix" format will do; one just has
|
||||
to use a mount command appropriate to the floppy being used.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Using floppy disks has these complications:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Short MS-DOS file names: If you are trying to place Debian package files onto
|
||||
MS-DOS formatted disks, you will find that their names are generally too long,
|
||||
and do not conform to the MS-DOS 8.3 filename limitation. To overcome this,
|
||||
you would have to use VFAT formatted disks, since VFAT supports longer file
|
||||
names.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Large file sizes: Some packages are larger than 1.44 MBytes, and will not fit
|
||||
onto a single floppy disk. To solve this problem, use the dpkg-split tool (see
|
||||
<a href="ch-pkgtools.en.html#s-dpkg-split">dpkg-split, Section 7.1.5.2</a>),
|
||||
available in the <samp>tools</samp> directory on <code><a
|
||||
href="http://www.debian.org/mirror/list">Debian mirrors</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
You must have support in the kernel for floppy disks in order to read and write
|
||||
to floppy disk; most kernels come with floppy drive support included in them.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To mount a floppy disk under the mount point <samp>/floppy</samp> (a directory
|
||||
which should have been created during installation), use:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<pre>
|
||||
mount -t msdos /dev/fd0 /floppy/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
if the floppy disk is in drive A: and has an MS-DOS file system,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<pre>
|
||||
mount -t msdos /dev/fd1 /floppy/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
if the floppy disk is in drive B: and has an MS-DOS file system,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<pre>
|
||||
mount -t ext2 /dev/fd0 /floppy/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
if the floppy disk is in drive A: and has an ext2 (i.e., a normal Linux) file
|
||||
system.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-remoteinstall"></a>2.8 Can I get and install Debian directly from a remote Internet site?</h2>
|
||||
|
||||
<p>
|
||||
Yes. You can boot the Debian installation system from a set of files you can
|
||||
download from our FTP site and its mirrors.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can download a small CD image file, create a bootable CD from it, install
|
||||
the basic system from it and the rest over the network. For more information
|
||||
please see <code><a
|
||||
href="http://www.debian.org/CD/netinst/">http://www.debian.org/CD/netinst/</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can also download even smaller floppy disk image files, create bootable
|
||||
diskettes from them, start the installation procedure and get the rest of
|
||||
Debian over the network. For more information, please see <code><a
|
||||
href="http://www.debian.org/distrib/floppyinst">http://www.debian.org/distrib/floppyinst</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-basic_defs.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ 2 ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-compat.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-getting.en.html
|
|
@ -1,315 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Debian and the kernel</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-kernel"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-uptodate.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ 9 ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-customizing.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 9 - Debian and the kernel
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-non-debian-kernel"></a>9.1 Can I install and compile a kernel without some Debian-specific tweaking?</h2>
|
||||
|
||||
<p>
|
||||
Yes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There's only one common catch: the Debian C libraries are built with the most
|
||||
recent <em>stable</em> releases of the <strong>kernel</strong> headers. If you
|
||||
happen to need to compile a program with kernel headers newer than the ones
|
||||
from the stable branch, then you should either upgrade the package containing
|
||||
the headers (<code>libc6-dev</code>), or use the new headers from an unpacked
|
||||
tree of the newer kernel. That is, if the kernel sources are in
|
||||
<code>/usr/src/linux</code>, then you should add
|
||||
<samp>-I/usr/src/linux/include/</samp> to your command line when compiling.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-customkernel"></a>9.2 What tools does Debian provide to build custom kernels?</h2>
|
||||
|
||||
<p>
|
||||
Users who wish to (or must) build a custom kernel are encouraged to download
|
||||
the package <code>kernel-package</code>. This package contains the script to
|
||||
build the kernel package, and provides the capability to create a Debian
|
||||
<code>kernel-image-<var>version</var></code> package just by running the
|
||||
command
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
make-kpkg kernel_image
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
in the top-level kernel source directory. Help is available by executing the
|
||||
command
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
make-kpkg --help
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
and through the manual page <code>make-kpkg(1)</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Users must separately download the source code for the most recent kernel (or
|
||||
the kernel of their choice) from their favorite Linux archive site, unless a
|
||||
<code>kernel-source-<var>version</var></code> package is available (where
|
||||
<var>version</var> stands for the kernel version).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Detailed instructions for using the <code>kernel-package</code> package are
|
||||
given in the file <code>/usr/share/doc/kernel-package/README.gz</code>.
|
||||
Briefly, one should:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Unpack the kernel sources, and <samp>cd</samp> to the newly created directory.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Modify the kernel configuration using one of these commands:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>make config</samp> (for a text-based interface).
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>make menuconfig</samp> (for an ncurses-based menu driven interface).
|
||||
Note that to use this option, the <code>libncurses5-dev</code> package must be
|
||||
installed.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>make xconfig</samp> (for an X11 interface). Using this option requires
|
||||
that relevant X and Tcl/Tk packages be installed.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Any of the above steps generates a new <samp>.config</samp> in the top-level
|
||||
kernel source directory.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Execute the command: <samp>make-kpkg -rev Custom.<var>N</var>
|
||||
kernel_image</samp>, where <var>N</var> is a revision number assigned by the
|
||||
user. The new Debian archive thus formed would have revision
|
||||
Custom.<var>N</var>, e.g. <code>kernel-image-2.2.14_Custom.1_i386.deb</code>
|
||||
for the Linux kernel 2.2.14 on i386.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Install the package created.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Run <samp>dpkg --install
|
||||
../kernel-image-<var>VVV</var>_Custom.<var>N</var>_i386.deb</samp> to install
|
||||
the kernel itself. The installation script will:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
run the boot loader (grub, LILO or some other) if needed,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
install the custom kernel in
|
||||
<code>/boot/vmlinuz_<var>VVV</var>-Custom.<var>N</var></code>, and set up
|
||||
appropriate symbolic links to the most recent kernel version.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
prompt the user to make a boot floppy. This boot floppy will contain the raw
|
||||
kernel only. See <a href="#s-custombootdisk">How can I make a custom boot
|
||||
floppy?, Section 9.3</a>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To employ secondary boot loaders such as <code>loadlin</code>, copy this image
|
||||
to other locations (e.g. to an <samp>MS-DOS</samp> partition).
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-custombootdisk"></a>9.3 How can I make a custom boot floppy?</h2>
|
||||
|
||||
<p>
|
||||
This task is greatly aided by the Debian package <code>boot-floppies</code>,
|
||||
normally found in the <samp>admin</samp> section of the Debian FTP archive.
|
||||
Shell scripts in this package produce boot floppies in the
|
||||
<samp>SYSLINUX</samp> format. These are <samp>MS-DOS</samp> formatted floppies
|
||||
whose master boot records have been altered so that they boot Linux directly
|
||||
(or whatever other operating system has been defined in the
|
||||
<code>syslinux.cfg</code> file on the floppy). Other scripts in this package
|
||||
produce emergency root disks and can even reproduce the base disks.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You will find more information about this in the
|
||||
<code>/usr/share/doc/boot-floppies/README</code> file after installing the
|
||||
<code>boot-floppies</code> package.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-modules"></a>9.4 What special provisions does Debian provide to deal with modules?</h2>
|
||||
|
||||
<p>
|
||||
Debian's <code>modconf</code> package provides a shell script
|
||||
(<code>/usr/sbin/modconf</code>) which can be used to customize the
|
||||
configuration of modules. This script presents a menu-based interface,
|
||||
prompting the user for particulars on the loadable device drivers in his
|
||||
system. The responses are used to customize the file
|
||||
<code>/etc/modules.conf</code> (which lists aliases, and other arguments that
|
||||
must be used in conjunction with various modules) through files in
|
||||
<code>/etc/modutils/</code>, and <code>/etc/modules</code> (which lists the
|
||||
modules that must be loaded at boot time).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Like the (new) <code>Configure.help</code> files that are now available to
|
||||
support the construction of custom kernels, the <code>modconf</code> package
|
||||
comes with a series of help files (in <code>/usr/lib/modules_help/</code>)
|
||||
which provide detailed information on appropriate arguments for each of the
|
||||
modules.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-removeoldkernel"></a>9.5 Can I safely de-install an old kernel package, and if so, how?</h2>
|
||||
|
||||
<p>
|
||||
Yes. The <code>kernel-image-<var>NNN</var>.prerm</code> script checks to see
|
||||
whether the kernel you are currently running is the same as the kernel you are
|
||||
trying to de-install. Therefore you can remove unwanted kernel image packages
|
||||
using this command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --purge --force-remove-essential kernel-image-<var>NNN</var>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
(replace <var>NNN</var> with your kernel version and revision number, of
|
||||
course)
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-uptodate.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ 9 ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-customizing.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-kernel.en.html
|
|
@ -1,147 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Changes expected in the next major release of Debian</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-nexttime"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-redistrib.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ 14 ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 14 - Changes expected in the next major release of Debian
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-security"></a>14.1 Increased security</h2>
|
||||
|
||||
<p>
|
||||
Debian contains support for shadow passwords since release 1.3. In addition,
|
||||
the Linux library of Pluggable Authentication Modules (a.k.a. <code><a
|
||||
href="http://www.kernel.org/pub/linux/libs/pam/">libpam</a></code>;) that
|
||||
allows sysadmins to choose authorization modes on an application-specific basis
|
||||
is available, and initially set to authenticate via shadow password.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Including full support for additional security enhancements for mandatory
|
||||
access control mechanisms such as SElinux, RSBAC and buffer overflow protection
|
||||
like Exec-shield or PaX is still in progress.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-i18n"></a>14.2 Extended support for non-English users</h2>
|
||||
|
||||
<p>
|
||||
Debian already has very good support for non-English users, see <a
|
||||
href="ch-software.en.html#s-nonenglish">How does Debian support non-English
|
||||
languages?, Section 4.8</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We hope to find people who will provide support for even more languages, and
|
||||
translate. Some programs already support internationalization, so we need
|
||||
message catalogs translators. Many programs still remain to be properly
|
||||
internationalized.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The GNU Translation Project <code><a
|
||||
href="ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS">ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS</a></code>
|
||||
works on internationalizing the GNU programs.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-morearches"></a>14.3 More architectures</h2>
|
||||
|
||||
<p>
|
||||
Complete Debian system on other architectures such as AMD64 or SuperH is
|
||||
expected soon. Notice that even though some architectures are dropped for a
|
||||
given the release there still might be a way to install and upgrade using the
|
||||
latest <samp>sid</samp>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-morekernels"></a>14.4 More kernels</h2>
|
||||
|
||||
<p>
|
||||
In addition to Debian GNU/Hurd, Debian is being ported also to BSD kernels,
|
||||
namely to <code><a href="http://www.debian.org/ports/netbsd">NetBSD</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-redistrib.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ 14 ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-nexttime.en.html
|
|
@ -1,863 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Basics of the Debian package management system</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-pkg_basics"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-ftparchives.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ 6 ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 6 - Basics of the Debian package management system
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-package"></a>6.1 What is a Debian package?</h2>
|
||||
|
||||
<p>
|
||||
Packages generally contain all of the files necessary to implement a set of
|
||||
related commands or features. There are two types of Debian packages:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>Binary packages</em>, which contain executables, configuration files,
|
||||
man/info pages, copyright information, and other documentation. These packages
|
||||
are distributed in a Debian-specific archive format (see <a
|
||||
href="#s-deb-format">What is the format of a Debian binary package?, Section
|
||||
6.2</a>); they are usually distinguished by having a '.deb' file extension.
|
||||
Binary packages can be unpacked using the Debian utility <samp>dpkg</samp>;
|
||||
details are given in its manual page.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<em>Source packages</em>, which consist of a <samp>.dsc</samp> file describing
|
||||
the source package (including the names of the following files), a
|
||||
<samp>.orig.tar.gz</samp> file that contains the original unmodified source in
|
||||
gzip-compressed tar format and usually a <samp>.diff.gz</samp> file that
|
||||
contains the Debian-specific changes to the original source. The utility
|
||||
<samp>dpkg-source</samp> packs and unpacks Debian source archives; details are
|
||||
provided in its manual page.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Installation of software by the package system uses "dependencies"
|
||||
which are carefully designed by the package maintainers. These dependencies
|
||||
are documented in the <samp>control</samp> file associated with each package.
|
||||
For example, the package containing the GNU C compiler (<code>gcc</code>)
|
||||
"depends" on the package <code>binutils</code> which includes the
|
||||
linker and assembler. If a user attempts to install <code>gcc</code> without
|
||||
having first installed <code>binutils</code>, the package management system
|
||||
(dpkg) will send an error message that it also needs <code>binutils</code>, and
|
||||
stop installing <code>gcc</code>. (However, this facility can be overridden by
|
||||
the insistent user, see <code>dpkg(8)</code>.) See more in <a
|
||||
href="#s-depends">What is meant by saying that a package <em>Depends</em>,
|
||||
<em>Recommends</em>, <em>Suggests</em>, <em>Conflicts</em>, <em>Replaces</em>
|
||||
or <em>Provides</em> another package?, Section 6.9</a> below.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian's packaging tools can be used to:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
manipulate and manage packages or parts of packages,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
aid the user in the break-up of packages that must be transmitted through a
|
||||
limited-size medium such as floppy disks,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
aid developers in the construction of package archives, and
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
aid users in the installation of packages which reside on a remote FTP site.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-deb-format"></a>6.2 What is the format of a Debian binary package?</h2>
|
||||
|
||||
<p>
|
||||
A Debian "package", or a Debian archive file, contains the executable
|
||||
files, libraries, and documentation associated with a particular suite of
|
||||
program or set of related programs. Normally, a Debian archive file has a
|
||||
filename that ends in <samp>.deb</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The internals of this Debian binary packages format are described in the
|
||||
<code>deb(5)</code> manual page. This internal format is subject to change
|
||||
(between major releases of Debian GNU/Linux), therefore please always use
|
||||
<code>dpkg-deb(1)</code> for manipulating <samp>.deb</samp> files.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pkgname"></a>6.3 Why are Debian package file names so long?</h2>
|
||||
|
||||
<p>
|
||||
The Debian binary package file names conform to the following convention:
|
||||
<foo>_<VersionNumber>-<DebianRevisionNumber>.deb
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note that <samp>foo</samp> is supposed to be the package name. As a check, one
|
||||
can learn the package name associated with a particular Debian archive file
|
||||
(.deb file) in one of these ways:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
inspect the "Packages" file in the directory where it was stored at a
|
||||
Debian FTP archive site. This file contains a stanza describing each package;
|
||||
the first field in each stanza is the formal package name.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
use the command <samp>dpkg --info foo_VVV-RRR.deb</samp> (where VVV and RRR are
|
||||
the version and revision of the package in question, respectively). This
|
||||
displays, among other things, the package name corresponding to the archive
|
||||
file being unpacked.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The <samp>VVV</samp> component is the version number specified by the upstream
|
||||
developer. There are no standards in place here, so the version number may
|
||||
have formats as different as "19990513" and "1.3.8pre1".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <samp>RRR</samp> component is the Debian revision number, and is specified
|
||||
by the Debian developer (or an individual user if he chooses to build the
|
||||
package himself). This number corresponds to the revision level of the Debian
|
||||
package, thus, a new revision level usually signifies changes in the Debian
|
||||
Makefile (<samp>debian/rules</samp>), the Debian control file
|
||||
(<samp>debian/control</samp>), the installation or removal scripts
|
||||
(<samp>debian/p*</samp>), or in the configuration files used with the package.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-controlfile"></a>6.4 What is a Debian control file?</h2>
|
||||
|
||||
<p>
|
||||
Specifics regarding the contents of a Debian control file are provided in the
|
||||
Debian Policy Manual, section 5, see <a
|
||||
href="ch-support.en.html#s-debiandocs">What other documentation exists on and
|
||||
for a Debian system?, Section 11.1</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Briefly, a sample control file is shown below for the Debian package hello:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
Package: hello
|
||||
Priority: optional
|
||||
Section: devel
|
||||
Installed-Size: 45
|
||||
Maintainer: Adam Heath <doogie@debian.org>
|
||||
Architecture: i386
|
||||
Version: 1.3-16
|
||||
Depends: libc6 (>= 2.1)
|
||||
Description: The classic greeting, and a good example
|
||||
The GNU hello program produces a familiar, friendly greeting. It
|
||||
allows nonprogrammers to use a classic computer science tool which
|
||||
would otherwise be unavailable to them.
|
||||
.
|
||||
Seriously, though: this is an example of how to do a Debian package.
|
||||
It is the Debian version of the GNU Project's `hello world' program
|
||||
(which is itself an example for the GNU Project).
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
The Package field gives the package name. This is the name by which the
|
||||
package can be manipulated by the package tools, and usually similar to but not
|
||||
necessarily the same as the first component string in the Debian archive file
|
||||
name.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Version field gives both the upstream developer's version number and (in
|
||||
the last component) the revision level of the Debian package of this program as
|
||||
explained in <a href="#s-pkgname">Why are Debian package file names so long?,
|
||||
Section 6.3</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Architecture field specifies the chip for which this particular binary was
|
||||
compiled.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Depends field gives a list of packages that have to be installed in order
|
||||
to install this package successfully.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Installed-Size indicates how much disk space the installed package will
|
||||
consume. This is intended to be used by installation front-ends in order to
|
||||
show whether there is enough disk space available to install the program.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Section line gives the "section" where this Debian package is
|
||||
stored at the Debian FTP sites. This is the name of a subdirectory (within one
|
||||
of the main directories, see <a href="ch-ftparchives.en.html#s-dirtree">What
|
||||
are all those directories at the Debian FTP archives?, Section 5.1</a>) where
|
||||
the package is stored.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Priority indicates how important is this package for installation, so that
|
||||
semi-intelligent software like dselect or console-apt can sort the package into
|
||||
a category of e.g. packages optionally installed. See <a
|
||||
href="#s-priority">What is an <em>Essential</em> <em>Required</em>,
|
||||
<em>Important</em>, <em>Standard</em>, <em>Optional</em>, or <em>Extra</em>
|
||||
package?, Section 6.7</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Maintainer field gives the e-mail address of the person who is currently
|
||||
responsible for maintaining this package.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Description field gives a brief summary of the package's features.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For more information about all possible fields a package can have, please see
|
||||
the Debian Policy Manual, section 5., "Control files and their
|
||||
fields".
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-conffile"></a>6.5 What is a Debian conffile?</h2>
|
||||
|
||||
<p>
|
||||
Conffiles is a list of configuration files (usually placed in
|
||||
<samp>/etc</samp>) that the package management system will not overwrite when
|
||||
the package is upgraded. This ensures that local values for the contents of
|
||||
these files will be preserved, and is a critical feature enabling the in-place
|
||||
upgrade of packages on a running system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To determine exactly which files are preserved during an upgrade, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --status package
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
And look under "Conffiles:".
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-maintscripts"></a>6.6 What is a Debian preinst, postinst, prerm, and postrm script?</h2>
|
||||
|
||||
<p>
|
||||
These files are executable scripts which are automatically run before or after
|
||||
a package is installed. Along with a file named <samp>control</samp>, all of
|
||||
these files are part of the "control" section of a Debian archive
|
||||
file.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The individual files are:
|
||||
</p>
|
||||
<dl>
|
||||
<dt>preinst</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This script executes before that package will be unpacked from its Debian
|
||||
archive (".deb") file. Many 'preinst' scripts stop services for
|
||||
packages which are being upgraded until their installation or upgrade is
|
||||
completed (following the successful execution of the 'postinst' script).
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>postinst</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This script typically completes any required configuration of the package
|
||||
<samp>foo</samp> once <samp>foo</samp> has been unpacked from its Debian
|
||||
archive (".deb") file. Often, 'postinst' scripts ask the user for
|
||||
input, and/or warn the user that if he accepts default values, he should
|
||||
remember to go back and re-configure that package as the situation warrants.
|
||||
Many 'postinst' scripts then execute any commands necessary to start or restart
|
||||
a service once a new package has been installed or upgraded.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>prerm</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This script typically stops any daemons which are associated with a package.
|
||||
It is executed before the removal of files associated with the package.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>postrm</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This script typically modifies links or other files associated with
|
||||
<samp>foo</samp>, and/or removes files created by the package. (Also see <a
|
||||
href="#s-virtual">What is a Virtual Package?, Section 6.8</a>.)
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Currently all of the control files can be found in directory
|
||||
<samp>/var/lib/dpkg/info</samp>. The files relevant to package
|
||||
<samp>foo</samp> begin with the name "foo" and have file extensions
|
||||
of "preinst", "postinst", etc., as appropriate. The file
|
||||
<samp>foo.list</samp> in that directory lists all of the files that were
|
||||
installed with the package <samp>foo</samp>. (Note that the location of these
|
||||
files is a dpkg internal; you should not rely on it.)
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-priority"></a>6.7 What is an <em>Essential</em> <em>Required</em>, <em>Important</em>, <em>Standard</em>, <em>Optional</em>, or <em>Extra</em> package?</h2>
|
||||
|
||||
<p>
|
||||
Each Debian package is assigned a <em>priority</em> by the distribution
|
||||
maintainers, as an aid to the package management system. The priorities are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>Required</strong>: packages that are necessary for the proper
|
||||
functioning of the system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This includes all tools that are necessary to repair system defects. You must
|
||||
not remove these packages or your system may become totally broken and you may
|
||||
probably not even be able to use dpkg to put things back. Systems with only
|
||||
the Required packages are probably unusable, but they do have enough
|
||||
functionality to allow the sysadmin to boot and install more software.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>Important</strong> packages should be found on any Unix-like system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Other packages which the system will not run well or be usable without will be
|
||||
here. This does <em>NOT</em> include Emacs or X11 or TeX or any other large
|
||||
applications. These packages only constitute the bare infrastructure.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>Standard</strong> packages are standard on any Linux system, including
|
||||
a reasonably small but not too limited character-mode system. Tools are
|
||||
included to be able to browse the web (using w3m), send e-mail (with mutt) and
|
||||
download files from FTP servers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This is what will install by default if users do not select anything else. It
|
||||
does not include many large applications, but it does include the Python
|
||||
interpreter and some server software like OpenSSH (for remote administration),
|
||||
Exim (for mail delivery, although it can be configured for local delivery
|
||||
only), an identd server (pidentd) and the RPC portmapper
|
||||
(<samp>portmap</samp>). It also includes some common generic documentation
|
||||
that most users will find helpful.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>Optional</strong> packages include all those that you might reasonably
|
||||
want to install if you did not know what it was, or do not have specialized
|
||||
requirements.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This includes X11, a full TeX distribution, and lots of applications.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>Extra</strong>: packages that either conflict with others with higher
|
||||
priorities, are only likely to be useful if you already know what they are, or
|
||||
have specialized requirements that make them unsuitable for
|
||||
"Optional".
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If you do a default Debian installation all the packages of priority
|
||||
<strong>Standard</strong> or higher will be installed in your system. If you
|
||||
select pre-defined tasks you will get lower priority packages too.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Additionally, some packages are marked as <strong>Essential</strong> since they
|
||||
are absolutely necessary for the proper functioning of the system. The package
|
||||
management tools will refuse to remove these.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-virtual"></a>6.8 What is a Virtual Package?</h2>
|
||||
|
||||
<p>
|
||||
A virtual package is a generic name that applies to any one of a group of
|
||||
packages, all of which provide similar basic functionality. For example, both
|
||||
the <samp>tin</samp> and <samp>trn</samp> programs are news readers, and should
|
||||
therefore satisfy any dependency of a program that required a news reader on a
|
||||
system, in order to work or to be useful. They are therefore both said to
|
||||
provide the "virtual package" called <samp>news-reader</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Similarly, <samp>smail</samp> and <samp>sendmail</samp> both provide the
|
||||
functionality of a mail transport agent. They are therefore said to provide
|
||||
the virtual package, "mail transport agent". If either one is
|
||||
installed, then any program depending on the installation of a
|
||||
<samp>mail-transport-agent</samp> will be satisfied by the existence of this
|
||||
virtual package.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian provides a mechanism so that, if more than one package which provide the
|
||||
same virtual package is installed on a system, then system administrators can
|
||||
set one as the preferred package. The relevant command is
|
||||
<samp>update-alternatives</samp>, and is described further in <a
|
||||
href="ch-customizing.en.html#s-diverse">Some users like mawk, others like gawk;
|
||||
some like vim, others like elvis; some like trn, others like tin; how does
|
||||
Debian support diversity?, Section 10.10</a>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-depends"></a>6.9 What is meant by saying that a package <em>Depends</em>, <em>Recommends</em>, <em>Suggests</em>, <em>Conflicts</em>, <em>Replaces</em> or <em>Provides</em> another package?</h2>
|
||||
|
||||
<p>
|
||||
The Debian package system has a range of package "dependencies" which
|
||||
are designed to indicate (in a single flag) the level at which Program A can
|
||||
operate independently of the existence of Program B on a given system:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Package A <em>depends</em> on Package B if B absolutely must be installed in
|
||||
order to run A. In some cases, A depends not only on B, but on a version of B.
|
||||
In this case, the version dependency is usually a lower limit, in the sense
|
||||
that A depends on any version of B more recent than some specified version.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Package A <em>recommends</em> Package B, if the package maintainer judges that
|
||||
most users would not want A without also having the functionality provided by
|
||||
B.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Package A <em>suggests</em> Package B if B contains files that are related to
|
||||
(and usually enhance) the functionality of A.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Package A <em>conflicts</em> with Package B when A will not operate if B is
|
||||
installed on the system. Most often, conflicts are cases where A contains
|
||||
files which are an improvement over those in B. "Conflicts" are
|
||||
often combined with "replaces".
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Package A <em>replaces</em> Package B when files installed by B are removed and
|
||||
(in some cases) over-written by files in A.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Package A <em>provides</em> Package B when all of the files and functionality
|
||||
of B are incorporated into A. This mechanism provides a way for users with
|
||||
constrained disk space to get only that part of package A which they really
|
||||
need.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
More detailed information on the use of each these terms can be found in the
|
||||
Policy manual.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pre-depends"></a>6.10 What is meant by Pre-Depends?</h2>
|
||||
|
||||
<p>
|
||||
"Pre-Depends" is a special dependency. In the case of most packages,
|
||||
<samp>dpkg</samp> will unpack its archive file (i.e., its <samp>.deb</samp>
|
||||
file) independently of whether or not the files on which it depends exist on
|
||||
the system. Simplistically, unpacking means that <samp>dpkg</samp> will
|
||||
extract the files from the archive file that were meant to be installed on your
|
||||
file system, and put them in place. If those packages <em>depend</em> on the
|
||||
existence of some other packages on your system, <samp>dpkg</samp> will refuse
|
||||
to complete the installation (by executing its "configure" action)
|
||||
until the other packages are installed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
However, for some packages, <samp>dpkg</samp> will refuse even to unpack them
|
||||
until certain dependencies are resolved. Such packages are said to
|
||||
"Pre-depend" on the presence of some other packages. The Debian
|
||||
project provided this mechanism to support the safe upgrading of systems from
|
||||
<samp>a.out</samp> format to <samp>ELF</samp> format, where the <em>order</em>
|
||||
in which packages were unpacked was critical. There are other large upgrade
|
||||
situations where this method is useful, e.g. the packages with the required
|
||||
priority and their LibC dependency.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As before, more detailed information about this can be found in the Policy
|
||||
manual.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pkgstatus"></a>6.11 What is meant by <em>unknown</em>, <em>install</em>, <em>remove</em> <em>purge</em> and <em>hold</em> in the package status?</h2>
|
||||
|
||||
<p>
|
||||
These "want" flags tell what the user wanted to do with a package (as
|
||||
indicated either by the user's actions in the "Select" section of
|
||||
<samp>dselect</samp>, or by the user's direct invocations of
|
||||
<samp>dpkg</samp>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Their meanings are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
unknown - the user has never indicated whether he wants the package
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
install - the user wants the package installed or upgraded
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
remove - the user wants the package removed, but does not want to remove any
|
||||
existing configuration files.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
purge - the user wants the package to be removed completely, including its
|
||||
configuration files.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
hold - the user wants this package not to be processed, i.e., he wants to keep
|
||||
the current version with the current status whatever that is.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-puttingonhold"></a>6.12 How do I put a package on hold?</h2>
|
||||
|
||||
<p>
|
||||
There are three ways of holding back packages, with dpkg, aptitude or with
|
||||
dselect.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
With dpkg, you just have to export the list of package selections, with:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --get-selections \* > selections.txt
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Then edit the resulting file <code>selections.txt</code>, change the line
|
||||
containing the package you wish to hold, e.g. <code>libc6</code>, from this:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
libc6 install
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
to this:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
libc6 hold
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Save the file, and reload it into dpkg database with:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --set-selections < selections.txt
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
With aptitude, you can hold a package using
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
aptitude hold package_name
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
and remove the hold with
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
aptitude unhold package_name
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
With dselect, you just have to enter the [S]elect screen, find the package you
|
||||
wish to hold in its present state, and press the `=' key (or `H'). The changes
|
||||
will go live immediately after you exit the [S]elect screen.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-sourcepkgs"></a>6.13 How do I install a source package?</h2>
|
||||
|
||||
<p>
|
||||
Debian source packages can't actually be "installed", they are just
|
||||
unpacked in whatever directory you want to build the binary packages they
|
||||
produce.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Source packages are distributed on most of the same mirrors where you can
|
||||
obtain the binary packages. If you set up your APT's
|
||||
<code>sources.list(5)</code> to include the appropriate "deb-src"
|
||||
lines, you'll be able to easily download any source packages by running
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get source foo
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
To help you in actually building the source package, Debian source package
|
||||
provide the so-called build-dependencies mechanism. This means that the source
|
||||
package maintainer keeps a list of other packages that are required to build
|
||||
their package. To see how this is useful, run
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get build-dep foo
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
before building the source.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-sourcebuild"></a>6.14 How do I build binary packages from a source package?</h2>
|
||||
|
||||
<p>
|
||||
You will need all of foo_*.dsc, foo_*.tar.gz and foo_*.diff.gz to compile the
|
||||
source (note: there is no .diff.gz for some packages that are native to
|
||||
Debian).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have them (<a href="#s-sourcepkgs">How do I install a source package?,
|
||||
Section 6.13</a>), if you have the <code>dpkg-dev</code> package installed, the
|
||||
following command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg-source -x foo_version-revision.dsc
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
will extract the package into a directory called <samp>foo-version</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you want just to compile the package, you may cd into
|
||||
<samp>foo-version</samp> directory and issue the command
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg-buildpackage -rfakeroot -b
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
to build the package (note that this also requires the <code>fakeroot</code>
|
||||
package), and then
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg -i ../foo_version-revision_arch.deb
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
to install the newly-built package(s).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-creatingdebs"></a>6.15 How do I create Debian packages myself?</h2>
|
||||
|
||||
<p>
|
||||
For more detailed description on this, read the New Maintainers' Guide,
|
||||
available in the <code>maint-guide</code> package, or at <code><a
|
||||
href="http://www.debian.org/doc/devel-manuals#maint-guide">http://www.debian.org/doc/devel-manuals#maint-guide</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-ftparchives.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ 6 ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-pkg_basics.en.html
|
|
@ -1,936 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - The Debian package management tools</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-pkgtools"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-pkg_basics.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ 7 ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-uptodate.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 7 - The Debian package management tools
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pkgprogs"></a>7.1 What programs does Debian provide for managing its packages?</h2>
|
||||
|
||||
<p>
|
||||
There are multiple tools that are used to manage Debian packages, from graphic
|
||||
or text-based interfaces to the low level tools used to install packages. All
|
||||
the available tools rely on the lower level tools to properly work and are
|
||||
presented here in decreasing complexity level.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It is important to understand that the higher level package management tools
|
||||
such as <code>aptitude</code> or <code>dselect</code> rely on <code>apt</code>
|
||||
which, itself, relies on <code>dpkg</code> to manage the packages in the
|
||||
system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See the <code><a href="http://www.debian.org/doc/manuals/apt-howto/">APT
|
||||
HOWTO</a></code> for more information about the Debian package management
|
||||
utilities. This document is available in various languages and formats, see
|
||||
<code><a href="http://www.debian.org/doc/user-manuals#apt-howto">the APT HOWTO
|
||||
entry on the DDP Users' Manuals overview</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-dpkg"></a>7.1.1 dpkg</h3>
|
||||
|
||||
<p>
|
||||
This is the main package management program. <code>dpkg</code> can be invoked
|
||||
with many options. Some common uses are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Find out all the options: <samp>dpkg --help</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Print out the control file (and other information) for a specified package:
|
||||
<samp>dpkg --info foo_VVV-RRR.deb</samp>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Install a package (including unpacking and configuring) onto the file system of
|
||||
the hard disk: <samp>dpkg --install foo_VVV-RRR.deb</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Unpack (but do not configure) a Debian archive into the file system of the hard
|
||||
disk: <samp>dpkg --unpack foo_VVV-RRR.deb</samp>. Note that this operation
|
||||
does <em>not</em> necessarily leave the package in a usable state; some files
|
||||
may need further customization to run properly. This command removes any
|
||||
already-installed version of the program and runs the preinst (see <a
|
||||
href="ch-pkg_basics.en.html#s-maintscripts">What is a Debian preinst, postinst,
|
||||
prerm, and postrm script?, Section 6.6</a>) script associated with the package.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Configure a package that already has been unpacked: <samp>dpkg --configure
|
||||
foo</samp>. Among other things, this action runs the postinst (see <a
|
||||
href="ch-pkg_basics.en.html#s-maintscripts">What is a Debian preinst, postinst,
|
||||
prerm, and postrm script?, Section 6.6</a>) script associated with the package.
|
||||
It also updates the files listed in the <samp>conffiles</samp> for this
|
||||
package. Notice that the 'configure' operation takes as its argument a package
|
||||
name (e.g., foo), <em>not</em> the name of a Debian archive file (e.g.,
|
||||
foo_VVV-RRR.deb).
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Extract a single file named "blurf" (or a group of files named
|
||||
"blurf*" from a Debian archive: <samp>dpkg --fsys-tarfile
|
||||
foo_VVV-RRR.deb | tar -xf - blurf*</samp>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Remove a package (but not its configuration files): <samp>dpkg --remove
|
||||
foo</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Remove a package (including its configuration files): <samp>dpkg --purge
|
||||
foo</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
List the installation status of packages containing the string (or regular
|
||||
expression) "foo*": <samp>dpkg --list 'foo*'</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-apt-get"></a>7.1.2 APT</h3>
|
||||
|
||||
<p>
|
||||
APT is the <em>Advanced Package Tool</em> and provides the <code>apt-get</code>
|
||||
program. <code>apt-get</code> provides a simple way to retrieve and install
|
||||
packages from multiple sources using the command line. Unlike
|
||||
<code>dpkg</code>, <code>apt-get</code> does not understand .deb files, it
|
||||
works with the packages proper name and can only install .deb archives from a
|
||||
source specified in <code>/etc/apt/sources.list</code>. <code>apt-get</code>
|
||||
will call <code>dpkg</code> directly after downloading the .deb archives[<a
|
||||
href="footnotes.en.html#f4" name="fr4">4</a>] from the configured sources.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some common ways to use <code>apt-get</code> are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To update the list of package known by your system, you can run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get update
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
(you should execute this regularly to update your package lists)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To upgrade all the packages on your system, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get upgrade
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To install the <var>foo</var> package and all its dependencies, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get install foo
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To remove the foo package from your system, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get remove foo
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To remove the foo package and its configuration files from your system, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get --purge remove foo
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To upgrade all the packages on your system to a new Debian GNU/Linux release,
|
||||
run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get dist-upgrade
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note that you must be logged in as root to perform any commands that modify the
|
||||
system packages.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The apt tool suite also includes the <code>apt-cache</code> tool to query the
|
||||
package lists. You can use it to find packages providing specific
|
||||
functionality through simple text or regular expression queries and through
|
||||
queries of dependencies in the package management system. Some common ways to
|
||||
use <code>apt-cache</code> are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To find packages whose description contain <var>word</var>:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-cache search <var>word</var>
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To print the detailed information of a package:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-cache show <var>package</var>
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To print the packages a given package depends on:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-cache depends <var>package</var>
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
To print detailed information of the versions available for a package and the
|
||||
packages that reverse-depends on it:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-cache showpkg <var>package</var>
|
||||
</pre>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
For more information, install the <code>apt</code> package and read
|
||||
<code>apt-get(8)</code>, <code>sources.list(5)</code> and install the
|
||||
<code>apt-doc</code> package and read
|
||||
<code>/usr/share/doc/apt-doc/guide.html/index.html</code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-aptitude"></a>7.1.3 aptitude</h3>
|
||||
|
||||
<p>
|
||||
<code>aptitude</code> is a package manager for Debian GNU/Linux systems that
|
||||
provides a frontend to the apt package management infrastructure.
|
||||
<code>aptitude</code> is a text-based interface using the curses library, it
|
||||
can be used to perform management tasks in a fast and easy way.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>aptitude</code> provides the functionality of <code>dselect</code> and
|
||||
<code>apt-get</code>, as well as many additional features not found in either
|
||||
program:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> offers access to all versions of a package.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> logs all its actions in <code>/var/log/aptitude</code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> makes it easy to keep track of obsolete software by
|
||||
listing it under "Obsolete and Locally Created Packages".
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> includes a fairly powerful system for searching
|
||||
particular packages and limiting the package display. Users familiar with
|
||||
<code>mutt</code> will pick up quickly, as <code>mutt</code> was the
|
||||
inspiration for the expression syntax.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> tracks which packages have been installed due to
|
||||
dependencies and removes them automatically when the packages that needed them
|
||||
are removed from the system.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> can automatically install <em>Recommended:</em>
|
||||
packages[<a href="footnotes.en.html#f5" name="fr5">5</a>].
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code>aptitude</code> in full screen mode has <code>su</code> functionality
|
||||
embedded and can be run by a normal user. It will call <code>su</code> (and
|
||||
ask for the root password, if any) when you really need administrative
|
||||
privileges
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
You can use <code>aptitude</code> through a visual interface (simply run
|
||||
<samp>aptitude</samp>) or directly from the command line. The command line
|
||||
syntax used is very similar to the one used in <code>apt-get</code>. For
|
||||
example, to install the <var>foo</var> package, you can run <samp>aptitude
|
||||
install <var>foo</var></samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note that <code>aptitude</code> is the recommended program by Debian to install
|
||||
a package and/or to upgrade your system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For more informations, read the manual page <code>aptitude(8)</code> and
|
||||
install the <code>aptitude-doc-en</code> package.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-dselect"></a>7.1.4 dselect</h3>
|
||||
|
||||
<p>
|
||||
This program is a menu-driven interface to the Debian package management
|
||||
system. It is particularly useful for first-time installations. Some users
|
||||
might feel more comfortable using <code>aptitude</code> which is also
|
||||
recommended over <code>dselect</code> for large-scale upgrades. For more
|
||||
information on <code>aptitude</code> please see <a href="#s-aptitude">aptitude,
|
||||
Section 7.1.3</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>dselect</code> can:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
guide the user as he/she chooses among packages to install or remove, ensuring
|
||||
that no packages are installed that conflict with one another, and that all
|
||||
packages required to make each package work properly are installed;
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
warn the user about inconsistencies or incompatibilities in their selections;
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
determine the order in which the packages must be installed;
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
automatically perform the installation or removal; and
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
guide the user through whatever configuration process are required for each
|
||||
package.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<code>dselect</code> begins by presenting the user with a menu of 7 items, each
|
||||
of which is a specific action. The user can select one of the actions by using
|
||||
the arrow keys to move the highlighter bar, then pressing the
|
||||
<em><enter></em> key to select the highlighted action.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
What the user sees next depends on the action he selected. If he selects any
|
||||
option but <samp>Access</samp> or <samp>Select</samp>, then
|
||||
<code>dselect</code> will simply proceed to execute the specified action: e.g.,
|
||||
if the user selected the action <samp>Remove</samp>, then dselect would proceed
|
||||
to remove all of the files selected for removal when the user last chose the
|
||||
<samp>Select</samp> action.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Both the <samp>Access</samp> menu item and the <samp>Select</samp> menu item
|
||||
lead to additional menus. In both cases, the menus are presented as split
|
||||
screens; the top screen gives a scrollable list of choices, while the bottom
|
||||
screen gives a brief explanation ("info") for each choice.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Extensive on-line help is available, use the '?' key to get to a help screen
|
||||
at any time.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The order in which the actions are presented in the first <code>dselect</code>
|
||||
menu represents the order in which a user would normally choose
|
||||
<code>dselect</code> to install packages. However, a user can pick any of the
|
||||
main menu choices as often as needed (including not at all, depending on what
|
||||
one wants to do).
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Begin by choosing an <strong>Access Method</strong>. This is the method by
|
||||
which the user plans on accessing Debian packages; e.g., some users have Debian
|
||||
packages available on CD-ROM, while others plan to fetch them using anonymous
|
||||
FTP. The selected "Access Method" is stored after
|
||||
<code>dselect</code> exits, so if it does not change, then this option need not
|
||||
be invoked again.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Then <strong>Update</strong> the list of available packages. To do this,
|
||||
<code>dselect</code> reads the file "Packages.gz" which should be
|
||||
included in the top level of the directory where the Debian packages to be
|
||||
installed are stored. (But if it is not there, <code>dselect</code> will offer
|
||||
to make it for you.)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<strong>Select</strong> specific packages for installation on his system.
|
||||
After choosing this menu item, the user is first presented with a full screen
|
||||
of help (unless the `--expert' command line option was used). Once the user
|
||||
exits the Help screen, he sees the split-screen menu for choosing packages to
|
||||
install (or remove).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The top part of the screen is a relatively narrow window into the list of
|
||||
Debian's 18347 packages; the bottom part of the screen contains description of
|
||||
the package or group of packages which are highlighted above.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One can specify which packages should be operated on by highlighting a package
|
||||
name or the label for a group of packages. After that, you can select
|
||||
packages:
|
||||
</p>
|
||||
<dl>
|
||||
<dt>to be installed:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This is accomplished by pressing the `+' key.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>to be deleted:</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Packages can be deleted two ways:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
removed: this removes most of the files associated with the package, but
|
||||
preserves the files listed as configuration files (see <a
|
||||
href="ch-pkg_basics.en.html#s-conffile">What is a Debian conffile?, Section
|
||||
6.5</a>) and package configuration information. This is done by pressing the
|
||||
`-' key.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
purged: this removes <em>every</em> file that is part of the package. This is
|
||||
done by pressing the `_' key.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note that it's not possible to remove "All Packages". If you try
|
||||
that, your system will instead be reduced to the initial installed base
|
||||
packages.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>to be put "on hold"</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This is done by pressing `=', and it effectively tells <code>dselect</code> not
|
||||
to upgrade a package even if the version currently installed on your system is
|
||||
not as recent as the version that is available in the Debian repository you are
|
||||
using (this was specified when you set the <strong>Access Method</strong>, and
|
||||
acquired when you used <strong>Update</strong>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Just like you can put a package on hold, you can reverse such setting by
|
||||
pressing `:'. That tells <code>dselect</code> that the package(s) may be
|
||||
upgraded if a newer version is available. This is the default setting.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
You can select a different order in which the packages are presented, by using
|
||||
the `o' key to cycle between various options for sorting the packages. The
|
||||
default order is to present packages by Priority; within each priority,
|
||||
packages are presented in order of the directory (a.k.a. section) of the
|
||||
archive in which they are stored. Given this sort order, some packages in
|
||||
section A (say) may be presented first, followed by some packages in section B,
|
||||
followed by more packages (of lower priority) in section A.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can also expand meanings of the labels at the top of the screen, by using
|
||||
the `v' (verbose) key. This action pushes much of the text that formerly fit
|
||||
onto the display off to the right. To see it, press the right arrow; to scroll
|
||||
back to the left, press the left arrow.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you select a package for installation or removal, e.g.,
|
||||
<code>foo.deb</code>, and that package depends on (or recommends) another
|
||||
package, e.g., <code>blurf.deb</code>, then <code>dselect</code> will place the
|
||||
you in a sub-screen of the main selection screen. There you can choose among
|
||||
the related packages, accepting the suggested actions (to install or not), or
|
||||
rejecting them. To do the latter, press Shift-D; to return to the former,
|
||||
press Shift-U. In any case, you can save your selections and return to the
|
||||
main selection screen by pressing Shift-Q.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Users returning to the main menu can then select the "Install" menu
|
||||
item to unpack and configure the selected packages. Alternatively, users
|
||||
wishing to remove files can choose the "Remove" menu item. At any
|
||||
point, users can choose "Quit" to exit dselect; users' selections are
|
||||
preserved by <code>dselect</code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-dpkg-extra"></a>7.1.5 Other package management tools</h3>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4><a name="s-dpkg-deb"></a>7.1.5.1 dpkg-deb</h4>
|
||||
|
||||
<p>
|
||||
This program manipulates Debian archive(<samp>.deb</samp>) files. Some common
|
||||
uses are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Find out all the options: <samp>dpkg-deb --help</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Determine what files are contained in a Debian archive file: <samp>dpkg-deb
|
||||
--contents foo_VVV-RRR.deb</samp>)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Extract the files contained in a named Debian archive into a user specified
|
||||
directory: <samp>dpkg-deb --extract foo_VVV-RRR.deb tmp</samp> extracts each of
|
||||
the files in <samp>foo_VVV-RRR.deb</samp> into the directory <samp>tmp/</samp>.
|
||||
This is convenient for examining the contents of a package in a localized
|
||||
directory, without installing the package into the root file system.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note that any packages that were merely unpacked using <samp>dpkg-deb
|
||||
--extract</samp> will be incorrectly installed, you should use <samp>dpkg
|
||||
--install</samp> instead.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More information is given in the manual page <code>dpkg-deb(1)</code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4><a name="s-dpkg-split"></a>7.1.5.2 dpkg-split</h4>
|
||||
|
||||
<p>
|
||||
This program splits large package into smaller files (e.g., for writing onto a
|
||||
set of floppy disks), and can also be used to merge a set of split files back
|
||||
into a single file. It can only be used on a Debian system (i.e. a system
|
||||
containing the <code>dpkg</code> package), since it calls the program
|
||||
<samp>dpkg-deb</samp> to parse the debian package file into its component
|
||||
records.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, to split a big .deb file into N parts,
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Execute the command <samp>dpkg-split --split foo.deb</samp>. This will produce
|
||||
N files each of approximately 460 KBytes long in the current directory.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Copy those N files to floppy disks.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Copy the contents of the floppy disks onto the hard disk of your choice on the
|
||||
other machine.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Join those part-files together using <samp>dpkg-split --join
|
||||
"foo*"</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-updaterunning"></a>7.2 Debian claims to be able to update a running program; how is this accomplished?</h2>
|
||||
|
||||
<p>
|
||||
The kernel (file system) in Debian GNU/Linux systems supports replacing files
|
||||
even while they're being used.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We also provide a program called <code>start-stop-daemon</code> which is used
|
||||
to start daemons at boot time or to stop daemons when the kernel runlevel is
|
||||
changed (e.g., from multi-user to single-user or to halt). The same program is
|
||||
used by installation scripts when a new package containing a daemon is
|
||||
installed, to stop running daemons, and restart them as necessary.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-whatpackages"></a>7.3 How can I tell what packages are already installed on a Debian system?</h2>
|
||||
|
||||
<p>
|
||||
To learn the status of all the packages installed on a Debian system, execute
|
||||
the command
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --list
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This prints out a one-line summary for each package, giving a 2-letter status
|
||||
symbol (explained in the header), the package name, the version which is
|
||||
<em>installed</em>, and a brief description.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To learn the status of packages whose names match the string any pattern
|
||||
beginning with "foo" by executing the command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --list 'foo*'
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
To get a more verbose report for a particular package, execute the command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --status packagename
|
||||
</pre>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-filesearch"></a>7.4 How can I find out what package produced a particular file?</h2>
|
||||
|
||||
<p>
|
||||
To identify the package that produced the file named <samp>foo</samp> execute
|
||||
either:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>dpkg --search filename</samp>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This searches for <samp>filename</samp> in installed packages. (This is
|
||||
(currently) equivalent to searching all of the files having the file extension
|
||||
of <samp>.list</samp> in the directory <samp>/var/lib/dpkg/info/</samp>, and
|
||||
adjusting the output to print the names of all the packages containing it, and
|
||||
diversions.)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A faster alternative to this is the <code>dlocate</code> tool.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>zgrep foo Contents-ARCH.gz</samp>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This searches for files which contain the substring <samp>foo</samp> in their
|
||||
full path names. The files <samp>Contents-ARCH.gz</samp> (where ARCH
|
||||
represents the wanted architecture) reside in the major package directories
|
||||
(main, non-free, contrib) at a Debian FTP site (i.e. under
|
||||
<samp>/debian/dists/etch</samp>). A <samp>Contents</samp> file refers only to
|
||||
the packages in the subdirectory tree where it resides. Therefore, a user
|
||||
might have to search more than one <samp>Contents</samp> files to find the
|
||||
package containing the file <samp>foo</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This method has the advantage over <samp>dpkg --search</samp> in that it will
|
||||
find files in packages that are not currently installed on your system.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>apt-file search <var>foo</var></samp>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Similar to the above, it searches files which contain the substring or regular
|
||||
expression <samp>foo</samp> in their full path names. The advantage over the
|
||||
sample above is that there is no need to retrieve the
|
||||
<samp>Contents-ARCH.gz</samp> files as it will do this automatically for all
|
||||
the sources defined in <code>/etc/apt/sources.list</code> when you run (as
|
||||
root) <samp>apt-file update</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-datapackages"></a>7.5 Why doesn't get `foo-data' removed when I uninstall `foo'? How do I make sure old unused library-packages get purged?</h2>
|
||||
|
||||
<p>
|
||||
Some packages that are split in program (`foo') and data (`foo-data'). This is
|
||||
true for many games, multimedia applications and dictionaries in Debian and has
|
||||
been introduced since some users might want to access the raw data without
|
||||
installing the program or because the program can be run without the data
|
||||
itself, making it optional.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Similar situations occur when dealing with libraries: generally these get
|
||||
installed since packages containing applications depend on them. When the
|
||||
application-package is purged, the library-package might stay on the system.
|
||||
Or: when the application-package no longer depends upon e.g. libdb4.2, but
|
||||
upon libdb4.3, the libdb4.2 package might stay when the application-package is
|
||||
upgraded.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In these cases, `foo-data' doesn't depend on `foo', so when you remove the
|
||||
`foo' package it will not get automatically removed by most package management
|
||||
tools. The same holds true for the library packages. This is necessary to
|
||||
avoid circular dependencies. If you use <code>aptitude</code> (see <a
|
||||
href="#s-aptitude">aptitude, Section 7.1.3</a>) as your package management tool
|
||||
it will, however, track automatically installed packages and remove them when
|
||||
no packages remain that need them in your system.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-pkg_basics.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ 7 ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-uptodate.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-pkgtools.en.html
|
|
@ -1,170 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Redistributing Debian GNU/Linux in a commercial product</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-redistrib"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-contributing.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ 13 ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-nexttime.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 13 - Redistributing Debian GNU/Linux in a commercial product
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-sellcds"></a>13.1 Can I make and sell Debian CDs?</h2>
|
||||
|
||||
<p>
|
||||
Go ahead. You do not need permission to distribute anything we have
|
||||
<em>released</em>, so that you can master your CD as soon as the beta-test
|
||||
ends. You do not have to pay us anything. Of course, all CD manufacturers
|
||||
must honor the licenses of the programs in Debian. For example, many of the
|
||||
programs are licensed under the GPL, which requires you to distribute their
|
||||
source code.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Also, we will publish a list of CD manufacturers who donate money, software,
|
||||
and time to the Debian project, and we will encourage users to buy from
|
||||
manufacturers who donate, so it is good advertising to make donations.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-packagednonfree"></a>13.2 Can Debian be packaged with non-free software?</h2>
|
||||
|
||||
<p>
|
||||
Yes. While all the main components of Debian are free software, we provide a
|
||||
non-free directory for programs that are not freely redistributable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
CD manufacturers <em>may</em> be able to distribute the programs we have placed
|
||||
in that directory, depending on the license terms or their private arrangements
|
||||
with the authors of those software packages. CD manufacturers can also
|
||||
distribute the non-free software they get from other sources on the same CD.
|
||||
This is nothing new: free and commercial software are distributed on the same
|
||||
CD by many manufacturers now. Of course we still encourage software authors to
|
||||
release the programs they write as free software.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-childistro"></a>13.3 I am making a special Linux distribution for a "vertical market". Can I use Debian GNU/Linux for the guts of a Linux system and add my own applications on top of it?</h2>
|
||||
|
||||
<p>
|
||||
Yes. Debian-derived distributions are being created both in close cooperation
|
||||
with the Debian project itself and by external parties. One can use the
|
||||
<code><a href="http://cdd.alioth.debian.org/">Custom Debian
|
||||
Distributions</a></code> framework to work together with Debian; <code><a
|
||||
href="http://www.skolelinux.org/">Skolelinux</a></code> is one such project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One person is building a "Linux for Hams" distribution, with
|
||||
specialized programs for Radio Amateurs. He is starting with Debian as the
|
||||
"base system", and adding programs to control the transmitter, track
|
||||
satellites, etc. All of the programs he adds are packaged with the Debian
|
||||
packaging system so that his users will be able to upgrade easily when he
|
||||
releases subsequent CDs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are several other Debian-derived distributions already on the market,
|
||||
such as Progeny Debian, Linspire, Knoppix and Ubuntu, that are targeted at a
|
||||
different kind of audience than the original Debian GNU/Linux is, but use most
|
||||
of our components in their product.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian also provides a mechanism to allow developers and system administrators
|
||||
to install local versions of selected files in such a way that they will not be
|
||||
overwritten when other packages are upgraded. This is discussed further in the
|
||||
question on <a href="ch-customizing.en.html#s-divert">How do I override a file
|
||||
installed by a package, so that a different version can be used instead?,
|
||||
Section 10.8</a>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-commercialdebs"></a>13.4 Can I put my commercial program in a Debian "package" so that it installs effortlessly on any Debian system?</h2>
|
||||
|
||||
<p>
|
||||
Go right ahead. The package tool is free software; the packages may or may not
|
||||
be free software, it can install them all.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-contributing.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ 13 ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-nexttime.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-redistrib.en.html
|
|
@ -1,401 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Software available in the Debian system</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-software"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-compat.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ 4 ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 4 - Software available in the Debian system
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-apps"></a>4.1 What types of applications and development software are available for Debian GNU/Linux?</h2>
|
||||
|
||||
<p>
|
||||
Like most Linux distributions, Debian GNU/Linux provides:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
the major GNU applications for software development, file manipulation, and
|
||||
text processing, including gcc, g++, make, texinfo, Emacs, the Bash shell and
|
||||
numerous upgraded Unix utilities,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Perl, Python, Tcl/Tk and various related programs, modules and libraries for
|
||||
each of them,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
TeX (LaTeX) and Lyx, dvips, Ghostscript,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
the X Window System, which provides a networked graphical user interface for
|
||||
Linux, and countless X applications including GNOME and KDE as well as the GIMP
|
||||
GNU Image Manipulation Program,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
a full suite of networking applications, including servers for Internet
|
||||
protocols such as HTTP (WWW), FTP, NNTP (news), SMTP and POP (mail) and name
|
||||
server; relational databases like PostgreSQL, MySQL; also provided are web
|
||||
browsers including the various Mozilla producs,
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
a complete set of office applications, including the OpenOffice.org
|
||||
productivity suite, Gnumeric and other spreadsheets, WYSIWYG editors,
|
||||
calendars.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
More than 18138 packages, ranging from news servers and readers to sound
|
||||
support, FAX programs, database and spreadsheet programs, image processing
|
||||
programs, communications, net, and mail utilities, Web servers, and even
|
||||
ham-radio programs are included in the distribution. Another 444 software
|
||||
suites are available as Debian packages, but are not formally part of Debian
|
||||
due to license restrictions.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-softwareauthors"></a>4.2 Who wrote all that software?</h2>
|
||||
|
||||
<p>
|
||||
For each package the <em>authors</em> of the program(s) are credited in the
|
||||
file <samp>/usr/share/doc/PACKAGE/copyright</samp>, where PACKAGE is to be
|
||||
substituted with the package's name.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>Maintainers</em> who package this software for the Debian GNU/Linux system
|
||||
are listed in the Debian control file (see <a
|
||||
href="ch-pkg_basics.en.html#s-controlfile">What is a Debian control file?,
|
||||
Section 6.4</a>) that comes with each package. The Debian changelog, in
|
||||
<samp>/usr/share/doc/PACKAGE/changelog.Debian.gz</samp>, mentions the people
|
||||
who've worked on the Debian packaging too.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pkglist"></a>4.3 How can I get a current list of programs that have been packaged for Debian?</h2>
|
||||
|
||||
<p>
|
||||
A complete list is available from any of the <code><a
|
||||
href="http://www.debian.org/distrib/ftplist">Debian mirrors</a></code>, in the
|
||||
file <samp>indices/Maintainers</samp>. That file includes the package names
|
||||
and the names and e-mails of their respective maintainers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <code><a href="http://packages.debian.org/">WWW interface to the Debian
|
||||
packages</a></code> conveniently summarizes the packages in each of about
|
||||
twenty "sections" of the Debian archive.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-missing"></a>4.4 What is missing from Debian GNU/Linux?</h2>
|
||||
|
||||
<p>
|
||||
A list of packages which are still needed to be packaged for Debian exists, the
|
||||
<code><a href="http://www.debian.org/devel/wnpp/">Work-Needing and Prospective
|
||||
Packages list</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For more details about adding the missing things, see <a
|
||||
href="ch-contributing.en.html#s-contrib">How can I become a Debian software
|
||||
developer?, Section 12.1</a>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-no-devs"></a>4.5 Why do I get "ld: cannot find -lfoo" messages when compiling programs? Why aren't there any libfoo.so files in Debian library packages?</h2>
|
||||
|
||||
<p>
|
||||
Debian Policy requires that such symbolic links (to libfoo.so.x.y.z or similar)
|
||||
are placed in separate, development packages. Those packages are usually named
|
||||
libfoo-dev or libfooX-dev (presuming the library package is named libfooX, and
|
||||
X is a whole number).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-java"></a>4.6 (How) Does Debian support Java?</h2>
|
||||
|
||||
<p>
|
||||
Several <em>free</em> implementations of Java technology are available as
|
||||
Debian packages, providing both Java Development Kits as well as Runtime
|
||||
Environments. You can write, debug and run Java programs using Debian.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Running a Java applet requires a web browser with the capability to recognize
|
||||
and execute them. Several web browsers available in Debian, such as Mozilla or
|
||||
Konqueror, support Java plug-ins that enable running Java applets within them.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please refer to the <code><a
|
||||
href="http://www.debian.org/doc/manuals/debian-java-faq/">Debian Java
|
||||
FAQ</a></code> for more information.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-isitdebian"></a>4.7 How can I check that I am using a Debian system, and what version is it?</h2>
|
||||
|
||||
<p>
|
||||
In order to make sure that your system has been installed from the real Debian
|
||||
base disks check for the existence of <samp>/etc/debian_version</samp> file,
|
||||
which contains a single one-line entry giving the version number of the
|
||||
release, as defined by the package <samp>base-files</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The existence of the program <samp>dpkg</samp> shows that you should be able to
|
||||
install Debian packages on your system, but as the program has been ported to
|
||||
many other operating systems and architectures, this is no longer a reliable
|
||||
method of determining is a system Debian GNU/Linux.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Users should be aware, however, that the Debian system consists of many parts,
|
||||
each of which can be updated (almost) independently. Each Debian
|
||||
"release" contains well defined and unchanging contents. Updates are
|
||||
separately available. For a one-line description of the installation status of
|
||||
package <samp>foo</samp>, use the command <samp>dpkg --list foo</samp>. To
|
||||
view versions of all installed packages, run:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg -l
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
For a more verbose description, use:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg --status foo
|
||||
</pre>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-nonenglish"></a>4.8 How does Debian support non-English languages?</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Debian GNU/Linux is distributed with keymaps for nearly two dozen keyboards,
|
||||
and with utilities (in the <samp>kbd</samp> package) to install, view, and
|
||||
modify the tables.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The installation prompts the user to specify the keyboard he will use.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Vast majority of the software we packaged supports entering non-US-ASCII
|
||||
characters used in other Latin languages (e.g. ISO-8859-1 or ISO-8859-2), and
|
||||
a number of programs support multi-byte languages such as Japanese or Chinese.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Currently, support for German-, Spanish-, Finnish-, French-, Hungarian-,
|
||||
Italian-, Japanese-, Korean- and Polish-language manual pages is provided
|
||||
through the <samp>manpages-LANG</samp> packages (where LANG is the two-letter
|
||||
ISO country code). To access an NLS manual page, the user must set the shell
|
||||
LC_MESSAGES variable to the appropriate string.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, in the case of the Italian-language manual pages, LC_MESSAGES
|
||||
needs to be set to 'italian'. The <code>man</code> program will then search
|
||||
for Italian manual pages under <samp>/usr/share/man/it/</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-usexports"></a>4.9 What about the US export regulation limitations?</h2>
|
||||
|
||||
<p>
|
||||
US laws placed restrictions on the export of defense articles, which includes
|
||||
some types of cryptographic software. PGP and ssh, among others, fall into
|
||||
this category. For the <em>sarge</em> release packages in this archive were
|
||||
moved to the main archive (or to <em>non-free</em>, if applicable) due to the
|
||||
US relaxing its regulations on the export of cryptography.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To prevent anyone from taking unnecessary legal risks, certain Debian GNU/Linux
|
||||
packages were only available from a non-US site <code><a
|
||||
href="ftp://non-US.debian.org/debian-non-US/">ftp://non-US.debian.org/debian-non-US/</a></code>,
|
||||
with numerous mirror sites all of which are also outside of the US, see
|
||||
<code><a
|
||||
href="ftp://non-US.debian.org/debian-non-US/README.non-US">ftp://non-US.debian.org/debian-non-US/README.non-US</a></code>
|
||||
for a full list. These sites still exist (for the benefit of users of
|
||||
<em>woody</em>) but its contents are no longer supported and are considered
|
||||
obsolete. Please remove any mentions to non-US from your sources in your
|
||||
<code>/etc/apt/sources.list</code> configuration file.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-pine"></a>4.10 Where is pine?</h2>
|
||||
|
||||
<p>
|
||||
Due to its restrictive license, it's in the non-free area. Moreover, since
|
||||
license does not even allow modified binaries to be distributed, you have to
|
||||
compile it yourself from the source and the Debian patches.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The source package name is <code>pine</code>. You can use the
|
||||
<code>pine-tracker</code> package to be notified about when you need to
|
||||
upgrade.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note that there are many replacements for both pine and pico, such as
|
||||
<code>mutt</code> and <code>nano</code>, that are located in the main section.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-qmail"></a>4.11 Where is qmail/ezmlm/djbdns?</h2>
|
||||
|
||||
<p>
|
||||
Dan J. Bernstein distributes <code><a href="http://cr.yp.to/software.html">all
|
||||
software he has written</a></code> with a restrictive license, consequently,
|
||||
it's in the non-free area. Since the license he uses does not allow modified
|
||||
binaries to be distributed, you have to compile it yourself from the source and
|
||||
the Debian patches to obtain a binary package you can install in your Debian
|
||||
GNU/Linux system.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The source package names are <code>qmail-src</code>, <code>ezmlm-src</code> and
|
||||
<code>djbdns-installer</code>, respectively.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For <code>qmail</code> you need to install <code>qmail-src</code> first and
|
||||
then run <code>build-qmail</code> to build the Debian package. You also need
|
||||
to do install the <code>ucspi-tcp-src</code> package to get ucspi-tcp, which
|
||||
<code>qmail</code> depends on.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Dan J. Bernstein maintains a <code><a
|
||||
href="http://cr.yp.to/distributors.html">FAQ from distributors</a></code> page
|
||||
if you are interested in reading his reasons (one of which is <code><a
|
||||
href="http://cr.yp.to/compatibility.html">Cross-platform
|
||||
compatibility</a></code>)
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-compat.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ 4 ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-software.en.html
|
|
@ -1,525 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Getting support for Debian GNU/Linux</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-support"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-customizing.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ 11 ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-contributing.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 11 - Getting support for Debian GNU/Linux
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-debiandocs"></a>11.1 What other documentation exists on and for a Debian system?</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Installation instructions for the current release: see <code><a
|
||||
href="http://www.debian.org/releases/stable/installmanual">http://www.debian.org/releases/stable/installmanual</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
The Debian GNU/Linux reference covers many aspects of system administration
|
||||
through shell-command examples. Basic tutorials, tips, and other information
|
||||
are provided for many different topics ranging from system administration to
|
||||
programming.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Get it from the <code>debian-reference</code> package, or at <code><a
|
||||
href="http://www.debian.org/doc/user-manuals#quick-reference">http://www.debian.org/doc/user-manuals#quick-reference</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Policy manual documents the policy requirements for the distribution, i.e. the
|
||||
structure and contents of the Debian archive, several design issues of the
|
||||
operating system etc. It also includes the technical requirements that each
|
||||
package must satisfy to be included in the distribution, and documents the
|
||||
basic technical aspects of Debian binary and source packages.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Get it from the <code>debian-policy</code> package, or at <code><a
|
||||
href="http://www.debian.org/doc/devel-manuals#policy">http://www.debian.org/doc/devel-manuals#policy</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Documentation developed by the Debian Documentation Project. It is available
|
||||
at <code><a
|
||||
href="http://www.debian.org/doc/">http://www.debian.org/doc/</a></code> and
|
||||
includes user guides, administration guides and security guides for the Debian
|
||||
GNU/Linux operating system.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Documentation on installed Debian packages: Most packages have files that are
|
||||
unpacked into <samp>/usr/share/doc/PACKAGE</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Documentation on the Linux project: The Debian package <code>doc-linux</code>
|
||||
installs all of the most recent versions of the HOWTOs and mini-HOWTOs from the
|
||||
<code><a href="http://www.tldp.org/">Linux Documentation Project</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Unix-style `man' pages: Most commands have manual pages written in the style of
|
||||
the original Unix 'man' files. They are referenced by the section of the 'man'
|
||||
directory where they reside: e.g., foo(3) refers to a manual page which resides
|
||||
in /usr/share/man/man3/, and it can be called by executing the command:
|
||||
<samp>man 3 foo</samp>, or just <samp>man foo</samp> if section 3 is the first
|
||||
one containing a page on <samp>foo</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
One can learn which directory of <samp>/usr/share/man/</samp> contains a
|
||||
certain manual page by executing <samp>man -w foo</samp>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
New Debian users should note that the 'man' pages of many general system
|
||||
commands are not available until they install these packages:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>man-db</samp>, which contains the <samp>man</samp> program itself, and
|
||||
other programs for manipulating the manual pages.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<samp>manpages</samp>, which contains the system manual pages. (see <a
|
||||
href="ch-software.en.html#s-nonenglish">How does Debian support non-English
|
||||
languages?, Section 4.8</a>).
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
GNU-style `info' pages: User documentation for many commands, particularly GNU
|
||||
tools, is available not in `man' pages, but in `info' files which can be read
|
||||
by the GNU tool <samp>info</samp>, by running <samp>M-x info</samp> within GNU
|
||||
Emacs, or with some other Info page viewer.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Its main advantage over the original `man' pages are that it is a hypertext
|
||||
system. It does <em>not</em> require the WWW, however; <samp>info</samp> can
|
||||
be run from a plain text console. It was designed by Richard Stallman and
|
||||
preceded the WWW.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note that you may access a lot of documentation on your system by using a WWW
|
||||
browser, through `dwww', `dhelp' or `doccentral' commands, found in respective
|
||||
packages.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-onlineresources"></a>11.2 Are there any on-line resources for discussing Debian?</h2>
|
||||
|
||||
<p>
|
||||
Yes. In fact, the main method of support Debian provides to our users is by
|
||||
the way of e-mail.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s11.2.1"></a>11.2.1 Mailing lists</h3>
|
||||
|
||||
<p>
|
||||
There are a lot of <code><a
|
||||
href="http://www.debian.org/MailingLists/">Debian-related mailing
|
||||
lists</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
On a system with the <code>doc-debian</code> package installed there is a
|
||||
complete list of mailing lists in
|
||||
<code>/usr/share/doc/debian/mailing-lists.txt</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Debian mailing lists are named following the pattern
|
||||
debian-<var>list-subject</var>. Examples are debian-announce, debian-user,
|
||||
debian-news. To subscribe to any list debian-<var>list-subject</var>, send
|
||||
mail to debian-<var>list-subject</var>-request@lists.debian.org with the word
|
||||
"subscribe" in the Subject: header. Be sure to remember to add
|
||||
<em>-request</em> to the e-mail address when using this method to subscribe or
|
||||
unsubscribe. Otherwise your e-mail will go to the list itself, which could be
|
||||
embarrassing or annoying, depending on your point of view.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you have a forms-capable World Wide Web browser, you can subscribe to
|
||||
mailing lists using the <code><a
|
||||
href="http://www.debian.org/MailingLists/subscribe">WWW form</a></code>. You
|
||||
can also un-subscribe using a <code><a
|
||||
href="http://www.debian.org/MailingLists/unsubscribe">WWW form</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The list manager's e-mail address is <code><a
|
||||
href="mailto:listmaster@lists.debian.org">listmaster@lists.debian.org</a></code>,
|
||||
in case you have any trouble.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The mailing lists are public forums. All e-mails sent to the lists are also
|
||||
copied to the public archive, for anybody (even non-subscribers) to browse or
|
||||
search. Please make sure you never send any confidential or unlicensed
|
||||
material to the lists. This includes things like e-mail addresses. Of
|
||||
particular note is the fact that spammers have been known to abuse e-mail
|
||||
addresses posted to our mailing lists. See the <code><a
|
||||
href="http://www.debian.org/MailingLists/index.en.html#disclaimer">Mailing
|
||||
Lists Privacy policy</a></code> for more information.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Archives of the Debian mailing lists are available via WWW at <code><a
|
||||
href="http://lists.debian.org/">http://lists.debian.org/</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4><a name="s-mailinglistconduct"></a>11.2.1.1 What is the code of conduct for the mailing lists?</h4>
|
||||
|
||||
<p>
|
||||
When using the Debian mailing lists, please follow these rules:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Do not send spam. See the <code><a
|
||||
href="http://www.debian.org/MailingLists/#ads">Debian mailing list advertising
|
||||
policy</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Do not flame; it is not polite. The people developing Debian are all
|
||||
volunteers, donating their time, energy and money in an attempt to bring the
|
||||
Debian project together.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Do not use foul language; besides, some people receive the lists via packet
|
||||
radio, where swearing is illegal.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Make sure that you are using the proper list. <em>Never</em> post your
|
||||
(un)subscription requests to the mailing list itself[<a
|
||||
href="footnotes.en.html#f6" name="fr6">6</a>]
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
See section <a href="#s-bugreport">How do I report a bug in Debian?, Section
|
||||
11.5</a> for notes on reporting bugs.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s11.2.2"></a>11.2.2 Maintainers</h3>
|
||||
|
||||
<p>
|
||||
Users can address questions to individual package maintainers using e-mail. To
|
||||
reach a maintainer of a package called xyz, send e-mail to
|
||||
<em>xyz@packages.debian.org</em>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s11.2.3"></a>11.2.3 Usenet newsgroups</h3>
|
||||
|
||||
<p>
|
||||
Users should post non-Debian-specific questions to one of the Linux USENET
|
||||
groups, which are named comp.os.linux.* or linux.*. There are several lists of
|
||||
Linux Usenet newsgroups and other related resources on the WWW, e.g. on the
|
||||
<code><a href="http://www.linux.org/docs/usenet.html">Linux Online</a></code>
|
||||
and <code><a
|
||||
href="http://www.linuxjournal.com/helpdesk.php">LinuxJournal</a></code> sites.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-searchtools"></a>11.3 Is there a quick way to search for information on Debian GNU/Linux?</h2>
|
||||
|
||||
<p>
|
||||
There is a variety of search engines that serve documentation related to
|
||||
Debian:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a href="http://search.debian.org/">Debian WWW search site</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a href="http://groups.google.com/">Google Groups</a></code>: a search
|
||||
engine for newsgroups.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, to find out what experiences people have had with finding drivers
|
||||
for Promise controllers under Debian, try searching on the phrase <samp>Promise
|
||||
Linux driver</samp>. This will show you all the postings that contain these
|
||||
strings, i.e. those where people discussed these topics. If you add
|
||||
<samp>Debian</samp> to those search strings, you'll also get the postings
|
||||
specifically related to Debian.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Any of the common web spidering engines, such as <code><a
|
||||
href="http://www.altavista.com/">AltaVista</a></code> or <code><a
|
||||
href="http://www.google.com/">Google</a></code>, as long as you use the right
|
||||
search terms.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, searching on the string "cgi-perl" gives a more detailed
|
||||
explanation of this package than the brief description field in its control
|
||||
file.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-buglogs"></a>11.4 Are there logs of known bugs?</h2>
|
||||
|
||||
<p>
|
||||
Reports on unsolved (and closed) issues are publicly available: Debian
|
||||
promissed to do so by stating "We will not hide problems" in the
|
||||
<code><a href="http://www.debian.org/social_contract">Debian Social
|
||||
Contract</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux distribution has a bug tracking system (BTS) which files
|
||||
details of bugs reported by users and developers. Each bug is given a number,
|
||||
and is kept on file until it is marked as having been dealt with.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Copies of this information are available at <code><a
|
||||
href="http://www.debian.org/Bugs/">http://www.debian.org/Bugs/</a></code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A mail server provides access to the bug tracking system database via e-mail.
|
||||
In order to get the instructions, send an e-mail to request@bugs.debian.org
|
||||
with "help" in the body.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-bugreport"></a>11.5 How do I report a bug in Debian?</h2>
|
||||
|
||||
<p>
|
||||
If you have found a bug in Debian, please read the instructions for reporting a
|
||||
bug in Debian. These instructions can be obtained in one of several ways:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
By anonymous FTP. Debian mirror sites contain the instructions in the file
|
||||
<samp>doc/bug-reporting.txt</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
From the WWW. A copy of the instructions is shown at <code><a
|
||||
href="http://www.debian.org/Bugs/Reporting">http://www.debian.org/Bugs/Reporting</a></code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
On any Debian system with the <code>doc-debian</code> package installed. The
|
||||
instructions are in the file
|
||||
<code>/usr/share/doc/debian/bug-reporting.txt</code>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
You can use the package <code>reportbug</code> that will guide you through the
|
||||
reporting process and mail the message to the proper address, with some extra
|
||||
details about your system added automatically. It will also show you a list of
|
||||
bugs already reported to the package you are reporting against in case your bug
|
||||
has been reported previously, so that you can additional information to the
|
||||
existing bug report.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you want to mail the report with an e-mail program, send a message to
|
||||
<code><a
|
||||
href="mailto:submit@bugs.debian.org">submit@bugs.debian.org</a></code>. The
|
||||
message's first line must be similar to
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
Package: package-name
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
(replace <var>package-name</var> with the name of the package). The next line
|
||||
should relate the package version number in a similar way:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
Version: version-number
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
The version number for any package installed on your system can be obtained
|
||||
using the command line
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
dpkg -s <var>package-name</var>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This section is referred to as the pseudo-header. The rest of the message
|
||||
should contain the description of the bug (please make it moderately detailed),
|
||||
the Debian release you are using, and versions of other relevant packages. The
|
||||
Debian release number will be displayed by the command
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
cat /etc/debian_version
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Expect to get an automatic acknowledgement of your bug report. It will also be
|
||||
automatically given a bug tracking number, entered into the bug log and
|
||||
forwarded to the debian-bugs-dist mailing list.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-customizing.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ <a href="ch-uptodate.en.html">8</a> ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ 11 ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-contributing.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
ch-support.en.html
|
|
@ -1,479 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
|
||||
<title>The Debian GNU/Linux FAQ - Keeping your Debian system up-to-date</title>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<p><a name="ch-uptodate"></a></p>
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-pkgtools.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ 8 ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-kernel.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>
|
||||
The Debian GNU/Linux FAQ
|
||||
<br>Chapter 8 - Keeping your Debian system up-to-date
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
A Debian goal is to provide a consistent upgrade path and a secure upgrade
|
||||
process. We always do our best to make upgrading to new releases a smooth
|
||||
procedure. In case there's some important note to add to the upgrade process,
|
||||
the packages will alert the user, and often provide a solution to a possible
|
||||
problem.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You should also read the Release Notes document that describes the details of
|
||||
specific upgrades. It is shipped on all Debian CDs and available on the WWW at
|
||||
<code><a
|
||||
href="http://www.debian.org/releases/stable/releasenotes">http://www.debian.org/releases/stable/releasenotes</a></code>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-libc5to6upgrade"></a>8.1 How can I upgrade my Debian 1.3.1 (or earlier) distribution, based on libc5, to 2.0 (or later), based on libc6?</h2>
|
||||
|
||||
<p>
|
||||
There are several ways to upgrade:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Using a simple shell script called <samp>autoup.sh</samp> which upgrades the
|
||||
most important packages. After <samp>autoup.sh</samp> has done his job, you
|
||||
may use dselect to install the remaining packages <em>en masse</em>. This is
|
||||
probably the recommended method, but not the only one.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Currently, the latest release of <samp>autoup.sh</samp> may be found on the
|
||||
following locations:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a
|
||||
href="http://www.debian.org/releases/2.0/autoup/">http://www.debian.org/releases/2.0/autoup/</a></code>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a
|
||||
href="http://www.taz.net.au/autoup/">http://www.taz.net.au/autoup/</a></code>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a
|
||||
href="http://debian.vicnet.net.au/autoup/">http://debian.vicnet.net.au/autoup/</a></code>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Following closely the <code><a
|
||||
href="http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html">Debian
|
||||
libc5 to libc6 Mini-HOWTO</a></code> and upgrade the most important packages by
|
||||
hand. <samp>autoup.sh</samp> is based on this Mini-HOWTO, so this method
|
||||
should work more or less like using <samp>autoup.sh</samp>.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Using a libc5-based <samp>apt</samp>. APT stands for Advanced Package Tool,
|
||||
and it might replace dselect some day. Currently, it works just as a
|
||||
command-line interface, or as a dselect access method. You will find a libc5
|
||||
version in the <samp>dists/slink/main/upgrade-older-i386</samp> directory at
|
||||
the Debian archives.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Using just dselect, without upgrading any package by hand first. It is highly
|
||||
recommended that you do NOT use this method if you can avoid it, because
|
||||
dselect alone currently does not install packages in the optimal order. APT
|
||||
works much better and it is safer.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-howtocurrent"></a>8.2 How can I keep my Debian system current?</h2>
|
||||
|
||||
<p>
|
||||
One could simply execute an anonymous ftp call to a Debian archive, then peruse
|
||||
the directories until one finds the desired file, and then fetch it, and
|
||||
finally install it using <samp>dpkg</samp>. Note that <samp>dpkg</samp> will
|
||||
install upgrade files in place, even on a running system. Sometimes, a revised
|
||||
package will require the installation of a newly revised version of another
|
||||
package, in which case the installation will fail until/unless the other
|
||||
package is installed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Many people find this approach much too time-consuming, since Debian evolves so
|
||||
quickly -- typically, a dozen or more new packages are uploaded every week.
|
||||
This number is larger just before a new major release. To deal with this
|
||||
avalanche, many people prefer to use a more automated method. Several
|
||||
different packages are available for this purpose:
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-aptitude-upgrade"></a>8.2.1 aptitude</h3>
|
||||
|
||||
<p>
|
||||
APT is an advanced interface to the Debian packaging system. It features
|
||||
complete installation ordering, multiple source capability and several other
|
||||
unique features, see the User's Guide in
|
||||
<samp>/usr/share/doc/apt-doc/guide.html/index.html</samp> (you will have to
|
||||
install the <samp>apt-doc</samp> package).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>aptitude</code> is the recommended package manager for Debian GNU/Linux
|
||||
systems. It is a text-based interface to APT using the curses library, and can
|
||||
be used to perform management tasks in a fast and easy way.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Before you can use <code>aptitude</code>, you'll have to edit the
|
||||
<samp>/etc/apt/sources.list</samp> file to set it up. If you wish to upgrade
|
||||
to the latest stable version of Debian, you'll probably want to use a source
|
||||
like this one:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
http://http.us.debian.org/debian stable main contrib non-free
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
You can replace http.us.debian.org with the name of a faster Debian mirror near
|
||||
you. See the mirror list at <code><a
|
||||
href="http://www.debian.org/misc/README.mirrors">http://www.debian.org/misc/README.mirrors</a></code>
|
||||
for more information.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More details on this can be found in the <code>sources.list(8)</code> manual
|
||||
page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To update your system, run
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
aptitude update
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
followed by
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
aptitude dist-upgrade
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Answer any questions that might come up, and your system will be upgraded. See
|
||||
also <a href="ch-pkgtools.en.html#s-aptitude">aptitude, Section 7.1.3</a>.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-apt"></a>8.2.2 apt-get, dselect and apt-cdrom</h3>
|
||||
|
||||
<p>
|
||||
<code>apt-get</code> is an APT-based command-line tool for handling packages,
|
||||
and the APT dselect method is an interface to APT through <code>dselect</code>.
|
||||
Both of these provide a simple, safe way to install and upgrade packages.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To use <code>apt-get</code>, install the <code>apt</code> package, and edit the
|
||||
<samp>/etc/apt/sources.list</samp> file to set it up, just as for <a
|
||||
href="#s-aptitude-upgrade">aptitude, Section 8.2.1</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Then run
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get update
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
followed by
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
apt-get dist-upgrade
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Answer any questions that might come up, and your system will be upgraded. See
|
||||
also the <code>apt-get(8)</code> manual page, as well as <a
|
||||
href="ch-pkgtools.en.html#s-apt-get">APT, Section 7.1.2</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To use APT with <code>dselect</code>, choose the APT access method in dselect's
|
||||
method selection screen (option 0) and then specify the sources that should be
|
||||
used. The configuration file is <code>/etc/apt/sources.list</code>. See also
|
||||
<a href="ch-pkgtools.en.html#s-dselect">dselect, Section 7.1.4</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you want to use CDs to install packages, you can use <code>apt-cdrom</code>.
|
||||
For details, please see the Release Notes, section "Setting up for an
|
||||
upgrade from a local mirror".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please note that when you get and install the packages, you'll still have them
|
||||
kept in your /var directory hierarchy. To keep your partition from
|
||||
overflowing, remember to delete extra files using <samp>apt-get clean</samp>
|
||||
and <samp>apt-get autoclean</samp>, or to move them someplace else (hint: use
|
||||
<code>apt-move</code>).
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-dpkg-ftp"></a>8.2.3 dpkg-ftp</h3>
|
||||
|
||||
<p>
|
||||
This is an older access method for <code>dselect</code>. It can be invoked
|
||||
from within <code>dselect</code>, thereby allowing a user the ability to
|
||||
download files and install them directly in one step. To do this, select the
|
||||
<samp>ftp</samp> access method in <code>dselect</code> (option 0) and specify
|
||||
the remote host name and directory. <code>dpkg-ftp</code> will then
|
||||
automatically download the files that are selected (either in this session of
|
||||
<code>dselect</code> or earlier ones).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note that, unlike the <code>mirror</code> program, <code>dpkg-ftp</code> does
|
||||
not grab everything at a mirror site. Rather, it downloads only those files
|
||||
which you have selected (when first starting up <code>dpkg-ftp</code>), and
|
||||
which need to be updated.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>dpkg-ftp</code> is somewhat obsolete. You should use the APT access
|
||||
method with ftp:// URLs in <code>sources.list</code> instead.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-mirror"></a>8.2.4 mirror</h3>
|
||||
|
||||
<p>
|
||||
This Perl script, and its (optional) manager program called
|
||||
<code>mirror-master</code>, can be used to fetch user-specified parts of a
|
||||
directory tree from a specified host <em>via</em> anonymous FTP.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>mirror</code> is particularly useful for downloading large volumes of
|
||||
software. After the first time files have been downloaded from a site, a file
|
||||
called <samp>.mirrorinfo</samp> is stored on the local host. Changes to the
|
||||
remote file system are tracked automatically by <code>mirror</code>, which
|
||||
compares this file to a similar file on the remote system and downloads only
|
||||
changed files.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <code>mirror</code> program is generally useful for updating local copies
|
||||
of remote directory trees. The files fetched need not be Debian files. (Since
|
||||
<code>mirror</code> is a Perl script, it can also run on non-Unix systems.)
|
||||
Though the <code>mirror</code> program provides mechanisms for excluding files
|
||||
names of which match user-specified strings, this program is most useful when
|
||||
the objective is to download whole directory trees, rather than selected
|
||||
packages.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="s-dpkg-mountable"></a>8.2.5 dpkg-mountable</h3>
|
||||
|
||||
<p>
|
||||
dpkg-mountable adds an access method called `mountable' to dselect's list,
|
||||
which allows you to install from any file system specified in /etc/fstab. For
|
||||
example, the archive could be a normal hard disk partition or an NFS server,
|
||||
which it will automatically mount and umount for you if necessary.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It also has some extra features not found in the standard dselect methods, such
|
||||
as provision for a local file tree (either parallel to the main distribution or
|
||||
totally separate), and only getting packages which are required, rather than
|
||||
the time-consuming recursive directory scan, as well as logging of all dpkg
|
||||
actions in the install method.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-upgradesingle"></a>8.3 Must I go into single user mode in order to upgrade a package?</h2>
|
||||
|
||||
<p>
|
||||
No. Packages can be upgraded in place, even in running systems. Debian has a
|
||||
<samp>start-stop-daemon</samp> program that is invoked to stop, then restart
|
||||
running process if necessary during a package upgrade.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-savedebs"></a>8.4 Do I have to keep all those .deb archive files on my disk?</h2>
|
||||
|
||||
<p>
|
||||
No. If you have downloaded the files to your disk (which is not absolutely
|
||||
necessary, see above for the description of dpkg-ftp), then after you have
|
||||
installed the packages, you can remove them from your system.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="s-keepingalog"></a>8.5 How can I keep a log of the packages I added to the system? I'd like to know when which package upgrades and removals have occured!</h2>
|
||||
|
||||
<p>
|
||||
Passing the <samp>--log</samp>-option to <code>dpkg</code> makes
|
||||
<code>dpkg</code> log status change updates and actions. It logs both the
|
||||
<code>dpkg</code>-invokation (e.g.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
) and the results (e.g.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
2005-12-30 18:10:35 status installed hello 2.1.1-4
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
) If you'd like to log all your <code>dpkg</code> invokations (even those done
|
||||
using frontends like <code>aptitude</code>), you could add
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
log /var/log/dpkg.log
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
to your <code>/etc/dpkg/dpkg.cfg</code>. Be sure the created logfile gets
|
||||
rotated periodically. If you're using <code>logrotate</code>, this can be
|
||||
achieved by creating a file <code>/etc/logrotate.d/dpkg</code> with contents
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
/var/log/dpkg {
|
||||
missingok
|
||||
notifempty
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
More details on <code>dpkg</code> logging can be found in the
|
||||
<code>dpkg(1)</code> manual page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>aptitude</code> logs the package installations, removals, and upgrades
|
||||
that it intends to perform to <code>/var/log/aptitude</code>. Note that the
|
||||
<em>results</em> of those actions are not recorded in this file!
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Another way to record your actions is to run your package management session
|
||||
within the <code>script(1)</code> program.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
[ <a href="ch-pkgtools.en.html">previous</a> ]
|
||||
[ <a href="index.en.html#contents">Contents</a> ]
|
||||
[ <a href="ch-basic_defs.en.html">1</a> ]
|
||||
[ <a href="ch-getting.en.html">2</a> ]
|
||||
[ <a href="ch-compat.en.html">3</a> ]
|
||||
[ <a href="ch-software.en.html">4</a> ]
|
||||
[ <a href="ch-ftparchives.en.html">5</a> ]
|
||||
[ <a href="ch-pkg_basics.en.html">6</a> ]
|
||||
[ <a href="ch-pkgtools.en.html">7</a> ]
|
||||
[ 8 ]
|
||||
[ <a href="ch-kernel.en.html">9</a> ]
|
||||
[ <a href="ch-customizing.en.html">10</a> ]
|
||||
[ <a href="ch-support.en.html">11</a> ]
|
||||
[ <a href="ch-contributing.en.html">12</a> ]
|
||||
[ <a href="ch-redistrib.en.html">13</a> ]
|
||||
[ <a href="ch-nexttime.en.html">14</a> ]
|
||||
[ <a href="ch-faqinfo.en.html">15</a> ]
|
||||
[ <a href="ch-kernel.en.html">next</a> ]
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
The Debian GNU/Linux FAQ
|
||||
</p>
|
||||
|
||||
<address>
|
||||
version 3.1.5, 17 January 2007<br>
|
||||
<br>
|
||||
Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br>
|
||||
<br>
|
||||
</address>
|
||||
<hr>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue