Migration de la VM vers SNSTER #1
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,7 +4,6 @@
|
|||||||
.proxy-config
|
.proxy-config
|
||||||
.vagrant
|
.vagrant
|
||||||
DEADJOE
|
DEADJOE
|
||||||
Vagrantfile
|
|
||||||
/files/log
|
/files/log
|
||||||
/files/kaz/download
|
/files/kaz/download
|
||||||
/files/kaz/git
|
/files/kaz/git
|
||||||
|
50
Vagrantfile
vendored
Normal file
50
Vagrantfile
vendored
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
unless Vagrant.has_plugin?("vagrant-disksize")
|
||||||
|
raise Vagrant::Errors::VagrantError.new, "vagrant-disksize plugin is missing. Please install it using 'vagrant plugin install vagrant-disksize' and rerun 'vagrant up'"
|
||||||
|
end
|
||||||
|
|
||||||
|
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
||||||
|
# configures the configuration version (we support older styles for
|
||||||
|
# backwards compatibility). Please don't change it unless you know what
|
||||||
|
# you're doing.
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
|
||||||
|
required_plugins = %w( vagrant-vbguest vagrant-disksize )
|
||||||
|
_retry = false
|
||||||
|
required_plugins.each do |plugin|
|
||||||
|
unless Vagrant.has_plugin? plugin
|
||||||
|
system "vagrant plugin install #{plugin}"
|
||||||
|
_retry=true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if (_retry)
|
||||||
|
exec "vagrant " + ARGV.join(' ')
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.box = "debian/bullseye64"
|
||||||
|
config.vm.hostname = 'kaz-vm'
|
||||||
|
config.disksize.size = '32GB'
|
||||||
|
|
||||||
|
config.vm.provider "virtualbox" do |vb|
|
||||||
|
vb.memory = "4096"
|
||||||
|
vb.cpus = "2"
|
||||||
|
vb.name = "kaz-vm"
|
||||||
|
vb.customize ["modifyvm", :id, "--vram", "64", "--clipboard-mode", "bidirectional", '--graphicscontroller', 'vmsvga', '--natnet1', '192.168.64.0/24']
|
||||||
|
vb.gui = true
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#permet d'avoir un répertoire partagé entre la VM et le host
|
||||||
|
config.vm.synced_folder "/tmp/", "/tmp_host"
|
||||||
|
config.vm.synced_folder "files/", "/root/kaz-vagrant"
|
||||||
|
|
||||||
|
config.vm.provision "shell" do |s|
|
||||||
|
s.inline = "/vagrant/files/vm-provision.sh"
|
||||||
|
s.env = {"KAZGUARD" => "true", "HOSTLANG" => ENV['LANG'], "NOKAZ" => ENV['NOKAZ'], "KAZBRANCH" => ENV['KAZBRANCH']}
|
||||||
|
end
|
||||||
|
end
|
@ -1,95 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
# -*- mode: ruby -*-
|
|
||||||
# vi: set ft=ruby :
|
|
||||||
|
|
||||||
unless Vagrant.has_plugin?("vagrant-disksize")
|
|
||||||
raise Vagrant::Errors::VagrantError.new, "vagrant-disksize plugin is missing. Please install it using 'vagrant plugin install vagrant-disksize' and rerun 'vagrant up'"
|
|
||||||
end
|
|
||||||
|
|
||||||
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
|
||||||
# configures the configuration version (we support older styles for
|
|
||||||
# backwards compatibility). Please don't change it unless you know what
|
|
||||||
# you're doing.
|
|
||||||
Vagrant.configure("2") do |config|
|
|
||||||
|
|
||||||
required_plugins = %w( vagrant-vbguest vagrant-disksize )
|
|
||||||
_retry = false
|
|
||||||
required_plugins.each do |plugin|
|
|
||||||
unless Vagrant.has_plugin? plugin
|
|
||||||
system "vagrant plugin install #{plugin}"
|
|
||||||
_retry=true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if (_retry)
|
|
||||||
exec "vagrant " + ARGV.join(' ')
|
|
||||||
end
|
|
||||||
|
|
||||||
config.vm.box = "debian/bullseye64"
|
|
||||||
config.vm.hostname = 'kaz-vm'
|
|
||||||
config.disksize.size = '32GB'
|
|
||||||
|
|
||||||
# Disable automatic box update checking. If you disable this, then
|
|
||||||
# boxes will only be checked for updates when the user runs
|
|
||||||
# `vagrant box outdated`. This is not recommended.
|
|
||||||
# config.vm.box_check_update = false
|
|
||||||
|
|
||||||
# Create a forwarded port mapping which allows access to a specific port
|
|
||||||
# within the machine from a port on the host machine. In the example below,
|
|
||||||
# accessing "localhost:8080" will access port 80 on the guest machine.
|
|
||||||
# config.vm.network "forwarded_port", guest: 80, host: 8080
|
|
||||||
|
|
||||||
# Create a private network, which allows host-only access to the machine
|
|
||||||
# using a specific IP.
|
|
||||||
# config.vm.network "private_network", ip: "192.168.33.10"
|
|
||||||
|
|
||||||
# Create a public network, which generally matched to bridged network.
|
|
||||||
# Bridged networks make the machine appear as another physical device on
|
|
||||||
# your network.
|
|
||||||
# config.vm.network "public_network"
|
|
||||||
|
|
||||||
# Share an additional folder to the guest VM. The first argument is
|
|
||||||
# the path on the host to the actual folder. The second argument is
|
|
||||||
# the path on the guest to mount the folder. And the optional third
|
|
||||||
# argument is a set of non-required options.
|
|
||||||
# config.vm.synced_folder "data", "/vagrant_data"
|
|
||||||
# config.vm.synced_folder "..", "/root/mi-lxc", create:true, type:"rsync",
|
|
||||||
# rsync__exclude: [".git/", "zzlocal/", "vagrant/"]
|
|
||||||
|
|
||||||
# Provider-specific configuration so you can fine-tune various
|
|
||||||
# backing providers for Vagrant. These expose provider-specific options.
|
|
||||||
# Example for VirtualBox:
|
|
||||||
#
|
|
||||||
config.vm.provider "virtualbox" do |vb|
|
|
||||||
# # Display the VirtualBox GUI when booting the machine
|
|
||||||
# vb.gui = true
|
|
||||||
#
|
|
||||||
# # Customize the amount of memory on the VM:
|
|
||||||
vb.memory = "4096"
|
|
||||||
vb.cpus="2"
|
|
||||||
vb.name = "kaz-vm"
|
|
||||||
vb.customize ["modifyvm", :id, "--vram", "64", "--clipboard-mode", "bidirectional", '--graphicscontroller', 'vmsvga', '--natnet1', '192.168.64.0/24']
|
|
||||||
vb.gui = true
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
|
|
||||||
# such as FTP and Heroku are also available. See the documentation at
|
|
||||||
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
|
|
||||||
# config.push.define "atlas" do |push|
|
|
||||||
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
|
|
||||||
# end
|
|
||||||
|
|
||||||
# Enable provisioning with a shell script. Additional provisioners such as
|
|
||||||
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
|
|
||||||
# documentation for more information about their specific syntax and use.
|
|
||||||
|
|
||||||
#permet d'avoir un répertoire partagé entre la VM et le host
|
|
||||||
config.vm.synced_folder "/tmp/", "/tmp_host"
|
|
||||||
config.vm.synced_folder "files/", "/root/kaz-vagrant"
|
|
||||||
|
|
||||||
config.vm.provision "shell" do |s|
|
|
||||||
s.inline = "/vagrant/files/vm-provision.sh"
|
|
||||||
s.env = {"KAZGUARD" => "true", "HOSTLANG" => ENV['LANG'], "NOKAZ" => ENV['NOKAZ'], "KAZBRANCH" => ENV['KAZBRANCH']}
|
|
||||||
end
|
|
||||||
end
|
|
162
init.sh
162
init.sh
@ -1,162 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
### Personalisation de la VM
|
|
||||||
|
|
||||||
cd "$(dirname $0)"
|
|
||||||
|
|
||||||
BOLD='[1m'
|
|
||||||
RED='[0;31m'
|
|
||||||
GREEN='[0;32m'
|
|
||||||
YELLOW='[0;33m'
|
|
||||||
BLUE='[0;34m'
|
|
||||||
MAGENTA='[0;35m'
|
|
||||||
CYAN='[0;36m'
|
|
||||||
NC='[0m' # No Color
|
|
||||||
NL='
|
|
||||||
'
|
|
||||||
|
|
||||||
mkdir -p ./files/kaz/log/ ./files/kaz/download/ ./files/kaz/git/
|
|
||||||
chmod a+rxw ./files/kaz/log/ ./files/kaz/download/ ./files/kaz/git/
|
|
||||||
|
|
||||||
cp Vagrantfile.dist Vagrantfile
|
|
||||||
|
|
||||||
OLD_MEN=$(grep vb.memory Vagrantfile | sed -e 's%.*vb.memory\s*=\s*"\([^"]*\)".*%\1%')
|
|
||||||
OLD_CUPS=$(grep vb.cpus Vagrantfile | sed -e 's%.*vb.cpus\s*=\s*"\([^"]*\)".*%\1%')
|
|
||||||
MEM=$(expr $(head -1 /proc/meminfo | awk '{print $2}') / 4096)
|
|
||||||
CUP=$(expr $(nproc) / 2)
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
${GREEN}${BOLD}
|
|
||||||
MEM: ${OLD_MEN} => ${MEM}
|
|
||||||
CUP: ${OLD_CUPS} => ${CUP}
|
|
||||||
${NC}
|
|
||||||
Update './Vagrantfile'
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sed -i Vagrantfile \
|
|
||||||
-e 's%vb.memory\s*=\s*"[^"]*"%vb.memory = "'${MEM}'"%' \
|
|
||||||
-e 's%vb.cpus\s*=\s*"[^"]*"%vb.cpus = "'${CUP}'"%'
|
|
||||||
|
|
||||||
|
|
||||||
APT_CONF="files/.apt-mirror-config"
|
|
||||||
if [ -f "${APT_CONF}" ]; then
|
|
||||||
. "${APT_CONF}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Personalisation d'un cache apt
|
|
||||||
if [ -z "${APT_MIRROR_DEBIAN}" ]; then
|
|
||||||
APT_MIRROR_DEBIAN=$(grep "deb\s.*/debian[^-]" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/debian.*%\1%")
|
|
||||||
fi
|
|
||||||
if [ -z "${APT_MIRROR_DEBIAN_SECURITY}" ]; then
|
|
||||||
APT_MIRROR_DEBIAN_SECURITY=$(grep "deb\s.*/debian-security" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/debian-security.*%\1%")
|
|
||||||
fi
|
|
||||||
if [ -z "${APT_MIRROR_UBUNTU}" ]; then
|
|
||||||
APT_MIRROR_UBUNTU=$(grep "deb\s.*://\([^/]*\)/ubuntu" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/ubuntu.*%\1%")
|
|
||||||
fi
|
|
||||||
if [ -z "${APT_MIRROR_UBUNTU_SECURITY}" ]; then
|
|
||||||
APT_MIRROR_UBUNTU_SECURITY=$(grep "deb\s.*://\([^/]*\)/ubuntu.*-security" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/ubuntu.*%\1%")
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${APT_MIRROR_UBUNTU}" ]; then
|
|
||||||
APT_MIRROR_UBUNTU="${APT_MIRROR_DEBIAN}"
|
|
||||||
fi
|
|
||||||
if [ -z "${APT_MIRROR_UBUNTU_SECURITY}" ]; then
|
|
||||||
APT_MIRROR_UBUNTU_SECURITY="${APT_MIRROR_DEBIAN_SECURITY}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
while : ; do
|
|
||||||
cat <<EOF
|
|
||||||
${GREEN}${BOLD}
|
|
||||||
APT_MIRROR_DEBIAN=${APT_MIRROR_DEBIAN}
|
|
||||||
APT_MIRROR_DEBIAN_SECURITY=${APT_MIRROR_DEBIAN_SECURITY}
|
|
||||||
APT_MIRROR_UBUNTU=${APT_MIRROR_UBUNTU}
|
|
||||||
APT_MIRROR_UBUNTU_SECURITY=${APT_MIRROR_UBUNTU_SECURITY}
|
|
||||||
${NC}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
read -p "Update '${APT_CONF}' (ip:port or y/n)? [no] " proxy
|
|
||||||
case "${proxy}" in
|
|
||||||
*:* )
|
|
||||||
APT_MIRROR_DEBIAN=${proxy}
|
|
||||||
APT_MIRROR_DEBIAN_SECURITY=${proxy}
|
|
||||||
APT_MIRROR_UBUNTU=${proxy}
|
|
||||||
APT_MIRROR_UBUNTU_SECURITY=${proxy}
|
|
||||||
;;
|
|
||||||
[YyOo]* )
|
|
||||||
cat > "${APT_CONF}" <<EOF
|
|
||||||
# Generated by $(pwd)$(basename $0)
|
|
||||||
# $(date "+%x %X")
|
|
||||||
|
|
||||||
APT_MIRROR_DEBIAN=${APT_MIRROR_DEBIAN}
|
|
||||||
APT_MIRROR_DEBIAN_SECURITY=${APT_MIRROR_DEBIAN_SECURITY}
|
|
||||||
APT_MIRROR_UBUNTU=${APT_MIRROR_UBUNTU}
|
|
||||||
APT_MIRROR_UBUNTU_SECURITY=${APT_MIRROR_UBUNTU_SECURITY}
|
|
||||||
EOF
|
|
||||||
break;;
|
|
||||||
""|[Nn]* ) break;;
|
|
||||||
* ) echo "Please answer ip:port, yes or no.";;
|
|
||||||
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
PROXY_CONF="files/.proxy-config"
|
|
||||||
if [ -f "${PROXY_CONF}" ]; then
|
|
||||||
FTP_PROXY=$(grep "ftp_proxy" "${PROXY_CONF}" | head -1 | sed -e "s%.*ftp_proxy\s*=\s*.*://\(.*\)%\1%")
|
|
||||||
HTTP_PROXY=$(grep "http_proxy" "${PROXY_CONF}" | head -1 | sed -e "s%.*http_proxy\s*=\s*.*://\(.*\)%\1%")
|
|
||||||
HTTPS_PROXY=$(grep "https_proxy" "${PROXY_CONF}" | head -1 | sed -e "s%.*https_proxy\s*=\s*.*://\(.*\)%\1%")
|
|
||||||
fi
|
|
||||||
|
|
||||||
while : ; do
|
|
||||||
cat <<EOF
|
|
||||||
${GREEN}${BOLD}
|
|
||||||
export ftp_proxy=ftp://${FTP_PROXY}
|
|
||||||
export http_proxy=http://${HTTP_PROXY}
|
|
||||||
export https_proxy=https://${HTTPS_PROXY}
|
|
||||||
${NC}
|
|
||||||
EOF
|
|
||||||
read -p "proxy in '${PROXY_CONF}' (ip:port, yes or no)? [no] " proxy
|
|
||||||
case "${proxy}" in
|
|
||||||
*:* )
|
|
||||||
FTP_PROXY=${proxy}
|
|
||||||
HTTP_PROXY=${proxy}
|
|
||||||
HTTPS_PROXY=${proxy}
|
|
||||||
;;
|
|
||||||
[yY]*|[Oo]* )
|
|
||||||
cat > "${PROXY_CONF}" <<EOF
|
|
||||||
# Generated by $(pwd)$(basename $0)
|
|
||||||
# $(date "+%x %X")
|
|
||||||
|
|
||||||
export ftp_proxy=ftp://${FTP_PROXY}
|
|
||||||
export http_proxy=http://${HTTP_PROXY}
|
|
||||||
export https_proxy=https://${HTTPS_PROXY}
|
|
||||||
EOF
|
|
||||||
break;;
|
|
||||||
""|[Nn]* ) break;;
|
|
||||||
* ) echo "Please answer ip:port, yes or no.";;
|
|
||||||
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
CUSTOM_CONF=files/.customVM.sh
|
|
||||||
echo
|
|
||||||
if [ -f "${CUSTOM_CONF}" ]; then
|
|
||||||
OLD_EDITOR=$(grep install "${CUSTOM_CONF}" | grep "\(joe\|emacs\|vim\)" | head -1 | sed -e "s%.*\(joe\|emacs\|vim\).*%\1%")
|
|
||||||
fi
|
|
||||||
while : ; do
|
|
||||||
read -p "Choose editor in '${CUSTOM_CONF}' (joe, emacs, vim or no)? [${GREEN}${BOLD}${OLD_EDITOR}${NC}] " editor
|
|
||||||
case "${editor}" in
|
|
||||||
joe|emacs|vim )
|
|
||||||
if [ ! -f "${CUSTOM_CONF}" ]; then
|
|
||||||
echo "#!/bin/bash" > "${CUSTOM_CONF}"
|
|
||||||
fi
|
|
||||||
chmod a+x "${CUSTOM_CONF}"
|
|
||||||
if ! grep -qw "${editor}" "${CUSTOM_CONF}" 2> /dev/null ; then
|
|
||||||
echo "DEBIAN_FRONTEND=noninteractive apt-get install -y ${editor}" >> "${CUSTOM_CONF}"
|
|
||||||
echo "rsync -a /vagrant/files/.emacs* /root/" >> "${CUSTOM_CONF}"
|
|
||||||
fi
|
|
||||||
break;;
|
|
||||||
""|[Nn]* ) break;;
|
|
||||||
* ) echo "Please answer joe, emacs, vim or no.";;
|
|
||||||
esac
|
|
||||||
done
|
|
Loading…
Reference in New Issue
Block a user