refs #404 Unifies all the apt install in one install
parent
bfab3e9af7
commit
0120a101ab
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue