Go to main content
Guía de administración de Oracle® ZFS Storage Appliance, versión OS8.7.0

Salir de la Vista de impresión

Actualización: Marzo de 2017
 
 

Contextos de la CLI

Uno de los principios centrales de la CLI es el contexto en el que se ejecutan los comandos. El contexto dicta cuáles son los elementos del sistema que se pueden gestionar y cuáles son los comandos que están disponibles. Los contextos tienen una estructura de árbol en la que los contextos en sí pueden contener otros contextos anidados y la estructura por lo general refleja la de las vistas de la BUI.

El contexto inicial al iniciar sesión es el contexto raíz, que actúa como contexto principal o ascendiente de todos los contextos. Para navegar a un contexto, ejecute el nombre del contexto como comando. Por ejemplo, las funciones disponibles en la vista Configuración del explorador están disponibles en el contexto configuration de la CLI. Para tener acceso, desde el contexto raíz, escriba directamente lo siguiente:

dory:> configuration
dory:configuration> 

Tenga en cuenta que el indicador cambia para reflejar el contexto, y el contexto se proporciona entre los dos puntos y el signo mayor que del indicador.

El comando show muestra los contextos secundarios. Por ejemplo, desde el contexto configuration:

dory:configuration> show
Children:
                             net => Configure networking
                        services => Configure services
                         version => Display system version
                           users => Configure administrative users
                           roles => Configure administrative roles
                     preferences => Configure user preferences
                          alerts => Configure alerts
                         storage => Configure Storage

Estos contextos secundarios corresponden a las vistas disponibles en la vista Configuración del explorador, que incluye Red, Servicios, Usuarios, Preferencias, etc. Para seleccionar uno de estos contextos secundarios, escriba el nombre correspondiente:

dory:configuration> preferences 
dory:configuration preferences> 

Puede navegar a un contexto descendiente directamente desde uno ascendiente; para ello, especifique los contextos intermedios separados por espacios. Por ejemplo, para navegar directamente a configuration preferences desde el contexto raíz, simplemente escríbalo:

dory:> configuration preferences
dory:configuration preferences>

Algunos contextos secundarios son dinámicos porque corresponden no a vistas fijas del explorador, sino a entidades dinámicas que fueron creadas por el usuario o el sistema. Se puede navegar hasta estos contextos de dos maneras: puede usar el comando select seguido del nombre del contexto dinámico, o puede encerrar el nombre del contexto dinámico entre comillas dobles. Los nombres de los contextos dinámicos incluidos en un contexto dado se muestran con el comando list. Por ejemplo, el contexto users es estático, pero cada usuario es su propio contexto dinámico.

dory:> configuration users
dory:configuration users> list 
NAME                     USERNAME                 UID        TYPE
John Doe                 bmc                      12345      Dir
Super-User               root                     0          Loc

Para seleccionar el usuario llamado bmc, ejecute el comando select bmc o "bmc":

dory:configuration users> "bmc" 
dory:configuration users bmc> 

De manera alternativa, en algunos contextos, se pueden utilizar comillas dobles y los comandos select y destroy para seleccionar una entidad en función de sus propiedades. Por ejemplo, se puede ejecutar el siguiente comando para seleccionar las entradas de log emitidas por el módulo reboot del contexto maintenance logs system:

dory:maintenance logs system> select module=reboot 
dory:maintenance logs system entry-034> show
Properties:                                   
  timestamp = 2016-8-14 06:24:41
     module = reboot
   priority = crit
       text = initiated by root on /dev/console syslogd: going down on signal 15

Como con otros comandos, se puede agregar select o comillas dobles a un comando de modificación de contexto. Por ejemplo, para seleccionar el usuario llamado bmc desde el contexto raíz:

dory:> configuration users select bmc 
dory:configuration users bmc>

Use el comando last para navegar hasta un contexto creado o seleccionado con anterioridad. En el siguiente ejemplo, se crea una acción de replicación y, a continuación, se usan los comandos last y get id para recuperar el ID de la acción de replicación. Luego, se selecciona una acción diferente y se usan los comandos last y get id para recuperar el ID de la acción de replicación más recientemente visitada.

Con el comando last, se puede volver al último nodo visitado:

dory:configuration net interfaces> "igb4"
dory:configuration net interfaces igb4> done
dory:configuration net interfaces> last
net:configuration net interfaces igb4>

El comando last también es útil para recuperar valores establecidos de forma automática por el dispositivo durante la creación de un nodo dinámico. Por ejemplo, el dispositivo le asigna un ID a cada acción de replicación cuando se crea. El comando last junto con el comando get id sirven para recuperar el ID sin usar el nombre de la acción de replicación:

dory:shares p1/share replication> create
dory:shares p1/share action (uncommitted)> set target=dory
                               target = dory (uncommitted)
dory:shares p1/share action (uncommitted)> set pool=p0
                               pool = p0 (uncommitted)
dory:shares p1/share action (uncommitted)> commit
dory:shares p1/share replication> last get id
                               id = 7034367a-d4d8-e26f-fa93-c3b454e3b595
dory:shares p1/share replication>

Se debe tener en cuenta que cuando el comando last se combina con otro comando (en este caso, get id), se ejecuta en el contexto del último nodo visitado, pero el nodo actual permanece sin modificaciones.

Debido a que el comando last permite recuperar el último nodo visitado y sus valores sin especificar el nombre del nodo, el comando es muy conveniente para crear secuencias de comandos:

script
              project = 'myproj';
              target = 'mytarget';
              target_pool = 'notmypool';
     
              run('cd /');
              run('shares select ' + project);
              run('replication');
              run('create');
              set('target', target);
              set('pool', target_pool);
              run('commit');
              run('last');
              id = get('id');
              printf("Sending update for replication action id %s ...", id);
              run('sendupdate');
              while (get('state') != 'idle') {
                     printf(".");
                     run('sleep 1');
              }
              printf("done\n");
 .

Para regresar al contexto previo, use el comando done:

dory:configuration> done
dory:> 

De esta manera, se regresa al contexto previo, que no es necesariamente el contexto principal:

dory:> configuration users select bmc 
dory:configuration users bmc> done
dory:> 

El comando done se puede usar varias veces para regresar sucesivamente a contextos anteriores:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> done
dory:configuration users> done
dory:configuration> done
dory:>

Para navegar a un contexto principal, use el comando cd. Inspirado por el comando clásico de UNIX, cd usa el argumento ".." para denotar que se pasa al contexto principal:

dory:> configuration users select bmc
dory:configuration users bmc> cd ..
dory:configuration users> 

Y, como con el comando de UNIX, con "cd /" se pasa al contexto raíz:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> cd /
dory:>

También como con su análogo de UNIX, "cd ../.." se puede usar para navegar al contexto de dos niveles de ascendencia:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> cd ../..
dory:configuration>

Tenga en cuenta que los comandos cd / y cd .. admiten variaciones limitadas. Para mayor versatilidad, use el comando top y el comando up.

Use el comando top para navegar hasta el contexto raíz:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> top
dory:>

Use el comando top seguido por un nombre de contexto para navegar directamente hasta el contexto especificado con respecto al contexto raíz. Por ejemplo, para navegar directamente desde el contexto configuration users al contexto configuration services, use el comando top configuration services:

dory:> configuration
dory:configuration> users 
dory:configuration users> top configuration services
dory:configuration services> 

Cuando se usa el comando top en combinación con un contexto específico, se puede usar el comando done para regresar al contexto antes de que se ejecutara el comando top. En el siguiente ejemplo, el primer comando done regresa al contexto previo. El segundo comando done regresa al contexto anterior al comando top. El tercer comando done regresa al contexto dos nodos antes del comando top.

dory:> maintenance system
dory:maintenance system> updates
dory:maintenance system updates> top configuration services
dory:configuration services> ftp
dory:configuration services ftp> done
dory:configuration services> done
dory:maintenance system updates> done
dory:>

Al igual que el comando cd .., el comando up se puede usar para navegar hasta el contexto principal:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> up
dory:configuration users>

Asimismo, puede ir a un contexto n nodos más arriba del contexto actual mediante la repetición del comando up n veces:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> up up
dory:configuration> 

Para regresar a un contexto específico con respecto al contexto principal actual, introduzca el nombre del contexto después del comando up. De manera similar, use el comando up up seguido por un nombre de contexto para regresar a un contexto específico con respecto al contexto con dos niveles de ascendencia desde el actual. Por ejemplo, para ir desde el contexto configuration users bmc al contexto configuration services, use el comando up up services:

dory:> configuration
dory:configuration> users 
dory:configuration users> select bmc 
dory:configuration users bmc> up up services
dory:configuration services>

Cuando se usa el comando up en combinación con un contexto específico, se puede usar el comando done para regresar al contexto antes de que se ejecute el comando up. En el siguiente ejemplo, el primer comando done regresa al contexto anterior al comando up. El segundo comando done regresa al contexto que está dos nodos antes del comando up y el tercer comando done regresa al contexto que está tres nodos antes del comando up.

dory:> configuration 
dory:configuration> services 
dory:configuration services> ftp 
dory:configuration services ftp> up http
dory:configuration services http> done
dory:configuration services ftp> done
dory:configuration services> done
dory:configuration> done
dory:> 

Los nombres de los contextos se pueden finalizar con la tecla de tabulación, sean contextos estáticos (por medio del modo de finalización normal de comandos) o dinámicos (mediante la finalización del comando select). A continuación, se presenta un ejemplo de selección del usuario llamado bmc desde el contexto raíz con solamente quince pulsaciones de teclas, en lugar de las treinta y un veces que se necesitarían si no se usara la finalización con tabulación:

dory:> configtab 
dory:> configuration utab 
dory:> configuration users setab 
dory:> configuration users select tab 
bmc   root  
dory:> configuration users select btab 
dory:> configuration users select bmcenter 
dory:configuration users bmc>

Una vez dentro de un contexto, se pueden ejecutar comandos específicos de ese contexto. Por ejemplo, para obtener las preferencias del usuario actual, ejecute el comando get desde el contexto configuration preferences:

dory:configuration preferences> get
                       locale = C
                 login_screen = status/dashboard
              session_timeout = 15
           session_annotation = 
           advanced_analytics = false

Si se escribe algo después de un comando que cambia el contexto, ese comando se ejecutará en el contexto de destino, pero el control regresará al contexto original. Por ejemplo, para obtener las preferencias del contexto raíz sin cambiar de contexto, agregue el comando get a los comandos de navegación de contexto:

dory:> configuration preferences get 
                       locale = C
                 login_screen = status/dashboard
              session_timeout = 15
           session_annotation = 
           advanced_analytics = false

Al crear una nueva entidad en el sistema, el contexto asociado con ella normalmente se crea en un estado no confirmado. Por ejemplo, cree una alerta de umbral mediante la ejecución del comando create desde el contexto configuration alerts threshold:

dory:> configuration alerts thresholds create 
dory:configuration alerts threshold (uncommitted)>

El texto (uncommitted) del indicador denota que se trata de un contexto no confirmado. Para confirmar una entidad no confirmada, se debe usar el comando commit; si se intenta salir del contexto no confirmado, se solicitará la confirmación:

dory:configuration alerts threshold (uncommitted)> cd /
Leaving will abort creation of "threshold". Are you sure? (Y/N)

Al confirmar una entidad no confirmada, se validan las propiedades asociadas con la nueva entidad y se genera un error si no se puede crear la entidad. Por ejemplo, la creación de una nueva alerta de umbral requiere que se especifique un nombre estadístico; de no hacerlo, se genera un error:

dory:configuration alerts threshold (uncommitted)> commit
error: missing value for property "statname"

Para resolver el problema, solucione el error y vuelva a intentar la confirmación:

dory:configuration alerts threshold (uncommitted)> set statname=cpu.utilization  
                     statname = cpu.utilization (uncommitted)
dory:configuration alerts threshold (uncommitted)> commit
error: missing value for property "limit"
dory:configuration alerts threshold (uncommitted)> set limit=90
                        limit = 90 (uncommitted)
dory:configuration alerts threshold (uncommitted)> commit
dory:configuration alerts thresholds> list
THRESHOLD          LIMIT       TYPE STATNAME
threshold-000         90     normal cpu.utilization

Temas relacionados