All pastes #1878258 Raw Edit

apt-mover

public shellscript v1 · immutable
#1878258 ·published 2010-06-07 05:11 UTC
rendered paste body
#!/bin/sh#Script untuk otomatisasi pembuatan repository lokal#Pembuat: Mochamad Taufan Rezzafri (taufan.rezzafri@yahoo.co.id)#Lisensi : GPL#Terdiri dari 5 bagian yaitu :# 1. Eksekusi apt-move -d `lsb_release -sc` update# 2. Pembuatan Directory tree yang belum dibuat secara otomatis pada langkah pertama# 3. Pembuatan file Release# 4. Pembuatan File info (berguna bila repository ditempatkan pada media CD/DVD)# 5. Memberikan "tandatangan" pada file Release dan pembuatan file Public.key#http://rezzafri.wordpress.com/2010/06/07/pembuatan-repository-local-ubuntu-dengan-apt-move/RELEASE=`lsb_release -sc`LOCALDIR=`grep 'LOCALDIR' /etc/apt-move.conf | sed 's/[A-Z]\+=//'`if [ ! -d $LOCALDIR ];then  mkdir -v -p $LOCALDIRficd $LOCALDIRecho "1) Executing \"apt-move -d $RELEASE update\" :"if apt-move -d $RELEASE update > "log-`date +%Y-%m-%d`"  then    echo "Succesfully Done!!"  else    echo "Failed moving to repository"    exit $?fiechoecho "2) Creating APT repository tree :"for f in `ls $PWD/pool/`do  if mkdir -p $PWD/dists/$RELEASE/$f/binary-i386    then      echo "\tDirectory: \"dists/$RELEASE/$f/binary-i386\" created"    else       echo "\tFailed creating directory"  fidoneechoecho "3) Creating Packages file :"for f in `ls $PWD/pool/`do  apt-ftparchive packages pool/$f/ > dists/$RELEASE/$f/binary-i386/Packages  cat dists/$RELEASE/$f/binary-i386/Packages | gzip -9c > dists/$RELEASE/$f/binary-i386/Packages.gz  echo "\tdists/$RELEASE/$f/binary-i386/Packages created"  echo "\tdists/$RELEASE/$f/binary-i386/Packages.gz created"doneechoecho "4) Create Release File :"COMPONENT=`ls $PWD/pool/ | tr '\n' ' '| sed 's/[ ]*$//'`OUTFILE=`mktemp`(cat << EOFAPT::FTPArchive::Release {Origin "APT-Move";Label "APT-Move";Suite "$RELEASE";Codename "$RELEASE";Architectures "i386";Components "$COMPONENT";Description "Ubuntu Updates CD";};EOF) > $OUTFILEif [ -f $OUTFILE ]  then    rm -f dists/$RELEASE/{Release,Release.gpg}    apt-ftparchive -c $OUTFILE release dists/$RELEASE/ > Release    wait    mv Release dists/$RELEASE/Release    echo "\tRelease file created"    echo  if [ -f dists/$RELEASE/Release ]    then      echo "5) Signing Release file"      gpg -bao dists/$RELEASE/Release.gpg dists/$RELEASE/Release      wait      echo "Release file signed"   fifiechoecho "6) Create info file"rm -rf .diskmkdir .diskecho Ubuntu-Extras `date +%Y-%m-%d` > .disk/infoecho "CD INFO: \"Ubuntu-Extras `date +%Y-%m-%d`\""echoecho "7) Create Public keys"PUBLIC_KEY=Public.key(cat << EOFBefore using this CDROM, do the following command on terminal :\$ cd /path/to/cdrom/\$ sudo apt-key add $PUBLIC_KEY\$ sudo apt-cdrom addEOF) > README.TXTwhile [ "$name" = "" ]; do    read -p "What is your name or key ID (that you use in your PGP)? " namedoneif `gpg --export -a "$name" > $PUBLIC_KEY`; then  echo "$PUBLIC_KEY created"else  echo "failed to create $PUBLIC_KEY"  exit $?firm -f $OUTFILEecho "Creating Local Repository, Done!!"exit 0