Estoy creando una pequeña aplicación QT (C ++) donde le pregunto al usuario el software que desea instalar. Una vez que seleccionó algunos paquetes a, b, c de la lista, todo lo que tengo que hacer es ejecutar
sudo apt-get install a b c
Una forma de hacerlo es usar Qprocess o System y ejecutar este comando directamente desde C ++. Pero pensé que esto sería un hack y quería hacerlo usando la biblioteca apt-pkg C ++. Pero lamentablemente la documentación es muy escasa para esta biblioteca :( Vi códigos fuente de algunos softwares similares - Actualizador de software (apt-watch) etc. y lo encontré demasiado complejo. Solo para ejecutar el comando anterior, tiene mucho código - Inicializando pkgCacheFile, PkgIterator , pkgAcqArchive.
¿Tengo que hacer todo esto para ejecutar este comando simple? ¿No hay una función directa que tome el nombre del software como argumento y lo instale? ¿Dónde puedo obtener un código de trabajo de muestra para el mismo?
fuente
Respuestas:
Solo usaría el sistema:
No es un truco usar una solución simple.
fuente
La respuesta es
libapt-pkg
. Es una biblioteca escrita en C, que también la hace accesible desde el código C ++.Instale los paquetes
libapt-pkg-dev
ylibapt-pkg-doc
respectivamente para la biblioteca y su documentación.fuente