script dapper para debootstrap

Publicado por Ricardo Brito do Nascimento 02/04/2007

[ Hits: 5.324 ]

Homepage: http://brito.blog.incolume.com.br

Download dapper




Este script é usado para fazer instalação do ubuntu dapper com o debootstrap.

Deve ser adicionado no diretório '/usr/lib/debootstrap/scripts/'

debootstrap --arch 'arquitetura_hard' --verbose 'script_install' 'dir_destino' 'url_espelho'
debootstrap --arch i386 --verbose dapper ubuntu-dapper/ http://archive.ubuntu.com/ubuntu/

  



Esconder código-fonte

mirror_style release
download_style apt
finddebs_style from-indices
variants - buildd

work_out_debs () {
    LIBC6=libc6
    if [ "$ARCH" = "alpha" -o "$ARCH" = "ia64" ]; then LIBC6="libc6.1"; fi

    required="$(get_debs Priority: required)"

    if doing_variant -; then 
      #required="$required $(get_debs Priority: important)"
      #  ^^ should be getting debconf here somehow maybe
      base="$(get_debs Priority: important)"
    elif doing_variant buildd; then
      # TODO: add Build-Essential: yes extraoverrides
      #base="$(get_debs Build-Essential: yes)"

      add () { if [ "$ARCH" = "$1" ]; then eval "$2=\"\$$2 $3\""; fi; }

      base="apt binutils cpio cpp cpp-4.0 dpkg-dev g++ g++-4.0 gcc gcc-4.0 ${LIBC6}-dev libgdbm3 libstdc++6 libstdc++6-4.0-dev linux-kernel-headers make patch perl perl-modules"

      add ia64 base "libunwind7-dev"
      add sparc base "lib64gcc1"
      add sparc base "libc6-dev-sparc64"
      add sparc base "libc6-sparc64"
    fi
}

first_stage_install () {
    extract $required

    mkdir -p "$TARGET/var/lib/dpkg"
    : >"$TARGET/var/lib/dpkg/status"
    : >"$TARGET/var/lib/dpkg/available"

    setup_etc
    if [ ! -e "$TARGET/etc/fstab" ]; then
        echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab"
        chown 0.0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab"
    fi

    setup_devices

    x_feign_install () {
        local pkg="$1"
        local deb="$(debfor $pkg)"
        local ver="$(
            ar -p "$TARGET/$deb" control.tar.gz | zcat |
                tar -O -xf - control ./control 2>/dev/null |
                sed -ne 's/^Version: *//Ip' | head -n 1
        )"

        mkdir -p "$TARGET/var/lib/dpkg/info"

        echo \
"Package: $pkg
Version: $ver
Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"

        touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
    }

    x_feign_install dpkg
}

second_stage_install () {
    x_core_install () {
   smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
    }

    p () {
   baseprog="$(($baseprog + ${1:-1}))"
    }

    setup_proc
    in_target /sbin/ldconfig

    DEBIAN_FRONTEND=noninteractive
    DEBCONF_NONINTERACTIVE_SEEN=true
    export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN

    baseprog=0
    bases=7

    p; progress $baseprog $bases INSTCORE "Installing core packages" #1
    info INSTCORE "Installing core packages..."

    p; progress $baseprog $bases INSTCORE "Installing core packages" #2
    ln -sf mawk $TARGET/usr/bin/awk
    x_core_install base-files base-passwd
    p; progress $baseprog $bases INSTCORE "Installing core packages" #3
    x_core_install dpkg

    if [ ! -e "$TARGET/etc/localtime" ]; then
        ln -sf /usr/share/zoneinfo/UTC "$TARGET/etc/localtime"
    fi

    p; progress $baseprog $bases INSTCORE "Installing core packages" #4
    x_core_install $LIBC6

    p; progress $baseprog $bases INSTCORE "Installing core packages" #5
    x_core_install perl-base

    p; progress $baseprog $bases INSTCORE "Installing core packages" #6
    rm $TARGET/usr/bin/awk
    x_core_install mawk

    p; progress $baseprog $bases INSTCORE "Installing core packages" #7
    if doing_variant -; then
      x_core_install debconf
    fi

    baseprog=0
    bases=$(set -- $required; echo $#)

    info UNPACKREQ "Unpacking required packages..."

    smallyes '' | 
      (repeat 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages.  This will be attempted up to five times." "" \
      dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 |
      dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING) 7>&1

    info CONFREQ "Configuring required packages..."

    mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL"
    echo \
"#!/bin/sh
echo
echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon"
    chmod 755 "$TARGET/sbin/start-stop-daemon"

    setup_dselect_method apt

    smallyes '' | 
      (in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \
      dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 |
      dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING) 7>&1

    baseprog=0
    bases="$(set -- $base; echo $#)"

    info UNPACKBASE "Unpacking the base system..."

    smallyes '' | 
      (repeat 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages.  This will be re-attempted up to five times." "" \
      dpkg --status-fd 8 --force-auto-select --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 |
      dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING) 7>&1

    info CONFBASE "Configuring the base system..."

    smallyes '' |
      (repeat 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages.  This will be attempted 5 times." "" \
      dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 |
      dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING) 7>&1

    mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon"

    progress $bases $bases CONFBASE "Configuring base system"
    info BASESUCCESS "Base system installed successfully."
}

Scripts recomendados

Gerar senhas aleatórias de qualquer tamanho

Firewall para Compartilhamento de Conexão 3G

Script para criar certificados de forma automatizada no OpenVpn

Atualizador de Sources.list

Tornando seu Ubuntu uma distro para testes de intrusão


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts