# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2013-08-11 14:22+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. type: =head1 #: pod/multistrap:3 device-table.pl:165 msgid "Name" msgstr "" #. type: textblock #: pod/multistrap:5 msgid "multistrap - multiple repository bootstraps" msgstr "" #. type: =head1 #: pod/multistrap:7 device-table.pl:169 msgid "Synopsis" msgstr "" #. type: verbatim #: pod/multistrap:9 #, no-wrap msgid "" " multistrap [-a ARCH] [-d DIR] -f CONFIG_FILE\n" " multistrap [--simulate] -f CONFIG_FILE\n" " multistrap -?|-h|--help|--version\n" "\n" msgstr "" #. type: =head1 #: pod/multistrap:13 device-table.pl:174 msgid "Options" msgstr "" #. type: textblock #: pod/multistrap:15 msgid "-?|-h|--help|--version - output the help text and exit successfully." msgstr "" #. type: textblock #: pod/multistrap:17 msgid "" "--dry-run - collate all the configuration settings and output a bare " "summary." msgstr "" #. type: textblock #: pod/multistrap:20 msgid "--simulate - same as --dry-run" msgstr "" #. type: textblock #: pod/multistrap:22 msgid "(The following options can also be set in the configuration file.)" msgstr "" #. type: textblock #: pod/multistrap:24 msgid "-a|--arch - architecture of the packages to put into the multistrap." msgstr "" #. type: textblock #: pod/multistrap:26 msgid "-d|--dir - directory into which the bootstrap will be installed." msgstr "" #. type: textblock #: pod/multistrap:28 msgid "-f|--file - configuration file for multistrap [required]" msgstr "" #. type: textblock #: pod/multistrap:30 msgid "-s|--shortcut - shortened version of -f for files in known locations." msgstr "" #. type: textblock #: pod/multistrap:32 msgid "" "--tidy-up - remove apt cache data, downloaded Packages files and the apt " "package cache. Same as cleanup=true." msgstr "" #. type: textblock #: pod/multistrap:35 msgid "" "--no-auth - allow the use of unauthenticated repositories. Same as " "noauth=true" msgstr "" #. type: textblock #: pod/multistrap:38 msgid "" "--source-dir DIR - move the contents of var/cache/apt/archives/ from inside " "the chroot to the specified external directory, then add the Debian source " "packages for each used binary. Same as retainsources=DIR If the specified " "directory does not exist, nothing is done. Requires --tidy-up in order to " "calculate the full list of source packages, including dependencies." msgstr "" #. type: =head1 #: pod/multistrap:45 msgid "Description" msgstr "" #. type: textblock #: pod/multistrap:47 msgid "" "multistrap provides a debootstrap-like method based on apt and extended to " "provide support for multiple repositories, using a configuration file to " "specify the relevant suites, architecture, extra packages and the mirror to " "use for each bootstrap." msgstr "" #. type: textblock #: pod/multistrap:52 msgid "" "The aim is to create a complete bootstrap / root filesystem with all " "packages installed and configured, instead of just the base system." msgstr "" #. type: textblock #: pod/multistrap:56 msgid "" "In most cases, users will need to create a configuration file for each " "different multistrap usage." msgstr "" #. type: textblock #: pod/multistrap:59 msgid "Example configuration:" msgstr "" #. type: verbatim #: pod/multistrap:61 #, no-wrap msgid "" " [General]\n" " arch=armel\n" " directory=/opt/multistrap/\n" " # same as --tidy-up option if set to true\n" " cleanup=true\n" " # same as --no-auth option if set to true\n" " # keyring packages listed in each bootstrap will\n" " # still be installed.\n" " noauth=false\n" " # extract all downloaded archives (default is true)\n" " unpack=true\n" " # whether to add the /suite to be explicit about where apt\n" " # needs to look for packages. Default is false.\n" " explicitsuite=false\n" " # enable MultiArch for the specified architectures\n" " # default is empty\n" " multiarch=\n" " # aptsources is a list of sections to be used\n" " # the /etc/apt/sources.list.d/multistrap.sources.list\n" " # of the target. Order is not important\n" " aptsources=Debian\n" " # the bootstrap option determines which repository\n" " # is used to calculate the list of Priority: required packages\n" " # and which packages go into the rootfs.\n" " # The order of sections is not important.\n" " bootstrap=Debian\n" " \n" msgstr "" #. type: verbatim #: pod/multistrap:88 pod/multistrap:219 #, no-wrap msgid "" " [Debian]\n" " packages=\n" " source=http://ftp.uk.debian.org/debian\n" " keyring=debian-archive-keyring\n" " suite=lenny\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:94 msgid "" "This will result in a completely normal bootstrap of Debian lenny from the " "specified mirror, for armel in '/opt/multistrap/'. (This configuration is " "retained in the package as F)" msgstr "" #. type: textblock #: pod/multistrap:98 msgid "" "Specify a package to extend the multistrap to include that package and all " "dependencies of that package." msgstr "" #. type: textblock #: pod/multistrap:101 msgid "" "Specify more repositories for the bootstrap by adding new sections. Section " "names need to be listed in the bootstrap general option for the packages to " "be included in the bootstrap." msgstr "" #. type: textblock #: pod/multistrap:105 msgid "" "Specify which repositories will be available to the final system at boot by " "listing the section names in the aptsources general option, e.g. to exclude " "some internal sources or when using a local mirror when building the rootfs." msgstr "" #. type: textblock #: pod/multistrap:110 msgid "Section names are case-insensitive." msgstr "" #. type: textblock #: pod/multistrap:112 msgid "" "All dependencies are resolved only by apt, using all bootstrap repositories, " "to use only the most recent and most suitable dependencies. Note that " "multistrap turns off Install-Recommends so if the multistrap needs a package " "that is only a Recommended dependency, the recommended package needs to be " "specified in the packages line explicitly. See C for more information on getting specific packages from " "specific suites." msgstr "" #. type: textblock #: pod/multistrap:120 msgid "" "'Architecture' and 'directory' can be overridden on the command line. Some " "other general options also have command line options." msgstr "" #. type: =head1 #: pod/multistrap:123 msgid "Online examples and documentation" msgstr "" #. type: textblock #: pod/multistrap:125 msgid "" "C supports a range of permutations, see the wiki and the " "emdebian website for more information and example configurations:" msgstr "" #. type: textblock #: pod/multistrap:128 msgid "http://wiki.debian.org/Multistrap" msgstr "" #. type: textblock #: pod/multistrap:130 msgid "http://www.emdebian.org/multistrap/" msgstr "" #. type: textblock #: pod/multistrap:132 msgid "" "C includes an example configuration file with a full list of all " "supported config file options: " "F" msgstr "" #. type: =head1 #: pod/multistrap:135 msgid "Shortcuts" msgstr "" #. type: textblock #: pod/multistrap:137 msgid "" "In a similar manner to C, C supports referring to " "configuration files in known locations by shortcuts. When using the " "C<--shortcut> option, C will look for files in " "F and then F, appending a '.conf' " "suffix to the specified shortcut." msgstr "" #. type: textblock #: pod/multistrap:143 msgid "These two commands are equivalent:" msgstr "" #. type: verbatim #: pod/multistrap:145 #, no-wrap msgid "" " $ sudo multistrap -s sid\n" " $ sudo multistrap -f /usr/share/multistrap/sid.conf\n" " \n" msgstr "" #. type: textblock #: pod/multistrap:148 msgid "" "Note that C will still fail if the configuration file itself " "does not set the directory or the architecture." msgstr "" #. type: =head1 #: pod/multistrap:151 msgid "Repositories" msgstr "" #. type: textblock #: pod/multistrap:153 msgid "" "C lists the sections which should be used to create the " "F apt sources in the final " "system. Not all C have to appear in the C section if " "you have some internal or local sources which are not accessible to the " "installed root filesystem." msgstr "" #. type: textblock #: pod/multistrap:159 msgid "" "C lists the sections which will be used to create the multistrap " "itself. Only packages listed in C will be downloaded and unpacked " "by multistrap." msgstr "" #. type: textblock #: pod/multistrap:163 msgid "" "Make sure C lists all sections you need for apt to be able to " "find all the packages to be unpacked for the multistrap." msgstr "" #. type: textblock #: pod/multistrap:166 msgid "" "(Older versions of multistrap supported the same option under the " "C name - this spelling is still supported but new configuration " "files should be C instead." msgstr "" #. type: =head1 #: pod/multistrap:170 msgid "General settings:" msgstr "" #. type: textblock #: pod/multistrap:172 msgid "'arch' can be overridden on the command line using the C<--arch> option." msgstr "" #. type: textblock #: pod/multistrap:174 msgid "" "'directory' specifies the top level directory where the bootstrap will be " "created - it is not packed into a .tgz once complete." msgstr "" #. type: textblock #: pod/multistrap:177 msgid "" "'bootstrap' lists the Sections which will be used to specify the packages " "which will be downloaded (and optionally unpacked) into the bootstrap." msgstr "" #. type: textblock #: pod/multistrap:180 msgid "" "'aptsources' lists the Sections which will be used to specify the apt " "sources in the final system, e.g. if you need to use a local repository to " "generate the rootfs which will not be available to the device at runtime, " "list that section in C but not in C." msgstr "" #. type: textblock #: pod/multistrap:185 msgid "" "If you want a package to be in the rootfs, it B be specified in the " "C list under General." msgstr "" #. type: textblock #: pod/multistrap:188 msgid "The order of section names in either list is not important." msgstr "" #. type: textblock #: pod/multistrap:190 msgid "" "If C is set to true, C will request apt to mark all " "packages specified in the combined C list as manually installed " "and all dependencies not explicitly listed as automatically installed in the " "APT extended state database. C can be used independently of " "C." msgstr "" #. type: textblock #: pod/multistrap:196 msgid "" "As with debootstrap, multistrap will continue after errors, as long as the " "configuration file can be correctly parsed." msgstr "" #. type: textblock #: pod/multistrap:199 msgid "" "multistrap also implements the machine:variant support originally used in " "Emdebian Crush, although in a different implementation. Using the cascading " "configuration support, particular machine:variant combinations can be " "supported by simple changes on the command line." msgstr "" #. type: textblock #: pod/multistrap:204 msgid "" "Setting C to true also packs up the final filesystem into a " "tarball." msgstr "" #. type: textblock #: pod/multistrap:207 msgid "" "Note that multistrap ignores any unrecognised options in the config file - " "this allows for backwards-compatible behaviour as well as overloading the " "multistrap config files to support other tools (like pbuilder). Use the " "C<--simulate> option to see the combined configuration settings." msgstr "" #. type: textblock #: pod/multistrap:213 msgid "" "However, if the config file itself cannot be parsed, multistrap will " "abort. Check that the config file has a key and a value for each line, other " "than comments. Values must all on the same line as the key." msgstr "" #. type: =head1 #: pod/multistrap:217 msgid "Section settings" msgstr "" #. type: textblock #: pod/multistrap:225 msgid "" "The section name (in [] brackets) needs to be unique for this configuration " "file and any configuration files which this file includes. Section names are " "case insensitive (all comparisons happen after conversion to lower case)." msgstr "" #. type: textblock #: pod/multistrap:230 msgid "" "'packages' is the list of packages to be added when this Section is listed " "in C - all package names must be listed on a single line or the " "file will fail to parse. One alternative is to define your list of packages " "as multiple groups with packages separated on a functional / dependency " "basis, e.g. base, Xorg, networking etc. and list each group under " "'bootstrap'." msgstr "" #. type: verbatim #: pod/multistrap:237 #, no-wrap msgid "" " bootstrap=base networking\n" "\n" msgstr "" #. type: verbatim #: pod/multistrap:239 #, no-wrap msgid "" " [base]\n" " packages=udev mtd-utils\n" " source=http://www.emdebian.org/grip\n" " keyring=emdebian-archive-keyring\n" " suite=lenny\n" "\n" msgstr "" #. type: verbatim #: pod/multistrap:245 #, no-wrap msgid "" " [networking]\n" " packages=netbase ifupdown iproute net-tools samba\n" " source=http://www.emdebian.org/grip\n" " keyring=emdebian-archive-keyring\n" " suite=lenny\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:251 msgid "" "As a special case, C also supports multiple packages keys per " "section, one line for each. Other keys cannot be repeated in this manner." msgstr "" #. type: verbatim #: pod/multistrap:255 #, no-wrap msgid "" " [Emdebian]\n" " packages=udev mtd-utils netbase ifupdown iproute\n" " packages=busybox net-tools samba\n" " source=http://www.emdebian.org/grip\n" " keyring=emdebian-archive-keyring\n" " suite=lenny\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:262 msgid "" "'source' is the apt source to use for this Section. To use a local source on " "the same machine, ensure you use C not C, so that apt is " "told to copy the packages into the rootfs instead of assuming it can try to " "download them later - because that \"later\" will never actually happen." msgstr "" #. type: textblock #: pod/multistrap:268 msgid "" "'keyring' lists the package which contains the key used by the source listed " "in this Section. If no keyring is specified, the C option must be " "set to B. See Secure Apt." msgstr "" #. type: textblock #: pod/multistrap:272 msgid "" "'suite' is the suite to use from this source. Note that this should be the " "suite, not the codename." msgstr "" #. type: textblock #: pod/multistrap:275 msgid "" "Suites change from time to time: (oldstable, stable, testing, sid) The " "codename (etch, lenny, squeeze, sid) does not change." msgstr "" #. type: =head1 #: pod/multistrap:278 msgid "Secure Apt" msgstr "" #. type: textblock #: pod/multistrap:280 msgid "" "To use authenticated apt repositories, multistrap needs to be able to " "install an appropriate keyring package from the existing apt sources " "B into the destination " "system. Unfortunately, keyring packages cannot be downloaded from the " "repositories specified in the multistrap configuration - this is because " "C needs the keyring to be updated before being able to use repositories " "not previously known." msgstr "" #. type: textblock #: pod/multistrap:288 msgid "" "If relevant packages exist, specify them in the 'keyring' option for each " "repository. multistrap will then check that apt has already installed this " "package so that the repository can be authenticated before any packages are " "downloaded from it." msgstr "" #. type: textblock #: pod/multistrap:293 msgid "" "Note that B repositories to be used with multistrap must be " "authenticated or apt will fail. Similarly, secure apt can only be disabled " "for all repositories (by using the --no-auth command line option or setting " "the general noauth option in the configuration file), even if only one " "repository does not have a suitable keyring available." msgstr "" #. type: textblock #: pod/multistrap:300 msgid "" "The keyring package(s) will also be installed inside the multistrap " "environment to match the installed apt sources for the multistrap." msgstr "" #. type: =head1 #: pod/multistrap:303 msgid "State" msgstr "" #. type: textblock #: pod/multistrap:305 msgid "" "multistrap is stateless - if the directory exists, it will simply proceed as " "normal and apt will try to pick up where it left off." msgstr "" #. type: =head1 #: pod/multistrap:308 msgid "Root Filesystem Configuration" msgstr "" #. type: textblock #: pod/multistrap:310 msgid "" "multistrap unpacks the downloaded packages but other stages of system " "configuration are not attempted. Examples include:" msgstr "" #. type: verbatim #: pod/multistrap:313 #, no-wrap msgid "" " /etc/inittab\n" " /etc/fstab\n" " /etc/hosts\n" " /etc/securetty\n" " /etc/modules\n" " /etc/hostname\n" " /etc/network/interfaces\n" " /etc/init.d\n" " /etc/dhcp3 \n" "\n" msgstr "" #. type: textblock #: pod/multistrap:323 msgid "" "Any device-specific device nodes will also need to be created using MAKEDEV " "or C - a helper script that can work around some of the " "issues with MAKEDEV. F requires a device table file along " "the lines of the one in the mtd-utils source package. See " "F" msgstr "" #. type: textblock #: pod/multistrap:329 msgid "" "Once multistrap has successfully created the basic file and directory " "layout, other device-specific scripts are needed before the filesystem can " "be packaged up and installed onto the target device." msgstr "" #. type: textblock #: pod/multistrap:334 msgid "" "Once installed, the packages themselves need to be configured using the " "package maintainer scripts and C, unless this is a " "native multistrap." msgstr "" #. type: textblock #: pod/multistrap:338 msgid "" "For C to work, F and F must be mounted (or mountable), " "F is also recommended." msgstr "" #. type: textblock #: pod/multistrap:341 msgid "See also: http://wiki.debian.org/Multistrap" msgstr "" #. type: =head1 #: pod/multistrap:343 msgid "Environment" msgstr "" #. type: textblock #: pod/multistrap:345 msgid "" "To configure the unpacked packages (whether in native or cross mode), " "certain environment variables are needed:" msgstr "" #. type: textblock #: pod/multistrap:348 msgid "Debconf needs to be told to accept that user interaction is not desired:" msgstr "" #. type: verbatim #: pod/multistrap:351 #, no-wrap msgid "" " DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:353 msgid "" "Perl needs to be told to accept that no locales are available inside the " "chroot and not to complain:" msgstr "" #. type: verbatim #: pod/multistrap:356 #, no-wrap msgid "" " LC_ALL=C LANGUAGE=C LANG=C\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:358 msgid "Then, dpkg can configure the packages:" msgstr "" #. type: textblock #: pod/multistrap:360 msgid "chroot method (PATH = top directory of chroot):" msgstr "" #. type: verbatim #: pod/multistrap:362 #, no-wrap msgid "" " DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \\\n" " LC_ALL=C LANGUAGE=C LANG=C chroot /PATH/ dpkg --configure -a\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:365 msgid "at a login shell:" msgstr "" #. type: verbatim #: pod/multistrap:367 #, no-wrap msgid "" " # export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" " # export LC_ALL=C LANGUAGE=C LANG=C \n" " # dpkg --configure -a\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:371 msgid "(As above, dpkg needs F and F mounted first.)" msgstr "" #. type: =head1 #: pod/multistrap:373 msgid "Native mode - multistrap" msgstr "" #. type: textblock #: pod/multistrap:375 msgid "" "multistrap was not intended for native support, it was developed for cross " "architecture support. In order for multiple repositories to be used, " "multistrap only unpacks the packages selected by apt." msgstr "" #. type: textblock #: pod/multistrap:379 msgid "" "In native mode, various post-multistrap operations are likely to be needed " "that debootstrap would do for you:" msgstr "" #. type: verbatim #: pod/multistrap:382 #, no-wrap msgid "" " 1. copy /etc/hosts into the chroot\n" " 2. clean the environment to unset LANGUAGE, LC_ALL and LANG\n" " to silence nuisance perl warnings that obscure other errors\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:386 msgid "" "(An alternative to unset the localisation variables is to add locales to " "your multistrap configuration file in the 'packages' option." msgstr "" #. type: textblock #: pod/multistrap:390 msgid "" "A native multistrap can be used directly with chroot, so C runs " "C at the end of the multistrap process, unless the " "B option is set to true in the B section of the " "configuration file." msgstr "" #. type: =head1 #: pod/multistrap:395 msgid "Daemons in chroots" msgstr "" #. type: textblock #: pod/multistrap:397 msgid "" "Depending on which system you using to provide the packages for " "C, native chroots should generally not allow daemons to start " "inside the chroot. Use the F as your " "C or include that script in your own setup script." msgstr "" #. type: verbatim #: pod/multistrap:402 #, no-wrap msgid "" " setupscript=/usr/share/multistrap/chroot.sh\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:404 msgid "F copes with systems using F and F." msgstr "" #. type: textblock #: pod/multistrap:406 msgid "See also" msgstr "" #. type: verbatim #: pod/multistrap:408 #, no-wrap msgid "" " http://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt\n" "\n" msgstr "" #. type: =head1 #: pod/multistrap:410 msgid "Cascading configuration" msgstr "" #. type: textblock #: pod/multistrap:412 msgid "" "To support multiple variants of a basic (common) configuration, " "C allows configuration files to include other (more general) " "configuration files. i.e. the most detailed / specific configuration file is " "specified on the command line and that file includes another file which is " "shared by other configurations." msgstr "" #. type: textblock #: pod/multistrap:418 msgid "Base file:" msgstr "" #. type: verbatim #: pod/multistrap:420 #, no-wrap msgid "" " /usr/share/multistrap/crosschroot.conf\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:422 msgid "Variations:" msgstr "" #. type: verbatim #: pod/multistrap:424 #, no-wrap msgid "" " /usr/share/multistrap/armel.conf\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:426 msgid "" "Specifying just the armel.conf file will get the rest of the settings from " "crosschroot.conf so that common changes only need to be made in a single " "file." msgstr "" #. type: textblock #: pod/multistrap:430 msgid "" "It is B recommended that any changes to the configuration files " "involved in any particular cascade are tested using the C<--simulate> option " "to multistrap which will output a summary of the options that have been set " "once the cascade is complete. Note that multistrap does B if a " "configuration file contains an unrecognised option (for future compatibility " "with backported configurations), so a simple typo can result in an option " "not being set." msgstr "" #. type: =head1 #: pod/multistrap:438 msgid "Machine:variant support" msgstr "" #. type: textblock #: pod/multistrap:440 msgid "" "The old packages.conf variables from emsandbox can all be converted into " "C configuration variables. The machine:variant support in " "C concentrates on the scripts, F and F" msgstr "" #. type: textblock #: pod/multistrap:445 msgid "" "Note: B" msgstr "" #. type: textblock #: pod/multistrap:448 msgid "" "Once C has unpacked the downloaded packages, the C can " "be called, passing the location and architecture of the root filesystem, so " "that other fine tuning can take place. At this stage, any operations inside " "a foreign architecture rootfs must not try to execute any binaries within " "the rootfs. As the final stage of the multistrap process, C is " "copied into the root directory of the rootfs." msgstr "" #. type: textblock #: pod/multistrap:456 msgid "" "One advantage of using machine:variant support is that the entire " "rootfilesystem can be managed by a single call to multistrap - this is " "useful when building root filesystems in userspace." msgstr "" #. type: textblock #: pod/multistrap:460 msgid "" "To enable machine:variant support, specify the path to the scripts to be " "called in the variant configuration file (General section):" msgstr "" #. type: verbatim #: pod/multistrap:463 #, no-wrap msgid "" " [General]\n" " include=/path/to/general.conf\n" " setupscript=/path/to/setup.sh\n" " configscript=/path/to/config.sh\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:468 msgid "" "Ensure that both the setupscript and the configscript are executable or " "C will ignore the script." msgstr "" #. type: =item #: pod/multistrap:473 msgid "Example configscript.sh" msgstr "" #. type: verbatim #: pod/multistrap:475 pod/multistrap:733 #, no-wrap msgid "" " #!/bin/sh\n" " \n" msgstr "" #. type: verbatim #: pod/multistrap:477 pod/multistrap:735 #, no-wrap msgid "" " set -e\n" " \n" msgstr "" #. type: verbatim #: pod/multistrap:479 #, no-wrap msgid "" " export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" " export LC_ALL=C LANGUAGE=C LANG=C\n" " /var/lib/dpkg/info/dash.preinst install\n" " dpkg --configure -a\n" " mount proc -t proc /proc\n" " dpkg --configure -a\n" " umount /proc\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:487 msgid "For more information, see the Wiki: http://wiki.debian.org/Multistrap" msgstr "" #. type: =item #: pod/multistrap:490 msgid "Mounting /dev and /proc for chroot configuration" msgstr "" #. type: textblock #: pod/multistrap:492 msgid "/proc can be mounted inside the chroot, as above:" msgstr "" #. type: verbatim #: pod/multistrap:494 #, no-wrap msgid "" " mount proc -t proc /proc\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:496 msgid "" "However, /dev should be mounted from outside the chroot, before running any " "C in the chroot:" msgstr "" #. type: verbatim #: pod/multistrap:499 #, no-wrap msgid "" " cd /path/chroot/\n" " sudo tar -xzf /path/multistrap.tgz\n" " sudo mount /dev -o bind ./dev/\n" " sudo chroot . ./configscript.sh || true\n" "\n" msgstr "" #. type: =head1 #: pod/multistrap:506 msgid "Restricting package selection" msgstr "" #. type: textblock #: pod/multistrap:508 msgid "" "C includes Required packages by default, the current list of " "packages on your own machine can be seen using:" msgstr "" #. type: verbatim #: pod/multistrap:511 #, no-wrap msgid "" " grep-available -FPriority 'required' -sPackage\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:513 msgid "" "(The actual list is calculated from the downloaded Packages files and may " "differ from the output of C.)" msgstr "" #. type: textblock #: pod/multistrap:516 msgid "" "If the OmitRequired option is set to true, these packages will not be added " "- whilst useful, this option can easily lead to a useless rootfs. Only the " "packages specified manually in the configuration files will be used in the " "calculations - dependencies of those packages will be added but no others." msgstr "" #. type: =head1 #: pod/multistrap:522 msgid "Adding Priority: important packages" msgstr "" #. type: textblock #: pod/multistrap:524 msgid "" "C can imitate C by automatically adding all " "packages from all sections where the downloaded Packages file lists the " "package as Priority: important. The default is not to add such packages " "unless individually included in a C option in a section specified " "in the C general option. To add all such packages, set the " "addimportant option to true in the general section." msgstr "" #. type: verbatim #: pod/multistrap:532 #, no-wrap msgid "" " addimportant=true\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:534 msgid "" "Priority: important can only operate for all sections listed in the " "C option. This may cause some confusion when mixing suites." msgstr "" #. type: textblock #: pod/multistrap:537 msgid "" "It is not possible to enable addimportant and omitrequired in the same " "configuration. C will exit with error code 7 if any " "configuration results in addimportant and omitrequired both being set to " "true. (This includes the effects of including other configuration files.)" msgstr "" #. type: =head1 #: pod/multistrap:543 msgid "Recommends behaviour" msgstr "" #. type: textblock #: pod/multistrap:545 msgid "" "The Debian default behaviour after the Lenny release was to consider " "recommended packages as extra packages to be installed when any one package " "is selected. Recommended packages are those which the maintainer considers " "that would be present on C installations of that package and allowing " "Recommends means allowing Recommends of recommended packages and so on." msgstr "" #. type: textblock #: pod/multistrap:552 msgid "The multistrap default is to turn recommends OFF." msgstr "" #. type: textblock #: pod/multistrap:554 msgid "" "Set the allowrecommends option to true in the General section to use typical " "Debian behaviour." msgstr "" #. type: =head1 #: pod/multistrap:557 msgid "Default release" msgstr "" #. type: textblock #: pod/multistrap:559 msgid "" "C supports an option to explicitly set the default release to " "use with apt: C. This determines which release apt will " "use for the base system packages and is not the same as pinning (which " "relates to the use of apt after installation). Multistrap sets the " "default-release to the wildcard * unless a release is named in the " "C field. Any release specified here must also be defined " "in a stanza referenced in the bootstrap list or apt will fail." msgstr "" #. type: textblock #: pod/multistrap:567 msgid "" "To install a specific version of a package from a newer release than the one " "specified as default, C must also be set to true if the " "package exists at any version in the default release. Also, any packages " "upon which that package has a strict dependency (i.e. = rather than >=) must " "also be explicitly added to the packages line in the stanza for the desired " "version, even though that package does not need to be listed to get it from " "the default release. This is typical apt behaviour and is not a bug in " "multistrap." msgstr "" #. type: textblock #: pod/multistrap:576 msgid "" "The combination of default release, explicit suite and apt preferences can " "quickly become complex and bugs can be very hard to identify. C " "always outputs the complete apt command line, so test this command yourself " "(using the files written out by C) to see what is going " "on. Remember that all dependency resolution and all the logic to determine " "which version of a specific package gets installed in your C " "chroot is entirely down to apt and all C can do is pass files " "and command line options to apt." msgstr "" #. type: textblock #: pod/multistrap:585 msgid "See also: apt preferences." msgstr "" #. type: =head1 #: pod/multistrap:587 msgid "Explicit suite specification" msgstr "" #. type: textblock #: pod/multistrap:589 msgid "" "Sometimes, apt needs to be told to get a particular package from a " "particular suite, ignoring a more recent version in another suite in the " "same set of sources." msgstr "" #. type: textblock #: pod/multistrap:593 msgid "" "C can operate with and without the explicit suite option, the " "default is to let apt use the most recent version from the collection of " "specified F sources." msgstr "" #. type: textblock #: pod/multistrap:597 msgid "" "Explicit suite specification has no effect on the final installed system - " "if your aptsources includes a repository which in turn includes a newer " "version of the package(s) specified explicitly, the next C " "on the device will bring in the newer version." msgstr "" #. type: textblock #: pod/multistrap:602 msgid "" "Also, when specifying packages to get from a specific suite, apt will also " "try and ensure that the dependencies for that package are also from the same " "suite and this can cause apt to be unable to resolve the complete set of " "dependencies. In this situation, being explicit about one package selection " "may require being explicit about some (not necessarily all) of the " "dependencies of that package as well." msgstr "" #. type: textblock #: pod/multistrap:609 msgid "" "When using this support in Lenny, ensure that each section uses the suite " "(oldstable, stable, testing, sid) and B the codename (etch, lenny, " "squeeze, sid) in the C configuration item as the version of apt in " "Lenny and previous cannot use the codename." msgstr "" #. type: textblock #: pod/multistrap:614 msgid "To test, on Lenny, try:" msgstr "" #. type: verbatim #: pod/multistrap:616 #, no-wrap msgid "" " $ sudo apt-get install apt/stable\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:618 msgid "Compare with" msgstr "" #. type: verbatim #: pod/multistrap:620 #, no-wrap msgid "" " $ sudo apt-get install apt/lenny\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:622 msgid "" "When using explicitsuite, take care in using stable-proposed-updates or " "other temporary locations - if the package migrates into another suite and " "is removed from the temporary suite (as with *-proposed-updates), multistrap " "will not be able to find the package." msgstr "" #. type: textblock #: pod/multistrap:628 msgid "" "Explicit suite handling can be very hard to get right. In general, it is " "best to create a small bootstrap chroot of your native arch, then chroot " "into it, add the relevant apt sources and work out exactly what commands are " "necessary to get the correct mix of packages. Avoid specifying explicit " "versions to sort out problems, work with suites only. Apt preferences / " "pinning may be useful here, see Apt preferences." msgstr "" #. type: =head1 #: pod/multistrap:635 msgid "Apt preferences" msgstr "" #. type: textblock #: pod/multistrap:637 msgid "" "If a suitable file is listed in the B option of the " "B section of the configuration file, this file will be copied into " "the apt preferences directory of the bootstrap before apt is first used." msgstr "" #. type: textblock #: pod/multistrap:642 msgid "" "When an apt preferences file B provided, the C " "behaviour of C is disabled." msgstr "" #. type: textblock #: pod/multistrap:645 msgid "" "As with other external scripts and files, the content of the apt preferences " "file is beyond the scope of this manpage. C does not try to " "verify the supplied file other than ensuring that it can be read." msgstr "" #. type: =head1 #: pod/multistrap:650 msgid "Omitting deb-src listings" msgstr "" #. type: textblock #: pod/multistrap:652 msgid "" "Some multistrap environments do not need access to the Debian sources of " "packages being installed, typically this is required when preparing a build " "(or cross-build) chroot using multistrap." msgstr "" #. type: textblock #: pod/multistrap:656 msgid "" "To turn off this additional source (and save both download time and " "apt-cache size), use the omitdebsrc field in each Section." msgstr "" #. type: verbatim #: pod/multistrap:659 #, no-wrap msgid "" " [Baked]\n" " packages=\n" " source=http://www.emdebian.org/baked\n" " keyring=emdebian-archive-keyring\n" " suite=testing\n" " omitdebsrc=true\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:666 msgid "" "omitdebsrc is necessary when using packages from debian-ports where packages " "do not have sources, except \"unreleased\"." msgstr "" #. type: =head1 #: pod/multistrap:669 msgid "fakeroot" msgstr "" #. type: textblock #: pod/multistrap:671 msgid "" "Foreign architecture bootstraps can operate under C (C " "is designed to do as much as it can within a single call to make this " "easier) but the configuration stage which normally happens with a native " "architecture bootstrap requires C and C itself will not " "operate under C." msgstr "" #. type: textblock #: pod/multistrap:677 msgid "" "Therefore, if C detects that C is in use, native mode " "configuration is skipped with a reminder warning." msgstr "" #. type: textblock #: pod/multistrap:680 msgid "" "The same problem applies to C and therefore the " "installation of the keyring package on the host system is also skipped if " "fakeroot is detected." msgstr "" #. type: =head1 #: pod/multistrap:684 msgid "Handling problematic packages" msgstr "" #. type: textblock #: pod/multistrap:686 msgid "" "Sometimes, a particular package will fail to even unpack properly if other " "packages have not already been unpacked. This can happen if dpkg diversions " "are not setup correctly or if the package Pre-Depends on an executable in " "another package." msgstr "" #. type: textblock #: pod/multistrap:691 msgid "" "Multistrap offers two ways to handle these problems. A package can be listed " "as C or as C. Each section in the C " "configuration file can have a single C or C listing " "or both." msgstr "" #. type: textblock #: pod/multistrap:696 msgid "" "Reinstall means that the package will be downloaded and unpacked as normal - " "alongside all the other packages, but will then be reinstalled at the end by " "running the C maintainer script with the C " "argument. C will then continue the rest of the configuration of that " "package." msgstr "" #. type: textblock #: pod/multistrap:702 msgid "" "Additional adds a second round of C to the multistrap " "process - after the initial unpacking. The additional package will then be " "downloaded and unpacked. If running natively, the additional package is " "downloaded, unpacked and configured after all the rest of the packages have " "been downloaded, unpacked and configured." msgstr "" #. type: textblock #: pod/multistrap:708 msgid "" "Neither C nor C should be seen as more than just " "workarounds and wishlist bugs should be filed in Debian against packages " "which require the use of these mechanisms (or the packages which would " "prevent the particular package from operating normally)." msgstr "" #. type: =head1 #: pod/multistrap:713 msgid "Debconf preseeding" msgstr "" #. type: textblock #: pod/multistrap:715 msgid "" "Adding a debconf seed can help in configuring packages to a particular " "setting instead of the package default when running the configuration " "non-interactively. See http://www.debian-administration.org/articles/394 for " "information on how to create seed files." msgstr "" #. type: textblock #: pod/multistrap:720 msgid "" "Multiple seed files can be specified using the debconfseed field in the " "[General] section, separated by spaces:" msgstr "" #. type: verbatim #: pod/multistrap:723 #, no-wrap msgid "" " debconfseed=seed1 seed2\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:725 msgid "" "Files which do not exist or which cannot be opened will be silently " "ignored. Check the results of the parsing using the C<--simulate> option to " "C. The preseeding files will be copied to a preseed directory in " "/tmp inside the rootfs." msgstr "" #. type: textblock #: pod/multistrap:730 msgid "" "To use the preseeding, add a section to the configscript.sh, prior to any " "calls to B. e.g. :" msgstr "" #. type: verbatim #: pod/multistrap:737 #, no-wrap msgid "" " export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" " export LC_ALL=C LANGUAGE=C LANG=C\n" " if [ -d /tmp/preseeds/ ]; then\n" " for file in `ls -1 /tmp/preseeds/*`; do\n" " debconf-set-selections $file\n" " done\n" " fi\n" " dpkg --configure -a\n" "\n" msgstr "" #. type: =head1 #: pod/multistrap:746 msgid "Hooks" msgstr "" #. type: textblock #: pod/multistrap:748 msgid "" "If a hook directory (hookdir=) is specified in the General section of the " "C configuration file, the hook scripts which are executable will " "be run from outside the multistrap directory at the following stages:" msgstr "" #. type: =item #: pod/multistrap:754 msgid "download hooks" msgstr "" #. type: textblock #: pod/multistrap:756 msgid "" "Executed before unpacking is started, immediately after the packages have " "been downloaded. Download hooks are executable scripts in the specified hook " "directory with a filename beginning with B." msgstr "" #. type: =item #: pod/multistrap:760 msgid "native hooks" msgstr "" #. type: textblock #: pod/multistrap:762 msgid "" "Native hook scripts are executed only in native mode, immediately before " "starting the configuration of the downloaded packages and again upon " "completion of the package configuration. Native hooks will be called the " "absolute path and the current progress state, start or end." msgstr "" #. type: textblock #: pod/multistrap:767 msgid "" "Native scripts are executable scripts in the specified hook directory with a " "filename beginning with B." msgstr "" #. type: =item #: pod/multistrap:770 msgid "completion hooks" msgstr "" #. type: textblock #: pod/multistrap:772 msgid "" "Executed immediately before the tarball is created or C exits if " "not configured to create a tarball." msgstr "" #. type: textblock #: pod/multistrap:775 msgid "" "Completion scripts are executable scripts in the specified hook directory " "with a filename beginning with B." msgstr "" #. type: textblock #: pod/multistrap:780 msgid "" "Hooks are passed the absolute path to the directory which will be the top " "level directory of the chroot or multistrap system. Hooks which cannot be " "resolved using realpath or which are not executable will be ignored." msgstr "" #. type: textblock #: pod/multistrap:785 msgid "All hooks of one type are sorted into alphabetical order before being run." msgstr "" #. type: textblock #: pod/multistrap:788 msgid "" "Note that C does not rollback the effects of hooks in the case " "of errors. However, C will report the accumulated errors as " "warnings. If a hook exits non-zero, the exit value is converted to a " "positive number and added to the total warning count, reported at the end of " "the operation." msgstr "" #. type: =head1 #: pod/multistrap:794 msgid "Output" msgstr "" #. type: textblock #: pod/multistrap:796 msgid "" "C can produce a lot of output - informational messages appear on " "STDOUT, errors and warnings on STDERR. Calls to C and C respect " "the same pattern, so it is simple to trim the combined C output " "to just the errors, if desired." msgstr "" #. type: textblock #: pod/multistrap:801 msgid "" "C accumulates error states from non-fatal processes within the " "operation and reports these as warnings on STDERR as well as exiting with " "the accumulated error count. This includes hooks which report non-zero exit " "values." msgstr "" #. type: =head1 #: pod/multistrap:806 msgid "Bugs" msgstr "" #. type: textblock #: pod/multistrap:808 msgid "" "As C gets more complex, bugs will creep into the package. " "Please report all bugs to the Debian BTS using the C tool and " "B attach all configuration files. If your configuration needs to " "access local or private apt repositories, please check your configuration " "with the latest version of C in Debian using the C<--simulate> " "option and include that report in your bug report." msgstr "" #. type: textblock #: pod/multistrap:815 msgid "" "The C<--simulate> option output is regularly expanded to help users debug " "problems in the configuration files." msgstr "" #. type: textblock #: pod/multistrap:818 msgid "" "Please also check (and update) the Multistrap wiki at " "http://wiki.debian.org/Multistrap and the Multistrap webpage content at " "http://www.emdebian.org/multistrap/ before filing bugs. Various people on " "the debian-embedded@lists.debian.org mailing list and #emdebian IRC channel " "on irc.oftc.net can also help if your config file does not parse " "correctly. You would need to put the C<--simulate> output on a pastebin " "website and put the URL in your message." msgstr "" #. type: =head1 #: pod/multistrap:826 msgid "MultiArch support" msgstr "" #. type: textblock #: pod/multistrap:828 msgid "" "Multiarch support is experimental - please report issues and file bugs with " "full details of your setup, the full multistrap config file and the errors " "reported." msgstr "" #. type: textblock #: pod/multistrap:832 msgid "" "C overrides the existing multiarch support of the external " "system so that a MultiArch aware system can still create a non-MultiArch " "chroot from repositories which do not support all of the architectures " "supported by the external dpkg." msgstr "" #. type: textblock #: pod/multistrap:837 msgid "" "If multiarch is enabled within the multistrap chroot, C writes " "out the list into F inside the chroot." msgstr "" #. type: textblock #: pod/multistrap:840 msgid "" "For multiple architectures, specify the option once and use a space " "separated list for the architecture list. Ensure you include what will be " "the host architecture of the chroot." msgstr "" #. type: textblock #: pod/multistrap:844 msgid "See also http://wiki.debian.org/Multiarch/" msgstr "" #. type: verbatim #: pod/multistrap:846 #, no-wrap msgid "" " [General]\n" " ...\n" " multiarch=i386 armel armhf\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:850 msgid "" "Each Section will install packages from the base architecture unless the " "C option is specified for particular sections." msgstr "" #. type: verbatim #: pod/multistrap:853 #, no-wrap msgid "" " [Foreign]\n" " packages=libgcc1 libc6\n" " architecture=armel\n" " source=http://ftp.uk.debian.org/debian\n" " keyring=debian-archive-keyring\n" " suite=sid\n" "\n" msgstr "" #. type: textblock #: pod/multistrap:860 msgid "" "In the C<--simulate> output, the architecture(s) specified in the MultiArch " "option will be listed under the \"Foreign architectures\" listing. Packages " "for a specific architecture will be listed as the package name followed by a " "colon followed by the architecture." msgstr "" #. type: verbatim #: pod/multistrap:865 #, no-wrap msgid "" " libgcc1:armel libc6:armel\n" "\n" msgstr "" #. type: textblock #: device-table.pl:167 msgid "device-table.pl - parses simple device tables and passes to mknod" msgstr "" #. type: verbatim #: device-table.pl:171 #, no-wrap msgid "" " device-table.pl [-n|--dry-run] [-d DIR] [-f FILE]\n" " device-table.pl -?|-h|--help|--version\n" "\n" msgstr "" #. type: textblock #: device-table.pl:176 msgid "" "By default, F writes out the device nodes in the current " "working directory. Use the directory option to write out elsewhere." msgstr "" #. type: textblock #: device-table.pl:179 msgid "" "multistrap contains a default device-table file, use the file option to " "override the default F" msgstr "" #. type: textblock #: device-table.pl:182 msgid "Use the dry-run option to see the commands that would be run." msgstr "" #. type: textblock #: device-table.pl:184 msgid "" "Device nodes need fakeroot or another way to use root access. If " "F is already being run under fakeroot or equivalent, the " "existing fakeroot session will be used, alternatively, use the no-fakeroot " "option to drop the internal fakeroot usage." msgstr "" #. type: textblock #: device-table.pl:189 msgid "" "Note that fakeroot does not support changing the actual ownerships, for " "that, run the final packing into a tarball under fakeroot as well, or use " "C when running F" msgstr "" #. type: =head1 #: device-table.pl:193 msgid "Device table format" msgstr "" #. type: textblock #: device-table.pl:195 msgid "" "Device table files are tab separated value files (TSV). All lines in the " "device table must have exactly 10 entries, each separated by a single tab, " "except comments - which must start with #" msgstr "" #. type: textblock #: device-table.pl:199 msgid "Device table entries take the form of:" msgstr "" #. type: verbatim #: device-table.pl:201 #, no-wrap msgid "" " \n" "\n" msgstr "" #. type: textblock #: device-table.pl:203 msgid "where name is the file name, type can be one of:" msgstr "" #. type: verbatim #: device-table.pl:205 #, no-wrap msgid "" " f A regular file\n" " d Directory\n" " s symlink\n" " h hardlink\n" " c Character special device file\n" " b Block special device file\n" " p Fifo (named pipe)\n" "\n" msgstr "" #. type: textblock #: device-table.pl:213 msgid "" "symlinks and hardlinks are extensions to the device table, just for " "F, other device table parsers might not handle these " "types. The first field of the symlink command is the existing target of the " "symlink, the third field is the full path of the symlink itself. e.g." msgstr "" #. type: verbatim #: device-table.pl:219 #, no-wrap msgid "" " /proc/self/fd/0 s /dev/stdin - - - - - - -\n" "\n" msgstr "" #. type: textblock #: device-table.pl:221 msgid "See http://wiki.debian.org/DeviceTableScripting" msgstr ""