mirror of
https://codeberg.org/scip/jaildk.git
synced 2025-12-18 05:01:02 +01:00
56
jaildk
56
jaildk
@@ -104,7 +104,7 @@ jaildk_build() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "buildbase"; then
|
if test -n "$buildbase"; then
|
||||||
base="$buildbase"
|
base="$buildbase"
|
||||||
elif test -z "$base"; then
|
elif test -z "$base"; then
|
||||||
# not configured, use default: latest
|
# not configured, use default: latest
|
||||||
@@ -423,7 +423,10 @@ usr/share/man
|
|||||||
rescue
|
rescue
|
||||||
media
|
media
|
||||||
mnt
|
mnt
|
||||||
boot"
|
boot
|
||||||
|
var/run
|
||||||
|
var/cache
|
||||||
|
var/tmp"
|
||||||
|
|
||||||
if echo "$base" | egrep -vq "^/"; then
|
if echo "$base" | egrep -vq "^/"; then
|
||||||
basedir=$j/base/$base
|
basedir=$j/base/$base
|
||||||
@@ -452,6 +455,11 @@ boot"
|
|||||||
ex rm -rf $basedir/var/db
|
ex rm -rf $basedir/var/db
|
||||||
ex ln -s /usr/local/db $basedir/var/db
|
ex ln -s /usr/local/db $basedir/var/db
|
||||||
|
|
||||||
|
# add some symlinks from /var to /tmp to make pkg work properly
|
||||||
|
ex ln -s ../tmp/var/cache $basedir/var/cache
|
||||||
|
ex ln -s ../tmp/var/run $basedir/var/run
|
||||||
|
ex ln -s ../tmp/var/tmp $basedir/var/tmp
|
||||||
|
|
||||||
if test -n "$rw"; then
|
if test -n "$rw"; then
|
||||||
echo "You have choosen to create a build base with ports support"
|
echo "You have choosen to create a build base with ports support"
|
||||||
echo -n "Want to fetch the ports collection now [Yn]? "
|
echo -n "Want to fetch the ports collection now [Yn]? "
|
||||||
@@ -754,6 +762,23 @@ jaildk_rc() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jaildk_rc_mtree() {
|
||||||
|
jail=$1
|
||||||
|
mode=$2
|
||||||
|
rw=$3
|
||||||
|
base=$4
|
||||||
|
version=$5
|
||||||
|
|
||||||
|
if [ $mode = "start" ]; then
|
||||||
|
if test -n "$rw"; then
|
||||||
|
run=$j/build/$jail/
|
||||||
|
else
|
||||||
|
run=$j/run/$jail/
|
||||||
|
fi
|
||||||
|
ex mtree -p $run -u -f $j/etc/$jail/mtree.conf | grep -v "extra:"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
jaildk_blogin() {
|
jaildk_blogin() {
|
||||||
jail=$1
|
jail=$1
|
||||||
|
|
||||||
@@ -811,8 +836,9 @@ jaildk_login() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
jid=""
|
jid=""
|
||||||
|
echo $jail
|
||||||
jid=`jls | grep " $jail" | awk '{print $1}'`
|
jid=`jls | grep "$jail" | awk '{print $1}'`
|
||||||
|
echo $jid
|
||||||
|
|
||||||
if test -z "$jid"; then
|
if test -z "$jid"; then
|
||||||
echo "jail $jail doesn't run!"
|
echo "jail $jail doesn't run!"
|
||||||
@@ -883,13 +909,14 @@ jaildk_setup() {
|
|||||||
|
|
||||||
version=`date +%Y%m%d`
|
version=`date +%Y%m%d`
|
||||||
|
|
||||||
for subdir in appl/default-$version/db appl/default-$version/etc etc/.template/etc-$version etc/.template/local-etc-$version home/.template/root-$version log/.template-$version; do
|
for subdir in appl/default-$version/db/ports appl/default-$version/etc etc/.template/etc-$version etc/.template/local-etc-$version home/.template/root-$version log/.template-$version; do
|
||||||
ex mkdir -p $j/$subdir
|
ex mkdir -p $j/$subdir
|
||||||
done
|
done
|
||||||
|
|
||||||
bold "building jail template"
|
bold "building jail template"
|
||||||
ex cpdup /etc $j/etc/.template/etc-$version
|
ex cpdup /etc $j/etc/.template/etc-$version
|
||||||
echo "creating $j/etc/.template/etc-$version/rc.conf"
|
echo "creating $j/etc/.template/etc-$version/rc.conf"
|
||||||
|
rm -f $j/etc/.template/etc-$version/rc.conf
|
||||||
echo 'rc_conf_files="/etc/rc.conf /etc/rc.conf.local /usr/local/etc/rc.conf"' > $j/etc/.template/etc-$version/rc.conf
|
echo 'rc_conf_files="/etc/rc.conf /etc/rc.conf.local /usr/local/etc/rc.conf"' > $j/etc/.template/etc-$version/rc.conf
|
||||||
|
|
||||||
echo "creating $j/etc/.template/local-etc-$version/rc.conf"
|
echo "creating $j/etc/.template/local-etc-$version/rc.conf"
|
||||||
@@ -917,7 +944,18 @@ home/$name/root-$version $name/root nullfs rw' >
|
|||||||
(echo bash; echo ca_root_nss) > $j/etc/.template/ports.conf
|
(echo bash; echo ca_root_nss) > $j/etc/.template/ports.conf
|
||||||
|
|
||||||
bold "creating template config $j/etc/.template/mtree.conf"
|
bold "creating template config $j/etc/.template/mtree.conf"
|
||||||
touch $j/etc/.template/mtree.conf
|
# touch $j/etc/.template/mtree.conf
|
||||||
|
echo '/set type=dir uid=0 gid=0 mode=01777
|
||||||
|
. type=dir mode=0755
|
||||||
|
tmp
|
||||||
|
var
|
||||||
|
cache
|
||||||
|
pkg
|
||||||
|
..
|
||||||
|
..
|
||||||
|
run
|
||||||
|
..
|
||||||
|
tmp' > $j/etc/.template/mtree.conf
|
||||||
|
|
||||||
bold "installing jaildk"
|
bold "installing jaildk"
|
||||||
realj=`cd $j; pwd`
|
realj=`cd $j; pwd`
|
||||||
@@ -941,7 +979,7 @@ setenv EDITOR vi
|
|||||||
setenv PAGER less
|
setenv PAGER less
|
||||||
setenv BLOCKSIZE K
|
setenv BLOCKSIZE K
|
||||||
if (\$?prompt) then
|
if (\$?prompt) then
|
||||||
set chroot=`ps axu|grep /sbin/init | grep -v grep`
|
set chroot=`ps axu|grep /sbin/init | grep -v grep | awk '{print $1}'`
|
||||||
if("\$chroot" == \"\") then
|
if("\$chroot" == \"\") then
|
||||||
set prompt = \"(jail) %N@%m:%~ %# \"
|
set prompt = \"(jail) %N@%m:%~ %# \"
|
||||||
else
|
else
|
||||||
@@ -987,7 +1025,7 @@ jaildk_fetch() {
|
|||||||
jaildk_fetch_ports() {
|
jaildk_fetch_ports() {
|
||||||
ex mkdir -p $j/ports/tmp
|
ex mkdir -p $j/ports/tmp
|
||||||
ex fetch -o $j/ports/tmp/ports.tar.gz http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
|
ex fetch -o $j/ports/tmp/ports.tar.gz http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
|
||||||
ex tar xzfC $j/ports/tmp $j/ports/tmp/ports.tar.gz
|
ex tar xzfC $j/ports/tmp/ports.tar.gz $j/ports/tmp
|
||||||
ex mv $j/ports/tmp/ports $j/ports/$version
|
ex mv $j/ports/tmp/ports $j/ports/$version
|
||||||
ex rm -rf $j/ports/tmp/ports*
|
ex rm -rf $j/ports/tmp/ports*
|
||||||
}
|
}
|
||||||
@@ -1000,7 +1038,7 @@ jaildk_fetch_ports() {
|
|||||||
JAILDIR=/jail
|
JAILDIR=/jail
|
||||||
|
|
||||||
# install modules
|
# install modules
|
||||||
RCSCRIPTS="jaildk_rc_mount jaildk_rc_ports"
|
RCSCRIPTS="jaildk_rc_mount jaildk_rc_ports jaildk_rc_mtree"
|
||||||
|
|
||||||
# globals
|
# globals
|
||||||
j=$JAILDIR
|
j=$JAILDIR
|
||||||
|
|||||||
Reference in New Issue
Block a user