diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-18 15:34:46 +0100 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-18 15:34:46 +0100 |
commit | d2cfe9ce5bb409472f10590aa1ae069b2a971a49 (patch) | |
tree | 81b689c72bd180aae410c6bf822f46980a43458c /utils | |
parent | 86e79488aab3ff434c6682a9464ba2eee49158e9 (diff) | |
download | searxng-d2cfe9ce5bb409472f10590aa1ae069b2a971a49.tar.gz searxng-d2cfe9ce5bb409472f10590aa1ae069b2a971a49.zip |
LXC: add /.lxcenv
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/lib.sh | 23 | ||||
-rw-r--r-- | utils/lxc-searx.env | 1 | ||||
-rwxr-xr-x | utils/lxc.sh | 6 |
3 files changed, 23 insertions, 7 deletions
diff --git a/utils/lib.sh b/utils/lib.sh index e13acca3e..e9bfc929f 100755 --- a/utils/lib.sh +++ b/utils/lib.sh @@ -1065,18 +1065,31 @@ EOF in_container() { # Test if shell runs in a container. # - # hint: Reads init process environment, therefore root access is required! - # # usage: in_container && echo "process running inside a LXC container" # in_container || echo "process is not running inside a LXC container" # - - sudo_or_exit + # sudo_or_exit + # hint: Reads init process environment, therefore root access is required! # to be safe, take a look at the environment of process 1 (/sbin/init) - grep -qa 'container=lxc' /proc/1/environ + # grep -qa 'container=lxc' /proc/1/environ + + # see lxc_init_container + [[ -f /.lxcenv ]] } +lxc_init_container() { + # Create a /.lxcenv file in the root folder. Call this once after container + # is inital started. + + # usage: lxc_create_root_dot_lxcenv <name> + + info_msg "create /.lxcenv in container $1" + cat <<EOF | lxc exec "${1}" -- bash | prefix_stdout "[${_BBlue}${1}${_creset}] " +touch "/.lxcenv" +ls -l "/.lxcenv" +EOF +} lxc_exists(){ # usage: lxc_exists <name> || echo "container <name> does not exists" diff --git a/utils/lxc-searx.env b/utils/lxc-searx.env index a5ef5712c..f81ee1c08 100644 --- a/utils/lxc-searx.env +++ b/utils/lxc-searx.env @@ -51,6 +51,7 @@ lxc_suite_prepare_buildhost() { ( lxc_set_suite_env export FORCE_TIMEOUT=0 + # "${LXC_REPO_ROOT}/utils/searx.sh* install packages "${LXC_REPO_ROOT}/utils/searx.sh" install buildhost rst_title "buildhost installation finished ($(hostname))" part echo diff --git a/utils/lxc.sh b/utils/lxc.sh index 64805272e..56450c4db 100755 --- a/utils/lxc.sh +++ b/utils/lxc.sh @@ -82,7 +82,7 @@ usage:: $_cmd [start|stop] [containers|<name>] $_cmd show [info|config|suite|images] $_cmd cmd [--|<name>] '...' - $_cmd install [suite] + $_cmd install [suite|buildhost] build :containers: build & launch all LXC containers of the suite @@ -443,10 +443,12 @@ lxc_boilerplate_containers() { boilerplate_script="${image_name}_boilerplate" boilerplate_script="${!boilerplate_script}" - info_msg "[${_BBlue}${container_name}${_creset}] install /.lxcenv.mk .." + info_msg "[${_BBlue}${container_name}${_creset}] init .." if lxc start -q "${container_name}" &>/dev/null; then sleep 5 # guest needs some time to come up and get an IP fi + lxc_init_container "${container_name}" + info_msg "[${_BBlue}${container_name}${_creset}] install /.lxcenv.mk .." cat <<EOF | lxc exec "${container_name}" -- bash | prefix_stdout "[${_BBlue}${container_name}${_creset}] " rm -f "/.lxcenv.mk" ln -s "${LXC_REPO_ROOT}/utils/makefile.lxc" "/.lxcenv.mk" |