mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-10 02:47:36 +00:00
lxc-ubuntu: fix obscure arguments
1. --path is meant to be passed by lxc-create, but should not be passed in by users. Don't advertise it in --help. 2. --clean syntax ends up not making much sense. Get rid of it, and add '--flush-cache' option instead. Signed-off-by: Serge Hallyn <serge@hallyn.com> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
parent
b119f36293
commit
bb59e07809
@ -227,6 +227,7 @@ install_ubuntu()
|
|||||||
{
|
{
|
||||||
rootfs=$1
|
rootfs=$1
|
||||||
release=$2
|
release=$2
|
||||||
|
flushcache=$3
|
||||||
cache="/var/cache/lxc/$release"
|
cache="/var/cache/lxc/$release"
|
||||||
mkdir -p /var/lock/subsys/
|
mkdir -p /var/lock/subsys/
|
||||||
(
|
(
|
||||||
@ -237,6 +238,12 @@ install_ubuntu()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ $flushcache -eq 1 ]; then
|
||||||
|
echo "Flushing cache..."
|
||||||
|
rm -rf "$cache/partial-$arch"
|
||||||
|
rm -rf "$cache/rootfs-$arch"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Checking cache download in $cache/rootfs-$arch ... "
|
echo "Checking cache download in $cache/rootfs-$arch ... "
|
||||||
if [ ! -e "$cache/rootfs-$arch" ]; then
|
if [ ! -e "$cache/rootfs-$arch" ]; then
|
||||||
download_ubuntu $cache $arch $release
|
download_ubuntu $cache $arch $release
|
||||||
@ -491,34 +498,11 @@ do_bindhome()
|
|||||||
echo "$h $rootfs/$h none bind 0 0" >> $path/fstab
|
echo "$h $rootfs/$h none bind 0 0" >> $path/fstab
|
||||||
}
|
}
|
||||||
|
|
||||||
clean()
|
|
||||||
{
|
|
||||||
release=$1
|
|
||||||
cache="/var/cache/lxc/$release"
|
|
||||||
|
|
||||||
if [ ! -e $cache ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# lock, so we won't purge while someone is creating a repository
|
|
||||||
(
|
|
||||||
flock -n -x 200
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
echo "Cache repository is busy."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -n "Purging the download cache..."
|
|
||||||
rm --preserve-root --one-file-system -rf $cache && echo "Done." || exit 1
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
) 200>/var/lock/subsys/lxc
|
|
||||||
}
|
|
||||||
|
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
$1 -h|--help -p|--path=<path> --clean [-a|--arch] [-b|--bindhome <user>] [--trim] [-r|--release]
|
$1 -h|--help [-a|--arch] [-b|--bindhome <user>] [--trim]
|
||||||
|
[-F | --flush-cache] [-r|--release <release>]
|
||||||
release: lucid | maverick | natty | oneiric | precise
|
release: lucid | maverick | natty | oneiric | precise
|
||||||
trim: make a minimal (faster, but not upgrade-safe) container
|
trim: make a minimal (faster, but not upgrade-safe) container
|
||||||
bindhome: bind <user>'s home into the container
|
bindhome: bind <user>'s home into the container
|
||||||
@ -527,7 +511,7 @@ EOF
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
options=$(getopt -o a:b:hp:r:xn:c -l arch:,bindhome:,help,path:,release:,trim,name:,clean -- "$@")
|
options=$(getopt -o a:b:hp:r:xn:F -l arch:,bindhome:,help,path:,release:,trim,name:,flush-cache -- "$@")
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
usage $(basename $0)
|
usage $(basename $0)
|
||||||
exit 1
|
exit 1
|
||||||
@ -565,13 +549,14 @@ fi
|
|||||||
|
|
||||||
trim_container=0
|
trim_container=0
|
||||||
hostarch=$arch
|
hostarch=$arch
|
||||||
|
flushcache=0
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h|--help) usage $0 && exit 0;;
|
-h|--help) usage $0 && exit 0;;
|
||||||
-p|--path) path=$2; shift 2;;
|
-p|--path) path=$2; shift 2;;
|
||||||
-n|--name) name=$2; shift 2;;
|
-n|--name) name=$2; shift 2;;
|
||||||
-c|--clean) clean=$2; shift 2;;
|
-F|--flush-cache) flushcache=1; shift 1;;
|
||||||
-r|--release) release=$2; shift 2;;
|
-r|--release) release=$2; shift 2;;
|
||||||
-b|--bindhome) bindhome=$2; shift 2;;
|
-b|--bindhome) bindhome=$2; shift 2;;
|
||||||
-a|--arch) arch=$2; shift 2;;
|
-a|--arch) arch=$2; shift 2;;
|
||||||
@ -592,11 +577,6 @@ if [ "$arch" == "i686" ]; then
|
|||||||
arch=i386
|
arch=i386
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$clean" -a -z "$path" ]; then
|
|
||||||
clean || exit 1
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $hostarch = "i386" -a $arch = "amd64" ]; then
|
if [ $hostarch = "i386" -a $arch = "amd64" ]; then
|
||||||
echo "can't create amd64 container on i386"
|
echo "can't create amd64 container on i386"
|
||||||
exit 1
|
exit 1
|
||||||
@ -620,7 +600,7 @@ fi
|
|||||||
|
|
||||||
rootfs=$path/rootfs
|
rootfs=$path/rootfs
|
||||||
|
|
||||||
install_ubuntu $rootfs $release
|
install_ubuntu $rootfs $release $flushcache
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "failed to install ubuntu $release"
|
echo "failed to install ubuntu $release"
|
||||||
exit 1
|
exit 1
|
||||||
@ -643,11 +623,6 @@ if [ ! -z $bindhome ]; then
|
|||||||
do_bindhome $rootfs $bindhome
|
do_bindhome $rootfs $bindhome
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z $clean ]; then
|
|
||||||
clean $release || exit 1
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "##"
|
echo "##"
|
||||||
echo "# The default user is 'ubuntu' with password 'ubuntu'!"
|
echo "# The default user is 'ubuntu' with password 'ubuntu'!"
|
||||||
|
Loading…
Reference in New Issue
Block a user