Acciones principales.
Ikg ofrece una amplia gama de acciones a ser ejecutadas sobre archivos nativos, muchas de ellas enfocadas al uso diario de administración de paquetes. Las acciones principales de describen a continuación:
Instalación de paquetes.
Ikg tiene la capacidad de instalar programas en forma local y/o remota usando el parámetro --install o -i y utilizando la información contenida en el archivo /etc/mirrors cuando es necesario. Para ello solo necesitas especificar ya sea la ruta relativa o absoluta al paquete o un nombre de paquete. Por ejemplo:
$ ikg --install /ruta/a/un/paquete.ikg
o bien.
$ ikg --install ruta/relativa/paquete.ikg
En dicho caso se buscara el paquete primero en la ruta especificada, si no es encontrado, entonces se buscara en los repositorios oficiales, si tampoco hay éxito ikg avisara y terminara la acción.
$ ikg --install nombre_paquete
En este caso ikg buscara directamente el paquete en alguno de sus repositorios de software contenidos en el archivo /etc/mirrors
Existen casos especiales en los que se desea instalar un paquete en un directorio distinto a la raíz, por ejemplo, en caso de estar trabajando con otro sistema ikim en un ambiente Chroot. Para estos casos específicos se puedes utilizar el parámetro --root seguido del directorio de destino como se muestra a continuación.
$ ikg --install --root /mnt/otro_dir paquete.ikg
En cualquiera de los casos anteriores, ikg hace una comprobación redundante de dependencias, las ubica en alguno de los repositorios y las instala antes del paquete principal, si algún paquete no es localizado en ningún repositorio entonces se devuelve un error y el proceso es abortado. Este comportamiento puede ser sobreescrito usando el parámetro --force o -f de la siguiente forma:
$ ikg --install --force paquete.ikg
Lo anterior aunque resuelve temporalmente una situación adversa no es una solución adecuada y no debería usarse a menos que sepas exactamente lo que estas haciendo pues de lo contrario puede que tu programa no funcione.
Otro punto interesante es que por defecto ikg verifica si el paquete que se desea instalar ya existe en el sistema, si es así entonces dicho paquete es reemplazado automáticamente con el nuevo, incluso si el anterior cuenta con una versión mas nueva. Este comportamiento se justifica al reconocer a ikimlinux como un sistema operativo Monoversion, por lo tanto, bajo estas circunstancias solo puede existir un paquete en el sistema. Sin embargo y aunque es muy poco recomendable, es posible sobreescribir este comportamiento usando el parámetro --noupdate lo cual provocaría que el paquete se instale sobre una versión anterior.
$ ikg --install --noupdate paquete.ikg
Si quieres observar una salida detallada de todos los procesos realizados usa el parámetro --verbose o -v.
Desinstalando paquetes.
El proceso de desinstalación de un paquete es tan simple como ejecutar ikg con el parámetro --remove o -r seguido del nombre del paquete como se muestra a continuación:
$ ikg --remove nombre_del_paquete
Como en el caso de --install --remove también soporta desinstalaciones en directorios diferentes a la raíz. Esto seria de la siguiente forma.
$ ikg --remove --root /mnt/otro_dir nombre-del-paquete
Hay un parámetro especial relacionado directamente con --remove el cual es utilizado para borrar todo rastro del paquete a desinstalar, incluso archivos de respaldo este es el parámetro --purge. La forma correcta de usar estos dos parámetros juntos seria:
$ ikg --remove --purge nombre-del-paquete
Aquí también es posible usare el parámetro --verbose o -v para observara detalladamente la salida del proceso.
Reconfigurando paquetes.
Durante el proceso de instalación, ikg ejecuta un archivo especial llamado install contenido dentro del paquete para realizar ciertas acciones antes y después de colocar los binarios. Sin embargo, en ocasiones principalmente cuando algún paquete es removido del sistema alguno otro también es modificado y es posible que deje de funcionar correctamente. Para estos casos se creo el parámetro --configure. Este parámetro ejecuta nuevamente el archivo install antes mencionado para poner las cosas de nuevo en su lugar. La forma de usar este parámetro es la siguiente:
$ ikg --configure nombre-del-paquete
Nótese que aquí al igual que con el parámetro --remove solo es necesario proporcionar el nombre del paquete.
Acciones variadas.
Además de las acciones administrativas mas importantes antes descritas, ikg también cuenta con algunas otras de menor importancia pero de mucha utilidad practica las cuales se describen a continuación.
Extraer archivos ikg e iks.
Los archivos nativos de Ikim GNU/Linux son paquetes compresos en formato .ikg e .iks por lo cual si se desea extraer u observar su contenido es necesario hacerlo con el parámetro --extract o -e
# ikg --extract archivo_nativo
Comprimir en iks.
Si deseas crear un archivo iks a partir de una carpeta, puedes usar el parámetro --create o -c aplicándolo de la siguiente forma.
# ikg --create carpeta
El objetivo de este parámetro siempre debe ser invariablemente una carpeta, de lo contrario recibirás un error como este:
Error : El objetivo no parece una carpeta
Comprimir en ikg.
Si has extraído el contenido de un paquete ikg por cualquier razón que esta haya sido y se deseas volver a ponerlo en formato ikg pero sin recompilarlo, entonces puedes usar el parámetro --package o -p ejecutándolo desde la carpeta que contendrá el futuro paquete, la forma de uso de este parámetro es:
$ ikg --package paquete.ikg
o bien
$ ikg --package /ruta/de/salida/del/paquete.ikg
Suponiendo que queremos comprimir nuestro fenomenal paquete superfoo-1.0 en ikg, entonces primero nos cambiamos a la carpeta que sera el futuro paquete
cd superfoo-1.0
Después como root se ejecuta :
$ ikg --package superfoo-1.0-x86-1.ikg
o
$ ikg --package /home/user/superfoo-1.0-x86-1.ikg
o bien
$ ikg --package ../superfoo-1.0-x86-1.ikg
Recomprimiendo fuentes a iks.
Como se ha mencionado en documentos anteriores, ikg solo es capaz de manejar archivos compresos en sus propios formatos nativos, tal es el caso de los archivos con el código fuente de un determinado programa, los cuales, invariablemente debe estar comprimidos en iks. El problema surge por que todo el mundo distribuye sus códigos fuente en archivos con formatos mas conocidos y portables. Para solventar esta situación, podríamos por ejemplo, primero descomprimir el archivo en cuestión ya sea gzip, bzip2, zip, lzma, rar o en el formato en el que venga para posteriormente comprimirlo nuevamente ahora en iks usando el parámetro compress. Esta situación puede resultar tediosa mas aun cuando se desea recomprimir varios archivos. Para simplificar esto, ikg ofrece un parámetro que ejecuta ambas acciones de un solo tiro, este es --repack la forma de uso es simple:
$ ikg --repack paquete.tar.gz
Obteniendo información.
En todos los sistemas de paquetes las acciones informativas son fundamentales e Ikim no es la excepción. Ikg provee una serie de comandos destinados a obtener información de los paquetes que este o hayan estado en el sistema y el registro de manipulación de los mismos.
Buscando paquetes.
El sistema de búsqueda de paquetes en Ikim es un tanto distinto a los demás sistemas, la diferencia radica en que ikg consulta la base de datos para extraer la información acerca del estado histórico del paquete y lo reporta con las siguientes abreviaturas:
- [i] : Instalado.
- [r] : Desinstalado.
- [u] : Actualizado.
- [d] : Disponible en algún repositorio.
La salida clásica de una búsqueda se observa de la siguiente forma:
# ikg --search coreutils
Lo cual devolvería mas o menos.
[i] - coreutils-7.6
Estas abreviaciones pueden encontrase individualmente o agrupados, por ejemplo si un paquete esta instalado pero ya ha sido actualizado deberías ver la abreviatura mas o menos así:
[iu] - coreutils-7.6
Si un paquete ha sido desinstalado anteriormente pero esta disponible en los repositorios debería mostrarse así:
[dr] - coreutils-7.6
Buscando archivo en paquetes.
A veces necesitamos saber a cual o tal paquete pertenece cierto archivo o ejecutable, para este tipo de tareas ikg ofrece el parámetro --find.
# ikg --find archivo_a_localizar
Consultando información general.
Cada paquete instalado en ikim contiene un archivo de información con los datos generales del mismo, esta información es conservada y puesta en el directorio /var/ikg/packages para ser consultada por ikg. Sin embargo, si deseas inspeccionar visualmente dicha información puedes hacerlo con el comando --info
# ikg --info nombre-del-paquete
Mostrando el contenido.
Si necesitas saber el contenido de algún programa en especifico ikg ofrece el parámetro --show para ayudarte en esa tarea:
# ikg --show paquete-a-mostrar
Averiguando dependencias.
Si deseas saber cuales paquetes dependen de uno en especifico, puedes usar el parámetro --whodepend o -w.
# ikg --whodepend nombre-de-paquete

