Refs #202 add/remove packages
parent
c64ad8cb21
commit
c1782d25bf
|
@ -149,7 +149,7 @@ def get_missing_packages():
|
|||
case "18.04":
|
||||
PACKAGES_TO_INSTALL = ["nano", "wget", "tree"]
|
||||
case "22.04":
|
||||
PACKAGES_TO_INSTALL = ["nfs-common", "xorriso", "genisoimage", "syslinux", "liblzma-dev", "nginx", "arp-scan", "automake", "build-essential", "btrfs-progs", "composer", "curl", "ctorrent", "debootstrap", "g++-multilib", "gawk", "gettext", "graphviz", "grub-efi-amd64-signed", "jq", "libapache2-mod-php", "libdbi-dev", "libdbi1", "libev-dev", "libjansson-dev", "liblz4-tool", "libssl-dev", "moreutils", "netpipes", "php", "php-bcmath", "php-cli", "php-curl", "php-fpm", "php-gd", "php-json", "php-ldap", "php-mbstring", "php-mysql", "php8.1-common", "php-pear", "php-xml", "php-zip", "procps", "coreutils", "rsync", "samba", "samba-common-bin", "schroot", "shim-signed", "squashfs-tools", "subversion", "tftpd-hpa", "udpcast", "unzip", "wakeonlan", "wget", "xinetd", "jq", "moreutils", "net-tools", "isolinux", "syslinux"]
|
||||
PACKAGES_TO_INSTALL = ["nfs-common", "xorriso", "genisoimage", "syslinux", "liblzma-dev", "nginx", "arp-scan", "automake", "build-essential", "btrfs-progs", "composer", "curl", "ctorrent", "debootstrap", "g++-multilib", "gawk", "gettext", "graphviz", "grub-efi-amd64-signed", "jq", "libdbi-dev", "libdbi1", "libev-dev", "libjansson-dev", "liblz4-tool", "libssl-dev", "moreutils", "netpipes", "php", "php-bcmath", "php-cli", "php-curl", "php-fpm", "php-gd", "php-json", "php-ldap", "php-mbstring", "php-mysql", "php8.1-common", "php-pear", "php-xml", "php-zip", "procps", "coreutils", "rsync", "samba", "samba-common-bin", "schroot", "shim-signed", "squashfs-tools", "subversion", "tftpd-hpa", "udpcast", "unzip", "wakeonlan", "wget", "xinetd", "jq", "moreutils", "net-tools", "isolinux", "syslinux"]
|
||||
case _:
|
||||
PACKAGES_TO_INSTALL = ["bash", "nc", "rsync"]
|
||||
case "suse":
|
||||
|
@ -175,7 +175,7 @@ def get_missing_packages():
|
|||
for package in PACKAGES_TO_INSTALL:
|
||||
if not is_installed(package):
|
||||
faltantes.append(package)
|
||||
logger.info(f"::::::Package to install: {package}...")
|
||||
logger.info(f"Package to install: {package}...")
|
||||
return faltantes
|
||||
|
||||
def install_packages(missing, log_packages_file=f"/tmp/installed_packages.log"):
|
||||
|
@ -473,6 +473,7 @@ TFTP_OPTIONS="--secure"
|
|||
#Crear directorio /var/lib/tftpboot
|
||||
if not os.path.exists(TFTPCFGDIR):
|
||||
os.makedirs(TFTPCFGDIR, mode=0o775, exist_ok=True)
|
||||
subprocess.run(["chown", "-R", "tftp:ogboot", TFTPCFGDIR])
|
||||
logger.info(f"Directory {TFTPCFGDIR} created.")
|
||||
else:
|
||||
logger.warning(f"Directory {TFTPCFGDIR} exist.")
|
||||
|
@ -682,9 +683,21 @@ def mount_NFS():
|
|||
exit(1)
|
||||
subprocess.call(["sudo", "cp", "bin-x86_64-efi/ipxe.efi", f"{INSTALL_OPENGNSYS_TARGET}/tftpboot"])
|
||||
|
||||
def get_ip_address(interface):
|
||||
try:
|
||||
result = subprocess.check_output(["ip", "addr", "show", interface]).decode()
|
||||
for line in result.split('\n'):
|
||||
if "inet " in line:
|
||||
ip_address = line.strip().split()[1].split('/')[0]
|
||||
return ip_address
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Error get address IP: {e}")
|
||||
return None
|
||||
|
||||
def generate_ipxe_script():
|
||||
global DEFAULTDEV, INSTALL_OGBOOT_TARGET, WORKDIR
|
||||
ip_address_server = subprocess.check_output(["ifconfig", DEFAULTDEV]).decode().split("\n")[1].split()[1]
|
||||
#ip_address_server = subprocess.check_output(["ifconfig", DEFAULTDEV]).decode().split("\n")[1].split()[1]
|
||||
ip_address_server = get_ip_address(DEFAULTDEV)
|
||||
template = os.path.join(WORKDIR, "ogboot/etc/dhcp_boot.ipxe.tmpl")
|
||||
ipxe_output = f"{INSTALL_OGBOOT_TARGET}/tftpboot/ipxe_scripts/dhcp_boot.ipxe"
|
||||
os.makedirs(os.path.dirname(ipxe_output), mode=0o775, exist_ok=True)
|
||||
|
@ -752,7 +765,8 @@ def setup_nginx():
|
|||
global DEFAULTDEV, WORKDIR
|
||||
try:
|
||||
# Obtener la IP del servidor
|
||||
ip_address_server = subprocess.check_output(["ifconfig", DEFAULTDEV]).decode().split("\n")[1].split()[1]
|
||||
#ip_address_server = subprocess.check_output(["ifconfig", DEFAULTDEV]).decode().split("\n")[1].split()[1]
|
||||
ip_address_server = get_ip_address(DEFAULTDEV)
|
||||
php_version = get_php_fpm_version()
|
||||
|
||||
# Leer y modificar la plantilla de configuración de nginx
|
||||
|
@ -935,9 +949,9 @@ if REMOTE == 1:
|
|||
exit(1)
|
||||
else:
|
||||
if not os.path.exists(f"{WORKDIR}/ogboot"):
|
||||
logger.warning(f"Does not exist {WORKDIR}/ogboot")
|
||||
if not os.path.exists(WORKDIR):
|
||||
os.makedirs(WORKDIR, mode=0o775, exist_ok=True)
|
||||
logger.info(f"Dir {WORKDIR}/ogboot created")
|
||||
logger.info(f"ogBoot directory not found, create a symbolic link to the directory where the code is located {WORKDIR} To {os.path.dirname(PROGRAM_DIR)}")
|
||||
os.symlink(os.path.dirname(PROGRAM_DIR), f"{WORKDIR}/ogboot")
|
||||
|
||||
|
|
Loading…
Reference in New Issue