refs #404 Unifies all the apt install in one install

ogboot_debian_installer
Luis Gerardo Romero Garcia 2024-09-06 11:21:06 +02:00
parent bfab3e9af7
commit 0120a101ab
1 changed files with 32 additions and 21 deletions

View File

@ -181,27 +181,38 @@ def get_missing_packages():
logger.info(f"Package to install: {package}...")
return faltantes
def install_packages(missing, log_packages_file=f"/tmp/installed_packages.log"):
if not missing:
logger.info("All packages are already installed.")
return
logger.info("Upgrading the system...")
original_debian_frontend = os.environ.get('DEBIAN_FRONTEND')
try:
os.environ['DEBIAN_FRONTEND'] = 'noninteractive'
subprocess.run(["sudo", "apt-get", "update"], check=True)
with open(log_packages_file, "a") as log:
for package in missing:
subprocess.run(["sudo", "apt-get", "install", "--allow-change-held-packages", "-y", package], check=True)
logger.info(f"{package} installed correctly.")
log.write(package + "\n")
logger.info("All missing packages have been installed.")
finally:
# Restaurar el valor original de DEBIAN_FRONTEND
if original_debian_frontend is not None:
os.environ['DEBIAN_FRONTEND'] = original_debian_frontend
else:
del os.environ['DEBIAN_FRONTEND']
def install_packages(missing, log_packages_file="/tmp/installed_packages.log"):
if not missing:
logger.info("All packages are already installed.")
return
logger.info("Upgrading the system...")
original_debian_frontend = os.environ.get('DEBIAN_FRONTEND')
try:
os.environ['DEBIAN_FRONTEND'] = 'noninteractive'
# Actualizamos la lista de paquetes
subprocess.run(["sudo", "apt-get", "update"], check=True)
# Instalamos todos los paquetes de una sola vez
subprocess.run(
["sudo", "apt-get", "install", "--allow-change-held-packages", "-y", "--no-install-recommends"] + missing,
check=True
)
with open(log_packages_file, "a") as log:
for package in missing:
logger.info(f"{package} installed correctly.")
log.write(package + "\n")
logger.info("All missing packages have been installed.")
finally:
# Restaurar el valor original de DEBIAN_FRONTEND
if original_debian_frontend is not None:
os.environ['DEBIAN_FRONTEND'] = original_debian_frontend
else:
del os.environ['DEBIAN_FRONTEND']
def autoConfigure():
global OSDISTRIB, OSVERSION