Guest User

debian schroot debootstrap

a guest
Mar 12th, 2010
478
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.76 KB | None | 0 0
  1. #!/bin/sh
  2. # chroot_create.sh
  3.  
  4. if ! whoami | grep -q root; then echo Run it as root.; echo; exit 1; fi
  5.  
  6. CHROOTDIR="/chroot"
  7. MYUSER="andras"
  8. DEBIANVER="lenny"
  9. ARCH="amd64"
  10. CONF="/etc/schroot/schroot.conf"
  11. PKGS="epiphany-browser pidgin pidgin-encryption pidgin-otr alsa-utils mozilla-mplayer swfdec-mozilla gtk2-engines-pixbuf gtk2-engines-xfce less wine-bin wine-utils"
  12.  
  13.  
  14. if [ -x "$CHROOTDIR" ]
  15. then
  16.     echo Chroot directory already exists.
  17.     echo
  18.     exit 1
  19. fi
  20.  
  21.  
  22. apt-get clean
  23. apt-get update
  24. apt-get install schroot debootstrap
  25.  
  26.  
  27. debootstrap --variant=minbase --arch $ARCH $DEBIANVER $CHROOTDIR http://ftp.at.debian.org/debian
  28.  
  29. #nano /etc/schroot/copyfiles-defaults
  30. #nano /etc/schroot/mount-defaults
  31.  
  32. sed -i.bak s/"^\/home"/"#\/home"/ /etc/schroot/mount-defaults
  33. sed -i.tmp s/"^#proc"/"proc"/     /etc/schroot/mount-defaults
  34. sed -i.tmp s/"^#tmpfs"/"tmpfs"/   /etc/schroot/mount-defaults
  35.  
  36.  
  37. echo "" > "$CONF"
  38. echo "[default]" >> "$CONF"
  39. echo "description=Debian" >> "$CONF"
  40. echo "type=directory" >> "$CONF"
  41. echo "location=$CHROOTDIR" >> "$CONF"
  42. echo "priority=3" >> "$CONF"
  43. echo "users=$MYUSER" >> "$CONF"
  44. echo "#groups=sbuild" >> "$CONF"
  45. echo "root-groups=root" >> "$CONF"
  46. echo "run-setup-scripts=true" >> "$CONF"
  47. echo "run-exec-scripts=true" >> "$CONF"
  48.  
  49.  
  50. echo 'SESSIONS_RECOVER="end"' > /etc/default/schroot
  51.  
  52.  
  53. schroot -d ~ -- apt-get clean
  54. schroot -d ~ -- apt-get update
  55. schroot -d ~ -- apt-get -y upgrade
  56. schroot -d ~ -- apt-get -y install $PKGS
  57. schroot -d ~ -- apt-get clean
  58. schroot -d ~ -- apt-get update
  59. schroot -d ~ -- apt-get -y upgrade
  60.  
  61.  
  62. sed -i.tmp s/"^\/home"/"#\/home"/ /etc/schroot/mount-defaults
  63. sed -i.tmp s/"^proc"/"#proc"/     /etc/schroot/mount-defaults
  64. sed -i.tmp s/"^tmpfs"/"#tmpfs"/   /etc/schroot/mount-defaults
  65.  
  66.  
  67. # my own settings to copy
  68. mkdir -p "$CHROOTDIR"/home/"$MYUSER"
  69. mkdir -p "$CHROOTDIR"/home/"$MYUSER"/Desktop
  70. mkdir -p "$CHROOTDIR"/home/"$MYUSER"/configs
  71. mkdir -p "$CHROOTDIR"/home/"$MYUSER"/extras/downloads
  72. mkdir -p "$CHROOTDIR"/home/"$MYUSER"/.config
  73. mkdir -p "$CHROOTDIR"/home/"$MYUSER"/.gconf/apps
  74. mkdir -p "$CHROOTDIR"/home/"$MYUSER"/.gnome2
  75. chown -R "$MYUSER":"$MYUSER" "$CHROOTDIR"/home/"$MYUSER"
  76. # epiphany settings
  77. cp -a /home/"$MYUSER"/.gnome2/epiphany     "$CHROOTDIR"/home/"$MYUSER"/.gnome2/
  78. cp -a /home/"$MYUSER"/.gconf/apps/epiphany     "$CHROOTDIR"/home/"$MYUSER"/.gconf/apps/
  79. # pidgin settings
  80. cp -a /home/"$MYUSER"/.purple              "$CHROOTDIR"/home/"$MYUSER"/
  81. # pidgin plugin for msn live
  82. cp -a /usr/lib/purple-2/libmsn-pecan.so    "$CHROOTDIR"/usr/lib/purple-2/
  83.  
  84.  
  85. tzselect
  86.  
  87. echo
  88. echo removing suid and guid bits from executables...
  89. find /chroot/ -perm -4000 -user  root ! -type d | xargs chmod u-s
  90. find /chroot/ -perm -2000 -group root ! -type d | xargs chmod g-s
  91.  
  92. echo
  93. echo done.
  94.  
  95. exit 0
Advertisement
Add Comment
Please, Sign In to add comment