Está en la página 1de 35

Tema 10: Administracin GNU/LINUX

ESTRUCTURA DE DIRECTORIOS DE LINUX...............................................................................2


FLUJOS DE DATOS............................................................................................................................5
TUBERAS ..........................................................................................................................................6
PERMISOS ..........................................................................................................................................7
ENTORNOS DE TRABAJO EN BASH............................................................................................13
VARIABLES DEL ENTORNO ....................................................................................................13
FICHEROS PERFILES ................................................................................................................15
EJECUCIN EN BASH ...............................................................................................................15
PROCESOS .......................................................................................................................................16
CONTROL DE LOS PROCESOS EN BASH ..............................................................................17
COMUNICACIN CON LOS PROCESOS ................................................................................18
PRIORIDADES DE LOS PROCESOS ........................................................................................1
DISPOSITIVOS DE ALMACENAMIENTO. MONTAJE ! DESMONTAJE. ...............................2"
#ESTORES DE PARTICIONES. .....................................................................................................26
MANEJO DE PA$UETES EN LINUX. ...........................................................................................27
RPM ..............................................................................................................................................28
MANIPULACIN DE PA$UETES EN DEBIAN. .....................................................................2
INSTALAR PA$UETES ..............................................................................................................31
REINSTALAR UN PA$UETE ....................................................................................................32
ELIMINAR UN PA$UETE .........................................................................................................32
ACTUALI%AR UN PA$UETE ...................................................................................................33
BUSCAR UN PA$UETE .............................................................................................................33
MANEJO DE PA$UETES CON DP&#. ....................................................................................35
1 '( 35
ESTRUCTURA DE DIRECTORIOS DE LINUX
Es m! im"#rtante$ conocer la estructura de directorios en Linux, ya que ello nos
permite saber que tipo de informacin contiene.
Esto nos ayudar para tener una mejor visin de cm# est% #r&ani'ad# e( sistema
#"erati)# GNU/Lin*, adems con ello sabremos dnde (#ca(i'ar (# +e necesitam#s.
En esta imagen podemos ver una breve descripcin de la estructura de directorios de
linux:
2 '( 35
/: ,Ra-'. Es el nivel ms alto dentro de la jerarqua de directorios !"#$%#!&L' . (e aqu
parten los dems directorios y subdirectorios.
//in: ,0inari#s. %ontiene los binarios bsicos, que son los ejecutables del sistema
operativo.
//##t: ,Arran+e. &qu se encuentran todos aquellos arc)ivos necesarios para que el
sistema inicie.
/de): ,Dis"#siti)#s. En esta carpeta se encuentran todos los arc)ivos que nos permiten
interactuar con los dispositivos )ard*are de nuestro ordenador. !or ejemplo los usb, sda
o )da' con la informacin de cada uno de ellos.
/etc: ,Etc1tera. &qu se guardan los fic)eros de configuracin de los programas
instalados.
/2#me: ,3#&ar. %ontiene las carpetas por defecto de los usuarios, sera algo as como el
+(ocuments and ,ettings- del sistema operativo .indo*s'.
/(i/: ,0i/(i#tecas. %ontiene las libreras del sistema y los drivers.
/(#st45#nd: ,6erdid#s ! enc#ntrad#s. informacin que se guard de manera incorrecta
debido a alg/n fallo del sistema, se crea en cada particin independientemente.
/media: ,7edia/medi#s. (irectorio donde puede ser utili0ado como punto de montaje
para las 1nidades Extrables. !or ejemplo, los dispositivos 1,2, disqueteras, unidades de
%(3(4(.
/mnt: ,7#nta8e. Es un directorio que se suele usar para montajes temporales de
unidades. !or ejemplo, (irectorios compartidos dentro de una red, alguna particin de
.indo*s, etc.
/#"t: ,O"ci#na(es. (estinado para guardar3instalar paquetes adicionales de aplicaciones.
/"r#c: ,6r#ces#s. #nformacin de los datos del 5ernel del sistema de fic)eros de Linux,
4irtuali0acin y procesos en ejecucin.
/r##t: ,Casa de( Administrad#r. Es el directorio 3)ome del administrador. Es el /nico
/2#me que no est incluido 6por defecto6 en el directorio 789E.
/s/in ,0inari#s de( Sistema.: ,on los ejecutables de administracin, tales como mount,
umount, etc.
/sr): ,Ser)ici#s. En este directorio residen las carpetas accesibles por el programa
cliente de un determinado servicio ofrecido por algunos servidores configurados en el
sistema. !or ejemplo &pac)e, !ro:tpd, etc.
/s!s: ,Sistema. #nformacin sobre los dispositivos tal y como los ve el 5ernel Linux.
/tm": ,Tem"#ra(es. Es un directorio donde se almacenan fic)eros temporales. %ada ve0
que se inicia el sistema este directorio se borran.
/sr: ,C#m"artid# de Usari#s. Es el directorio padre de otros subdirectorios de
importancia. ,e encuentran la mayora de los arc)ivos del sistema, aplicaciones, libreras,
manuales, juegos; Es un espacio compartido por todos los usuarios del sistema.
/)ar: ,9aria/(es. :ic)eros y datos que cambian frecuentemente logs, bases de datos,
colas de impresin;'
3 '( 35
7asta aqu )emos visto una descripcin de los directorios principales, lo cual no quiere
decir que dentro no )aya subdirectorios.
8bservemos algo un poco ms completo:
(entro de la categori0acin de los directorios encontramos:
Est%tic#s: %ontiene arc)ivos binarios, bibliotecas, y otros arc)ivos estn en "ead
8nly ,olo lectura' que no cambian sin la intervencin del administrador. //in:
/s/in: //##t: /#"t.
Din%mic#s: ,on aquellos que los arc)ivos dentro de estos van cambiando.
<eneralmente se encuentra como "ead6.rite Lectura6Escritura'. /)ar/s"##(:
/)ar/(#c;: /)ar/mai(: /2#me<
C#m"ati/(es: ,e pueden encontrar arc)ivos comunes que van a estar en cualquier
distribucin. /sr//in: /#"t
N# C#m"ati/(es: %ontiene arc)ivos que no son compatibles con otras
distribuciones. /etc: //##t: /)ar/rn: /)ar/(#c;<
) '( 35
=LU>OS DE DATOS
En Linux al igual que en 1nix todos los procesos programas en ejecucin' tienen
asociados tres flujos streams' de datos principales. Estos son:
La entrada estndar. stdin' Es donde un proceso puede tomar los datos que
maneja y que no se indican mediante argumentos u opciones. !or defecto se toma
a partir del teclado.
La salida estndar. stdout' Es donde un proceso escribe los resultados de su
ejecucin. !or defecto es la terminal pantalla' donde se invoc el programa
correspondiente.
La salida de errores. stderr' Es donde un proceso escribe los posibles errores
durante su ejecucin. !or defecto es la terminal pantalla' donde se invoc el
programa correspondiente.
Los flujos de datos se almacenan en descriptores de fic)eros que se identifican por un
n/mero en la forma siguiente:
=: representa la entrada estndar.
>: representa la salida estndar.
?: representa la salida de errores.
En bas), al igual que en otros s)ells, los flujos de datos se pueden redireccionar
libremente )acia distintos fic)eros. En esencia este mecanismo consiste en que la salida
de un proceso estndar o de errores' puede escribirse en un fic)ero en lugar de la
terminal asociada, as como la entrada puede tomarse tambi@n a partir de un fic)ero en
lugar de utili0ar lo escrito mediante el teclado.
!ara indicar un redireccionamiento se utili0an los signos de comparacin A y B. (e esta
forma se generan dos tipos de construccin:
instruccin B salida: indica el redireccionamiento del flujo de datos de la instruccin
al fic)ero nombrado salida.
#nstruccin A entrada: indica el redireccionamiento del contenido del fic)ero
nombrado entrada como flujo de datos de entrada para la instruccin.
#nstruccin ?B salida: indica el redireccionamiento del flujo de datos (E L8,
E""8"E, de la instruccin al fic)ero nombrado salida.
Ejemplos:
C cat 3etc3s)ado* B cont ,e redirecciona la salida estndar )acia un
fic)ero con nombre cont
D *rite pepe A msj.txt Eoma la entrada en lugar de desde el teclado,
desde el fic)ero msj.txt
D cat B telefonos Eoma de la entrada estndar teclado' y lo
enva a la salida que ser el fic)ero tel@fonos.
Eerminar la entrada con %trl ('.
D ls B 3dev3null ,e redirecciona la salida estndar al dispositivo
5 '( 35
especial de caracteres 3dev3null provocando su
desaparicin.
D ls 3tmp ?B fic)6errores ,e redirecciona la salida de errores )acia un
fic)ero fic)6errores.
D find 3 6iname +carta- B sa ?B err Ejecuta el comando find, mandando la salida
normal de la orden al fic)ero sa y mandando la
salida de errores al fic)ero err.
,iempre que se emplee la forma FxGBsalida, si el fic)ero salida existe se sobrescribir y si
no, se crear. !ara aHadirle algo ms a su contenido anterior append' en lugar de
sobrescribirlo, se puede emplear BB.
Dec)o +7ola- BB fic)ero ,e redirecciona el texto 7ola )acia fic)ero. ,i
fic)ero ya existe se aHadir el texto al final, si no
existe, se crear fic)ero y luego se le aHadir el
texto.
TU0ER?AS
Las tuberas pipes' son un poderoso mecanismo del s)ell en 1nix. Este en esencia
permite tomar la salida de un comando y pasrsela como entrada a otro.
9uc)os de los comandos mencionados anteriormente, que reciben como argumento un
fic)ero, en caso de omitirse este, utili0an su entrada estndar. Esta entrada puede
provenir a su ve0 de la salida de otros comandos. <racias a esto las tuberas permiten
reali0ar filtrados de los ms diversos tipos
Las tuberas pueden estar formadas por un n/mero IIilimitadoJJ de comandos. Estos no se
ejecutan secuencialmente, o sea no se espera a que termine uno para ejecutar el
siguiente, sino que se va )aciendo de forma concurrente. El carcter que se emplea para
separar un comando de otro mediante una tubera es K. &lt <r L > &lt L >?M'
Ejemplos:
D ls 6l 3dev K less Eoma la salida de ls y la envia como entrada a la
orden less, con lo que se consigue un listado
paginado.
D ls 6l 3dev K grep ma Eoma la salida de la orden ls Nl 3dev y la filtra,
reali0ando sobre ella una b/squeda de la
cadena ma, de modo que solo aparecern en la
pantalla los fic)eros que contengan dic)a
cadena.
D ls 6" 3etc K sort Lista recursivamente el contenido del
directorio 3etc y ordena la salida.
D ls 6" 3etc K sort K more Lista recursivamente el contenido del
directorio 3etc y ordena la salida, paginndola.
D ls 6" 3etc K sort K more K uniq Lista recursivamente el contenido del
directorio 3etc y ordena la salida paginndola y
6 '( 35
mostrando /nicamente las lneas /nicas. ,in
lneas duplicadas'.
D locate user K grep bin 2usca en la jerarqua de fic)eros a aquellos que
contengan en su nombre la cadena OuserO y de
estos selecciona los que contengan adems
ObinO
D grep 3bin3bas) 3etc3pass*d K *c 6l %uenta los usuarios que tienen como s)ell el
bas)
6ER7ISOS
%ada uno de los elementos del sistema de fic)eros de Linux posee permisos de acceso
de acuerdo a tres tipos de usuarios:
1. ,u dueHo casi siempre el creador' representado por la letra u USUARIO o 1,E"'.
<. ,u grupo representado por la letra g GRU6O o <"81!'.
8. El resto de los usuarios que no son el dueHo ni pertenecen al grupo. ,e representa
con o OTROS u 8E7E"'.
$ota: !ara representar a todos los tipos de usuarios se utili0a la letra a all'.
!ara cada uno de estos tres grupos de usuarios existen tres tipos de permisos
fundamentales:
r: read lectura'. El usuario que tenga este permiso podr si es un directorio, listar los
recursos almacenados en @l, y si es cualquier otro tipo de fic)ero podr leer su contenido.
@: @rite escritura'. Eodo usuario que posea este permiso para un fic)ero podr
modificarlo. ,i se posee para un directorio se podrn crear y borrar fic)eros en su interior.
*: e*ecte ejecucin'. Este permiso para el caso de los fic)eros permitir ejecutarlos
desde la lnea de comandos y para los directorios, el usuario que lo posea tendr acceso
para reali0ar el resto de las funciones permitidas mediante los otros permisos lectura y3o
escritura'.
!ara poder reali0ar operaciones sobre cualquier direct#ri# leer o escribir' ser necesario
siempre, tener otorgado adems el permiso de ejecucin. !ara acceder a un recurso de
cualquier forma ejecucin, lectura o escritura' se deben tener permisos de ejecucin para
todos los directorios que contienen al recurso directa e indirectamente.
Los tres tipos de permisos mencionados poseen una representacin num@rica basada en
el sistema octal que parte de representar como II>JJ los bits de los permisos otorgados y
II=JJ para los negados. Luego se transforma la representacin binaria as obtenida en
octal. Los permisos siempre van formando tros, de la forma r*x.
(e esta forma se obtienen para cada tipo de permiso los siguientes valores:
r P >== M en octal' r66'
* P =>= ? en octal' 6*6'
x P ==> > en octal' 66x'
7 '( 35
La combinacin de los tres tipos de permisos para un tipo de usuario oscila desde cero
ning/n permiso' )asta siete todos los permisos'.
Ejemplos:
,lo el dueHo de un recurso tendr derec)o a cambiar sus permisos, adems del root por
supuesto.
&parte de r * x existen otros tipos de permisos ms complejos:
S y s: es un permiso que de no administrarse correctamente puede provocar problemas
de seguridad. !ara su representacin a trav@s de caracteres se utili0a el lugar del permiso
de ejecucin y de a) la diferencia entre s y ,: si es s min/scula' significa que incluye
adems el permiso de ejecucin x y s' a diferencia de , que incluye solo el permiso s' y
no el x. Este permiso se puede asociar al dueHo o al grupo del recurso. ,i se asocia a un
fic)ero significa que cuando este se ejecute por un usuario que tenga permisos para ello
adquirir los permisos de su dueHo o grupo seg/n a que est@ asociado el permiso. 1n
ejemplo de fic)ero con este permiso es el comando pass*d, el cual adquiere los permisos
de root al ser ejecutado por los usuarios sin argumentos' para poder modificar el
fic)ero 3etc3s)ado* que es donde se guardan las contraseHas de los usuarios. !ara el
caso de un directorio este permiso slo tiene valide0 para el grupo del mismo permitiendo
a los fic)eros y a los subdirectorios que se creen en @l )eredar el grupo, los subdirectorios
)eredarn tambi@n el permiso s. 1n ejemplo de directorio con este permiso es aquel
donde se guardan los documentos de un sitio :E! annimo. Este permiso se conoce
como setuid bit o setgid bit, para el usuario y el grupo respectivamente.
T y t: cuando est asociado a un directorio junto al permiso de escritura para un grupo de
usuarios, indica que estos usuarios pueden escribir nuevos fic)eros en el directorio pero
estos slo podrn ser borrados por sus dueHos o por root. !ara un fic)ero el permiso
expresa que el texto de este se almacena en memoria s*ap para ser accedido con mayor
rapide0. Este permiso slo se asocia al resto de los usuarios y para su representacin se
emplea el bit correspondiente al permiso de ejecucin: si es t min/scula' significa que
8 '( 35
incluye adems el permiso de ejecucin y E may/scula' no lo incluye. Ejemplo de un
directorio con este permiso es 3tmp donde todos los usuarios pueden escribir pero slo los
dueHos pueden borrar sus fic)eros, adems de root. Este permiso se conoce tambi@n
como stic5y bit.
!ara representar los permisos t y s en el sistema se utili0an tres bits adicionales: el
primero para s en el dueHo, el segundo para s en el grupo y el tercero para t. Estos se
colocan al inicio de la cadena num@rica de nueve bits vista anteriormente. En la cadena
de caracteres se me0clan con el permiso de ejecucin y de a) la necesidad de emplear
las may/sculas y min/sculas.
Ejemplos:
r*s r*, r66 P >>= >>> >>= >== QRQM en octal'
r*x r*s 6*E P =>> >>> >>> =>= SRR? en octal'
Estos permisos s y t son una causa frecuente de problemas, y son inseguros de por si,
por lo que es muy recomendable no usarlos a menos que sea estrictamente necesario. (e
)ec)o la mayora de las distribuciones actuales ya no utili0an estos permisos.
(espu@s de toda esta introduccin a los permisos en Linux veamos cmo estos se
muestran, modifican y se les asigna un valor por defecto.
!osiblemente el comando ms empleado en Linux es aquel que muestra el contenido de
un directorio, llamado ls. Este comando con la opcin 6l permite observar los permisos que
tienen asociados los recursos listados, adems de otras caractersticas. Los permisos se
muestran a trav@s de una cadena de >= caracteres:
>' el primer carcter indica el tipo de recurso, y puede ser:
d : directorio
l : enlace
b : dispositivo de bloque
c : dispositivo de caracteres
s : soc5et
'( 35
p : tubera pipe'
6 : fic)ero regular
?' Los caracteres ?,S y M indican los permisos para el usuario dueHo del recurso.
S' Los caracteres T,Q y R indican los permisos para el grupo dueHo del recurso.
M' Los caracteres U,V y >= indican los permisos para el resto de usuarios, es decir, los
usuarios que no son
El resto de las columnas de la salida representan para cada elemento:
El n/mero de enlaces duros que posee. En el caso de un directorio, indica la
cantidad de subdirectorios que contiene contando a los directorios especiales II.JJ y
II..JJ
El identificador del dueHo.
El identificador del grupo.
El tamaHo en bytes si es un fic)ero y si es un directorio el tamaHo en bloques que
ocupan los fic)eros contenidos en @l.
La fec)a y )ora de la /ltima modificacin. ,i la fec)a es seis meses antes o una
)ora despu@s de la fec)a del sistema se coloca el aHo en lugar de la )ora.
El nombre del recurso.
!ara cambiar los permisos de un recurso se utili0a el comando c2m#d.
1" '( 35
,intaxis: c)mod FopcionesG ApermisosB Afic)erosB
Las formas de expresar los nuevos permisos son diversas, se pueden usar n/meros o
caracteres para indicar los permisos. !odremos comprender mejor cmo funciona la
orden mirando directamente algunos ejemplos:
%omo ejercicio, cread un directorio copia en vuestro )ome de usuario, y dentro copiad
todos los fic)eros que existen en el directorio 3etc. 9odificad los permisos de los fic)eros
copiados, probando tanto la orden c)mod de forma num@rica como mediante caracteres.
,i creamos un nuevo fic)ero, veremos como es creado con unos permisos por defecto,
normalmente QMM.
11 '( 35
!ara determinar estos permisos que se asocian por defecto a los fic)eros o directorios
creados, cada usuario posee una m%scara de permisos. Esta mascara por defecto suele
ser =?? para los usuarios comunes.
!ara calcular los permisos finales conociendo la mscara, se )ace la siguiente operacin
por parte del sistema:
!ara ajustar la mscara se puede emplear el comando mas;.
,intaxis: umas5 F6,G FmscaraG
Ejemplos:
%omo vemos, si usamos el formato num@rico en umas5, tendremos que restar la mscara
al total de permisos para saber que permisos se asignarn por parte del sistema. ,in
embargo, si usamos el formato simblico 6,' de umas5, asignaremos directamente los
permisos que el sistema asignar.
!ara dejar este umas5 fijo, conviene agregarlo al fic)ero .bas)Wprofile o al fic)ero
.bas)Wrc de nuestro directorio de inicio.
12 '( 35
ENTORNOS DE TRA0A>O EN 0AS3

1n entorno de trabajo en Linux no es ms que la configuracin que posee un usuario
durante su interaccin con el sistema y ms especficamente con el s)ell. Las
caractersticas del entorno para el caso de bas) pueden ser la forma en que se muestra el
prompt, los alias y funciones definidos y las variables del entorno de forma general, ya
que estas definen el comportamiento de muc)os programas y comandos. Las facilidades
para cambiar el entorno de trabajo dependen de las capacidades del s)ell que se utilice.
VARIABLES DEL ENTORNO
Las variables del entorno almacenan valores que describen las propiedades del entorno
de trabajo. !ara dejarlo fijo en la sesin, entonces conviene agregarlo a .bas)Wprofile o
.bas)Wrc de nuestro directorio de inicio. 1n usuario puede definir sus propias variables o
modificar las ya existentes.
!ara asignarle valor a una variable en el s)ell se emplea el operador de asignacin
tradicional P' entre el nombre de la variable y el valor asignado no deben )aber espacios
intermedios'.
9E$,&XEPO7ola 9undoO
!ara acceder al valor de una variable en el s)ell se emplea el carcter D seguido por el
nombre de la variable. !ara imprimir en la terminal el valor de una variable se puede
utili0ar el comando ec)o.
ec)o D9E$,&XE
(entro de un s)ell se pueden ejecutar otros s)ells que seran )ijos del primero subs)ells'
)eredando todo o parte del entorno de trabajo del padre. !ara que una variable mantenga
su valor en los s)ells )ijos es necesario indicarlo explcitamente mediante el comando
export.
D export 9E$,&XE
Eanto la asignacin del valor como el exportar una variable se pueden )acer a la ve0:
D export 9E$,&XEPO7ola amigoO
!ara ver las variables del entorno definidas se puede emplear el comando set. Este
adems se relaciona con las opciones que es otra forma de regir el comportamiento del
s)ell. Las opciones se activan on' o desactivan off'. Estas se utili0an para indicar
propiedades del s)ell muy especficas por lo que no nos vamos a detener en ellas. ,i se
desea conocer ms al respecto se puede )acer D )elp set K less.
!ara eliminar el valor de una variable se emplea el comando unset.
D unset 9E$,&XE
&lgunas variables del entorno en bas) son:
13 '( 35
6AT3: guarda la secuencia de caminos donde el s)ell busca los programas que se
intenten ejecutar en la lnea de comandos cuando no se utili0an los caminos absolutos.
Estos caminos se separan por el carcter : dos puntos'
Ejemplo: D ec)o D!&E7
3bin:3usr3bin:3usr3Y>>"Q3bin:3usr3local3bin
!ara aHadir un nuevo camino puede )acerse:
export !&E7PD!&E7: 3bin
USER: contiene el login del usuario actual.
6AGER: almacena el paginador utili0ado por defecto por algunos programas. !or
ejemplo, el comando man utili0a esta variable para determinar que paginador emplear,
aunque primero c)equea otra variable llamada 9&$!&<E" y si esta no tiene valor
entonces acude a !&<E", que de no tener valor tampoco, asumir al less como
paginador por defecto. Eambi@n asociada a man existe la variable 9&$!&E7 donde se
especifican los caminos de los manuales que despliega man, y L&$< para indicar el
idiomaS.?.
Ejemplo: D export !&<E"Pmore
D man bas)
3O7E: guarda el directorio base del usuario actual.
Ejemplo: D ec)o D789E
EDITOR: contiene el editor por defecto del usuario actual. (e no tener valor asociado se
utili0a vi. En entornos grficos se pueden indicar editores visuales aunque para ello se
prefiere emplear la variable 4#,1&L.
6S1: almacena la estructura del prompt principal del usuario. !ermite una serie de
macros.
Zd : contiene la fec)a del sistema.
Z) : contiene el nombre de la mquina.
ZE : contiene la )ora del sistema.
Zu : contiene el login del usuario.
Z* : contiene el nombre completo del directorio de trabajo actual.
Z. : contiene la base del directorio actual Ejemplo: para 3)ome3pepe3doc la base es doc'.
ZD : si el #( del usuario es = root' contiene el valor C y sino, D.
ZC : contiene el n/mero del comando actual desde la creacin del s)ell.
El prompt principal por defecto tiene la forma: OFZu[Z) Z.GZD O
Ejemplo:
D export !,>POFZE,ZuZCGZD O
6SA: guarda el prompt secundario. Este es el que se presenta cuando el s)ell no puede
interpretar lo que se )a escrito )asta el momento.
6BD: contiene el directorio de trabajo actual. Esta variable la pueden emplear algunos
programas para saber desde donde se invocaron.
1) '( 35
SECONDS: almacena la cantidad de segundos transcurridos desde la invocacin del
s)ell actual.
FICHEROS PERFILES
!ara cada usuario existen tres fic)eros muy importantes que permiten definir en gran
medida las caractersticas del s)ell durante la interaccin con este. Estos constituyen
s)ells scripts y se conocen como fic)eros perfiles:
</as2C"r#5i(e <"r#5i(e : se ejecuta siempre que se abra una nueva sesin en el sistema.
%ada ve0 que un usuario se conecte al sistema se ejecutar el script .bas)Wprofile, en el
caso de que se utilice a bas) como s)ell. !ara ser compatible con sus versiones
anteriores, bas) en caso de que no existiera .bas)Wprofile, ejecuta .bas)Wlogin, o sino,
.profile. En este fic)ero se pueden colocar las asignaciones a las variables del entorno
siendo debidamente exportadas a trav@s de export. Eambi@n se puede establecer la
mscara de permisos usando umas5.
</as2C(#&#t: se ejecuta al terminar una sesin de trabajo.
</as2rc: se ejecuta siempre que se invoque un nuevo s)ell. !or lo general en @l se
colocan las definiciones de funciones y los alias de comandos.
%uando se crea un nuevo usuario se le colocan en su directorio base estos tres fic)eros
cuyos patrones estn el directorio 3etc3s5el. Estos fic)eros son los que ajustan los perfiles
para el s)ell. &parte, existen en el )ome de cada usuario otros fic)eros que cargan
perfiles para los entornos grficos como el gnome, perfiles para el open office, etc.
EJECUCIN EN BASH
Existen dos formas de ejecutar un s)ell script fic)ero con instrucciones bas)':
>. #nvocndolo directamente por su nombre. !ara esto el camino al fic)ero debe
encontrarse en la variable !&E7 del entorno, sino ser necesario especificar el
camino completo del fic)ero. El fic)ero debe adems, poseer los permisos de
ejecucin adecuados. Lo que ocurrir en este caso es que se crear un s)ell )ijo
que ser el que realmente ejecute interprete' al script.
?. 1tili0ando el comando source. (e esta forma se ejecutar el script en el s)ell
actual. En este caso no ser necesario que el fic)ero correspondiente posea
permisos de ejecucin. El comando se puede sustituir por el carcter punto. !or
ejemplo, si se modificara el .bas)Wprofile no ser necesario, para activar los
cambios, desconectarse y conectarse nuevamente al sistema, simplemente se
puede )acer:
D source .bas)Wprofile D . .bas)Wprofile
1n ejercicio interesante puede ser )acer un s)ell script editar un fic)ero' llamado
15 '( 35
program.s) con la siguiente lnea: ec)o D,E%8$(,
Ejecutar luego: D . program.s) que es lo mismo que D source program.s)'
por /ltimo asignarle al fic)ero permisos de ejecucin para ejecutarlo de la forma
tradicional:
D c)mod aLx program.s)
D .3program.s)
\!od@is explicar las diferencias en la salida]
6ROCESOS
1n proceso es una instancia de un programa en ejecucin. En Linux se ejecutan muc)os
procesos de forma concurrente aunque realmente slo uno accede al procesador en un
instante de tiempo determinado. Esto es lo que caracteri0a a los sistemas multitarea como
ya vimos en anteriores apuntes.
%ada proceso en el momento de su creacin se le asocia un n/mero /nico que lo
identifica del resto. &dems a un proceso estn asociadas otras informaciones tales
como:
El usuario que lo ejecuta.
La )ora en que comen0.
La lnea de comandos asociada.
1n estado. Ejemplos: sleep, running, 0ombie, stopped, etc.
1na prioridad que indica la facilidad del proceso para acceder a la %!1. 8scila entre 6?=
y >V, donde 6?= es la mayor prioridad.
La terminal donde fue invocado, para el caso de que este asociado a alguna terminal.
!ara ver los procesos y sus caractersticas se emplea el comando "s. 1na salida tpica de
este comando es:
!#( EE^ E#9E %9(
>=ST pts3= ==:==:>M bas)
>US> pts3= ==:==:== ps
%omo puede apreciarse para cada proceso se muestra su #( identificacin o numero', la
terminal desde donde se invoc, el tiempo de %!1 que se le )a asignado )asta el
momento y el comando que lo desencaden. !or defecto ps muestra en formato reducido
los procesos propios del usuario y la terminal actual.
&lgunas opciones:
x : muestra todos los procesos del usuario actual sin distincin de terminal.
a : muestra todos los procesos de todos los usuarios.
f : muestra las relaciones jerrquicas entre los procesos.
e : muestra el entorno de cada proceso.
l : utili0a un formato ms largo muestra ms informacin'.
16 '( 35
u : utili0a un formato orientado a usuario.
Ejemplos: D ps axu D ps e D ps xf
8tro comando para ver el estado de los procesos en ejecucin es top, que permite
)acerlo dinmicamente. top es ms bien un programa interactivo con el cual se pueden
observar los procesos ms consumidores de %!1 por defecto. Este comportamiento se
puede modificar tecleando:
9: ordenar seg/n el empleo de la memoria.
!: ordenar seg/n el empleo de la %!1.
$: ordenar por #(.
&: ordenar por antig_edad.
!ara observar todos los posibles comandos durante la interaccin con top se puede
pulsar ). !ara salir se presiona q. El programa top muestra adems algunas estadsticas
generales acerca del sistema:
La )ora actual y en la que se inici el sistema.
La cantidad de usuarios conectados.
Los promedios de carga de la %!1 en los /ltimos uno, cinco y quince minutos
transcurridos.
1n resumen estadstico de la cantidad de procesos en ejecucin y su estado
sleeping, running, 0ombie y stopped'.
1n resumen del empleo de la memoria fsica y virtual s*ap'.
Los tres primeros aspectos se pueden ver tambi@n con el comando uptime y el /ltimo con
free.
CONTROL DE LOS PROCESOS EN BASH
El s)ell bas) permite ejecutar los procesos en 5#re&r#nd primer plano' o /ac;&r#nd
segundo plano'. Los primeros son /nicos por terminal no puede )aber ms de un
proceso en primer plano en cada terminal' y es la forma en que se ejecuta un proceso por
defecto. ,olo se retorna al prompt una ve0 que el proceso termine, sea interrumpido o
detenido. En cambio, en bac5ground pueden ejecutarse muc)os procesos a la ve0
asociados a la misma terminal. !ara indicar al s)ell que un proceso se ejecute en
bac5ground, se utili0a la construccin:
Alnea de comandoB `
Ejemplo: C updatedb `
!ara modificar el estado de un proceso en foreground desde bas) existen dos
combinaciones de teclas muy importantes que este interpreta:
%trl6c : trata de interrumpir el proceso en foreground >a plano'. ,i es efectivo, el
proceso finali0a su ejecucin se le mata'.
17 '( 35
%trl60 : trata de detener el proceso en foreground. ,i es efectivo el proceso contin/a
activo aunque deja de acceder al procesador est detenido y pasa a bac5ground
?a plano'.
!ara ver los procesos detenidos o en bac5ground en un s)ell se emplea el comando
integrado a bas) jobs, que mostrar una lista con todos los procesos en dic)os estados
mediante los comandos asociados y un identificador num@rico especial.
Ejemplo: C jobs
F>G "unning sleep >==== `
F?G6 ,topped cp 3var3log3messages 3tmp
FSGL ,topped updatedb
Los procesos detenidos se pueden llevar al bac5ground y estos a su ve0 pueden
trasladarse al foreground. !ara ello se emplean respectivamente los comandos integrados
al bas): /& y 5&, pasndoles como argumento el identificador especial del proceso. ,i no
se especifica un argumento se asumir el trabajo marcado con un signo IILJJ que sera el
/ltimo detenido o llevado al bac5ground.
Ejemplos:
D bg ?
F?G6 cp 3var3log3messages 3tmp `
D fg
cp 3var3log3messages 3tmp
,i se comen0ara a ejecutar un proceso y este se demora muc)o y no interesan por el
momento sus resultados se puede detener y enviarlo al bac5ground )aciendo %trl60. ,e
puede volver a traerlo a >a plano con fg.
COMUNICACIN CON LOS PROCESOS
1n comando muy /til para interactuar con los procesos es 5ill. Este permite enviarles
seHales con significados muy diversos. Los programas o comandos deben estar
preparados para atrapar y tratar estas seHales, al menos las ms importantes. Existen
muc)os tipos de seHales, para verlas se puede )acer:
D 5ill Nl un listado de todos los tipos de seHales'
>' ,#<71! ?' ,#<#$E S' ,#<b1#E M' ,#<#LL
T' ,#<E"&! Q' ,#<&2"E R' ,#<21, U' ,#<:!E
V' ,#<c#LL >=' ,#<1,"> >>' ,#<,E<4 >?' ,#<1,"?
>S' ,#<!#!E >M' ,#<&L"9 >T' ,#<EE"9 >R' ,#<%7L(
>U' ,#<%8$E >V' ,#<,E8! ?=' ,#<E,E! ?>' ,#<EE#$
??' ,#<EE81 ?S' ,#<1"< ?M' ,#<Y%!1 ?T' ,#<Y:,d
?Q' ,#<4E&L"9 ?R' ,#<!"8: ?U' ,#<.#$%7 ?V' ,#<#8
18 '( 35
,intaxis:
5ill 6l FseHalG
5ill F6s seHalG AidB
5ill F6seHalG AidB
!or defecto 5ill enva la seHal EE"9 que indica al proceso que debe terminar >T'. La
seHal V o c#LL lo finali0a for0osamente es como una orden EE"9 pero imperativa'. La
seHal 71! es interpretada por muc)os comandos y programas como una indicacin de
que relean los fic)eros de configuracin correspondientes que reinicien su ejecucin'.
Ejemplos:
D 5ill >=== C enva la seHal >T EE"9' al proceso >===
D 5ill 6V >=>=> C enva la seHal V c#LL' al proceso >=>=>
D 5ill 6M >U>U> C enva la seHal M #LL' al proceso >U>U>
C 5ill 671! >VV C enva la seHal 71! al proceso >VV
D 5ill e? C enva la seHal >T EE"9' al trabajo ? en bac5ground o detenido'
Eambi@n existe ;i((a(( que permite enviar seHales a los procesos a trav@s de sus nombres.
& diferencia del #(, el nombre de un proceso no es /nico, o sea pueden existir muc)os
procesos con el mismo nombre y de a) la utilidad de este comando.
,intaxis: 5illall FopcionesG F6seHalG AnombreB
&lgunas opciones:
6i : forma interactiva. !regunta para cada proceso si se desea enviar la seHal o no.
6v : reporta si fue exitoso el envo de la seHal.
Ejemplo: D 5illall 6V ss)
PRIORIDADES DE LOS PROCESOS
En Linux existe la posibilidad de iniciar los procesos con prioridades distintas a las
asignadas por parte del sistema. !ara ello se puede emplear el comando nice. Este al
invocarse sin argumentos imprime la prioridad asignada por defecto a los procesos del
usuario actual.
La otra forma de emplear a nice es indicando la nueva prioridad precedida del signo +6+ y
la lnea de comando que desencadena el proceso. ,i no se indicara la prioridad se
incrementa en >= la por defecto. ,lo el usuario root puede asignar a sus procesos
prioridades con valores inferiores a cero.
Ejemplos:
C nice tar cvf 3tmp3etc.tg0 3etc C incrementa en >= la prioridad por defecto del comando
C nice 6 >= updatedb C ejecuta un comando con prioridad >=
C nice 6 6>= updatedb C ejecuta un comando con prioridad 6>=
1 '( 35
,i se deseara reajustar la prioridad de un proceso ya en ejecucin se puede utili0ar
renice. & este se le indican como argumentos la nueva prioridad y el identificador
num@rico del proceso pueden ser varios'. En este caso el valor de la prioridad no va
precedido por el signo II6JJ como es en nice. Eambi@n se puede cambiar la prioridad de
todos los procesos de uno o de varios usuarios a la ve0.
Ejemplos:
C renice 6>V >==> C ajusta la prioridad de un proceso a 6>V
C renice > Q=? C ajusta la prioridad de un proceso a >
C renice >= 6u pepe C ajusta a >= la prioridad de todos los procesos del usuario
pepe
Crenice T 6g ppp uucp C ajusta a T la prioridad de todos los procesos de los
usuarios miembros de los grupos ppp y uucp.
Las prioridades de los procesos slo se pueden disminuir, nunca aumentar con excepcin
de root que puede )acerlo indistintamente.
Los procesos de los usuarios, por defecto, se asocian a la terminal actual. Es en ella
donde muestran su salida estndar si esta no )a sido redireccionada. ,i la sesin en una
terminal termina, los procesos activos asociados a esta recibirn la seHal 71!. En caso
de que no trataran dic)a seHal se les enviar la seHal EE"9 y por /ltimo, c#LL. !ara
evitar este tratamiento por parte del sistema se puede emplear el comando no)up que
ejecuta un comando cuyo proceso no recibir la seHal 71! correspondiente, una ve0
terminada la sesin. !or defecto no)up reduce la prioridad del proceso en T y enva su
salida a un fic)ero llamado no)up.out.
Ejemplo:
D no)up granWcalculo `
D logout
En este caso, ejecutamos un proceso granWcalculo en segundo plano bac5ground'. Este
proceso es )ijo de nuestro s)ell que )emos creado al )acer login, y si )acemos logout
mataremos nuestro s)ell y a todos sus )ijos, con lo que mataramos granWcalculo. !ero al
)aber lan0ado granWcalculo con no)up, este no recibir las seHales )up term y 5ill del
sistema, y seguir ejecutndose aunque nos salgamos del sistema.
DIS6OSITI9OS DE AL7ACENA7IENTO< 7ONTA>E D DES7ONTA>E<
En Linux los dispositivos fsicos de la mquina en general y los de almacenamiento de
informacin, en particular, son manipulados a trav@s de fic)eros especiales ubicados en el
directorio 3dev. Los discos duros, las particiones de estos, las unidades de disquete y de
%(6"89 son ejemplos de estos dispositivos con los cuales interactuamos
constantemente. !ero trabajar directamente sobre los dispositivos representados de esa
forma casi nunca es conveniente ni resulta cmodo, por lo que usualmente se incorporan
al sistema de fic)eros tradicional.
2" '( 35
Esta accin se conoce como IImontarJJ, que en definitiva es asociar el dispositivo a un
directorio determinado.
%omo se explic anteriormente las particiones de los discos en Linux se montan en
directorios como 3, 3)ome y 3usr. El sistema tiene un fic)ero llamado 3etc3fstab en el cual
se especifican dnde y en qu@ forma se montan los diferentes dispositivos. 4eamos un
ejemplo de dic)o fic)ero:
%ada lnea en este fic)ero describe un dispositivo, indicando los siguientes aspectos para
cada uno:
$ombre del dispositivo o etiqueta. Ejemplos: 3dev3)da>, 3dev3sdc>, 3dev3fd=,
L&2ELP3)ome, L&2ELP3cursos. Eambi@n puede aparecer codificada como 11#(.
(irectorio donde se monta. Ejemplos: 3, 3mnt3floppy, 3tmp, etc.
,istema de fic)eros. Ejemplos: ext?, msdos, nfs, s*ap, isoVQQ=, auto, etc.
8pciones de montaje. Ejemplos: ro, r*, exec, auto, user, etc.
(os valores num@ricos: el primero toma los valores = > indicando si al dispositivo
se le )ar dump especie de bac5up' o no. El segundo n/mero expresa la prioridad
que tiene el dispositivo cuando se c)equea la integridad del :ile ,ystem durante el
inicio del sistema.
Las opciones de montaje son numerosas. Las ms usadas se listan a continuacin:
auto : indica que el dispositivo se monta siempre que se inicie el sistema. La
opuesta es noauto.
r*: indica que el dispositivo se monta con permisos de lectura y escritura.
ro: indica que el dispositivo se monta con permisos de lectura solamente.
o*ner: indica que el primer usuario distinto de root conectado al sistemalocalmente
21 '( 35
tiene derec)os a montar y desmontar el dispositivo se adueHa de este'.
user: indica que cualquier usuario puede montar y solo el mismo usuario podr
desmontar el dispositivo. La opcin opuesta es nouser.
users: indica que cualquier usuario puede montar y cualquiera tambi@n, puede
desmontar el dispositivo.
suid indica que el permiso IIsJJ tenga efecto para los ejecutables presentes en el
dispositivo. La opcin opuesta es nosuid.
exec : indica que los binarios ejecutables almacenados en el dispositivo se pueden
ejecutar. La opcin opuesta es noexec.
async : expresa que todas las operaciones de entrada y salida se )acen de forma
asncrona, o sea, no necesariamente en el momento en que se invocan. La opcin
opuesta es sync.
dev : indica que se interprete como tal a los dispositivos especiales de bloques y de
caracteres presentes en el dispositivo. La opcin opuesta es nodev.
defaults : es una opcin equivalente a la unin de r*, suid, dev, exec, auto, nouser
y async.
errors : indica que )acer si el dispositivo presenta errores. &s por ejemplo
errorsPremount6ro indica que se debe montar el sistema de fic)eros como de solo
lectura read only'.
&ctualmente para cada dispositivo con sistema de fic)eros ext en lugar de especificar su
nombre en el fic)ero fstab se puede indicar una etiqueta o identificador asociado. La
forma utili0ada es L&2ELPAetiquetaB o 11#(PAuuidB. Esta posibilidad )ace ms robusta
la configuracin ante la reali0acin de cambios en los discos duros ya sea porque se
incluyan nuevos o se reordenen los existentes. !ara ver o cambiar la etiqueta de un
dispositivo se puede emplear el comando e?label.
Ejemplos de lneas en el fic)ero 3etc3fstab:
L&2ELP3 3 extM defaults > >
3dev3)daR 3)ome ext? defaults > ?
3dev3cdrom 3mnt3cdrom isoVQQ= noauto,o*ner,ro = =
3dev3fd= 3mnt3floppy auto noauto,o*ner = =
3dev3)daV s*ap s*ap defaults = =
3dev3)dc> 3alien ext? ro,noexec,o*ner,noauto > =
3dev3)da> 3mnt3*in msdos ro,async,nouser,auto = =
,i queremos que un dispositivo se monte automticamente cada ve0 que el sistema se
inicie, basta con colocar una lnea apropiada en el fic)ero 3etc3fstab.
,i lo que queremos es montar o desmontar dispositivos directamente, podemos emplear
los comandos mount y umount respectivamente. Estos mantienen una lista de los
22 '( 35
dispositivos montados en el fic)ero 3etc3mtab.

,intaxis:
mount FopcionesG FdispositivoG FdirG
umount FopcionesG AdirB K AdispositivoB
&lgunas opciones:
6a: en el caso de mount monta todos los dispositivos que tienen la opcin auto en el
fic)ero fstab, y para umount desmonta todo lo que est en el fic)ero 3etc3mtab.
6t AtipoB : indica el tipo de file system a montar.
6o AopcionesB : especifica las opciones de montaje separadas por comas'.
%uando se especifican en el fic)ero fstab las caractersticas del montaje de un dispositivo,
para montarlo no es necesario indicarlo todo, basta con poner el nombre del dispositivo o
el directorio donde se monta por defecto.

Ejemplos:
D mount 6a 6t ext? C monta todos los dispositivos con file system ext? y con la opcin auto
en el fic)ero 3etc3fstab
D mount 3dev3fd= 3floppy C monta el disquete en el directorio 3floppy
D mount 3dev3cdrom C monta el cdrom. Eoma las especificaciones del fic)ero 3etc3fstab
D mount 3mnt3cdrom C )ace lo mismo que el anterior
D umount 6a 6t ntfs C desmonta todo los dispositivos con file system ntfs especificados
en 3etc3mtab
D umount 3mnt3cdrom C desmonta el cdrom
D mount 3dev3sdaT 3)ome3usuario3llavero C monta el dispositivo sdaT supongamos que es
una memoria 1,2' en el directorio llavero del )ome del usuario usuario.
,iempre que un dispositivo est@ siendo utili0ado por el sistema no se podr desmontar.
Este emitir un mensaje de error como en el siguiente ejemplo:
D umount 3mnt3floppy
umount: 3mnt3floppy: device is busy
1n dispositivo puede estar ocupado por el simple )ec)o de tener abierto un s)ell en el
directorio donde se mont, )aber lan0ado un ejecutable al bac5ground desde ese
directorio, o )aber montado otro dispositivo en un subdirectorio del mismo. !ara lograr el
objetivo ser necesario eliminar todos estos casos.
,iempre que se trabaje con los medios extrables en esta forma, sobre todo cuando se
reali0an operaciones de escritura no se debe olvidar desmontarlo antes de extraerlo del
ordenador. El resultado de extraer un dispositivo sin desmontarlo antes puede ser que la
informacin almacenada quede inconsistente. En el caso del %(6"89 esto no es posible
pues su funcionamiento electrnico permite que el sistema pueda controlar que mientras
no se desmonte el dispositivo, el usuario no pueda extraer el disco.
23 '( 35
7oy en da la mayora de las distribuciones cuentan con alg/n tipo de programa monitor
en memoria que se encargar de montar automticamente cualquier dispositivo externo
que conectemos al sistema. El desmontaje de los dispositivos sin embargo debe ser
manual.
1n comando muy /til en Linux es d5. Este se emplea para conocer informacin acerca de
las particiones y dispositivos montados actualmente en el sistema. !ara cada dispositivo
se muestra por defecto su tamaHo, el espacio empleado, que porcentaje esta empleado,
as como el directorio donde se )a montado.
,intaxis: df FopcionesG FdirectorioG
&lgunas opciones:
6) : )uman readable vie*' por defecto los tamaHos se muestran en bytes y con esta
opcin se )ace de forma ms legible Ej. < para gigabytes y 9 para megabytes'.
6E : muestra adems el tipo de file system de cada dispositivo.
6i : describe la utili0acin de los i6nodos de cada particin, en lugar del espacio.
8tros comandos /tiles para el manejo de discos son:
fdformat: permite formatear un disquete a bajo nivel sin ponerle un file system
determinado'.
Ejemplo: D fdformat 3dev3fd=
dd: permite duplicar fic)eros o partes de estos ya sean regulares o especiales )acer
imgenes'.
,intaxis: dd FopcionesG
Las opciones son en forma de pares AllaveBPAvalorB. &lgunas opciones:
ifPAfic)eroB : especifica el nombre del fic)ero de entrada o origen.
ofPAfic)eroB : indica el nombre del fic)ero de salida o destino.
bsPAnB : especifica la cantidad de bytes ledos y copiados a la ve0 o tamaHo de bloque.
!or defecto es T>?.
countPAnB : indica la cantidad de bloques a copiar del origen al destino. !or defecto se
copian todos los bloques presentes en el origen.
Ejemplos:
C dd ifP35ernel6image ofP3dev3fd=
C dd ifP3dev3)da> ofP3mnt3floppy3bootWsector countP> bsPT>?
C dd ifP3dev3cdrom ofP%(image.iso
eject : desmonta, si es necesario, y luego expulsa un dispositivo a nivel de soft*are.
8pcionalmente recibe como argumento el nombre del dispositivo o el directorio donde se
mont, asumiendo el %(6"89 por defecto. La opcin 6t introduce el dispositivo en lugar
de expulsarlo.
m5fs : se utili0a para crear un sistema de fic)eros en un dispositivo.
!or defecto el file system creado es del tipo ext?. ,irve de interfa0 para otros comandos
2) '( 35
ms especficos como m5fs.msdos, m5fs.reiserfs m5fs.minix, m5fs.ext?, m5reiserfs,
m5dosfs y m5e?fs.
Ejemplos:
C m5fs 3dev3)da>=
C m5dosfs 3dev3fd=
fsc5 : c)equea y repara un sistema de fic)eros.
,irve de interfa0 para otros comandos ms especficos como fsc5.msdos, fsc5.reiserfs,
fsc5.minix, fsc5.ext?, e?fsc5, dosfsc5 y reiserfsc5.
Ejemplos:
C fsc5 3dev3)dcT
C dosfsc5 3dev3fd=
m5bootdis5 : se utili0a para crear un disco de carga dado el 5ernel que se desea cargar.
Ejemplo: D m5bootdis5 ?.M.?6?
!ara comprobar que versiones del 5ernel tenemos disponibles en el sistema, sacad un
directorio de 3lib3modules'.
%omandos tipo 9,6(8, mtools' : se utili0an para obtener compatibilidad con 9s6(os.
,on un conjunto de )erramientas que permiten el acceso a disquetes o particiones con
formato msdos sin necesidad de montarlos o desmontarlos explcitamente. Ejemplos de
estos comandos son:
mdir : lista el contenido de un disquete. Ej. D mdir a:
mcopy : copia fic)eros )acia el disquete. Ej. D mcopy doc3tesis.txt a:
mdel : borra fic)eros del disquete. Ej. D mdel a:tesis.txt
mformat : formatea el disquete. Ej. D mformat a:
8tros comandos son : mattrib, mbadbloc5s, mdeltree, mdu, minfo, m5manifest, mlabel,
mmount, mmove, mread, mren, mtoolstest y mtype.
25 '( 35
GESTORES DE 6ARTICIONES<
En Linux el particionador estndar es el fdis5. Este posee una interfa0 texto que permite
crear, modificar y borrar particiones de diversos tipos Linux, :&E>?3>Q3S?, $E:,, minix,
Linux ,*ap, 7!:,, $ovell, etc'. :unciona en modo interactivo y para ejecutarlo se le pasa
como argumento el disco duro a particionar a trav@s del dispositivo correspondiente.
Ejemplo:
C fdis5 3dev3)da
(esde el prompt que muestra fdis5 es posible ejecutar comandos que permiten reali0ar
las distintas operaciones. &lgunos de estos comandos se listan a continuacin:
m : muestra la ayuda de todos los posibles comandos.
p : imprime la tabla de particiones del disco duro actual. ,u salida es similar a la del
siguiente ejemplo:
n : aHade una nueva particin. !ara ello se debe indicar si esta ser lgica o primaria, el
sector inicial se ofrece uno por defecto' y el sector final o el tamaHo total de la particin.
!or defecto las particiones se crean del tipo Linux.
d : permite borrar una particin.
l : lista todos los tipos de particiones reconocidas por fdis5. Los tipos se identifican
utili0ando n/meros )exadecimales.
t : permite cambiar el tipo de una particin.
* : actuali0a la tabla de particiones y termina. 7asta que no se ejecute este comando
los cambios reali0ados no tendrn valide0.
q : permite salir sin salvar los cambios reali0ados )asta el momento.
1n uso )abitual que )acemos del fdis5 es utili0arlo para listar todos los dispositivos de
almacenamiento del sistema, a fin de poder montarlos. Esto lo conseguimos con la opcin
Nl ele' y sin indicar ning/n dispositivo.
Existen otros programas particionadores en Linux, tanto pensados para ejecutarlos desde
terminal como para ser lan0ados desde el entorno grfico. &lgunos de los ms usados
son: cfdis5, parted, qtparted, gparted, etc. CREACIN DE PARTICIONES Y FICHEROS SWAP
%omo se explic anteriormente en Linux es usual crear una o varias particiones
especiales para intercambiar las 0onas de memoria almacenadas en la "&9. Este
proceso permite el mecanismo conocido como memoria virtual y es imprescindible para el
funcionamiento de los sistemas operativos modernos. Las particiones con ese propsito
son conocidas como particiones ,*ap y se pueden crear durante la instalacin del
sistema o posteriormente.
!ara crear una particin ,*ap despu@s de instalado Linux se deben seguir los siguientes
pasos:
>' %rear la particin usando alg/n particionador, por ejemplo fdis5.
?' 1tili0ar el comando m5s*ap para indicar que la particin se emplear para )acer ,*ap.
Ejemplo:
C m5s*ap 3dev3)daU
26 '( 35
S' 1tili0ar el comando s*apon para activar la particin, para desactivarla se puede
emplear s*apoff. Ejemplo:
C s*apon 3dev3)daU
C s*apoff 3dev3)daU
!ara )acer intercambio de memoria tambi@n se pueden utili0ar uno o varios fic)eros
como )ace .indo*s'. $o obstante esto no es lo ms recomendado salvo en el caso de
que no se disponga de espacio en disco sin particionar. !ara crear un fic)ero ,*ap de
QM92 nombrado s*apfile en el directorio ra0 se deben seguir los siguientes pasos:
>' %rear el fic)ero de QM92 lleno de caracteres nulos ejecutando el comando:
C dd ifP3dev30ero ofP3s*apfile bsP>=?M countPQTTS
?' #ndicar que el fic)ero se emplear como ,*ap ejecutando:
C m5s*ap 3s*apfile
S' %omen0ar a utili0ar el fic)ero para )acer ,*ap ejecutando:
C s*apon 3s*apfile
!ara que una particin o fic)ero ,*ap se active siempre que el sistema arranque, se debe
colocar la entrada correspondiente en el fic)ero 3etc3fstab. Ejemplos:
3dev3)daV s*ap s*ap defaults,priP> = =
3s*apfile s*ap s*ap defaults,priP? = =
La opcin priPAnB indica la prioridad con que se utili0a la particin o fic)ero para )acer
,*ap.
!ara que el 5ernel pueda balancear adecuadamente el uso de ms de una particin o
fic)ero ,*ap estos deben colocarse en discos distintos, con controladores distintos, y
asignarles la misma prioridad.
En el caso del ejemplo se le asigna una prioridad mayor a la particin que al fic)ero por
ra0ones obvias asumiendo que estn en el mismo disco duro'.
El comando s*apon permite adems mostrar un sumario de las particiones y fic)eros
,*ap activos, y su utili0acin actual, a trav@s de la opcin 6s. La opcin 6a activa todas las
particiones o fic)eros ,*ap con la opcin de montaje auto en 3etc3fstab.
7ANE>O DE 6AEUETES EN LINUX<
%omo ya se expres anteriormente una distribucin de Linux ofrece bsicamente un
conjunto de paquetes que contienen aplicaciones, utilidades, documentacin y el propio
5ernel del sistema.
Estos paquetes no son ms que fic)eros con cierto formato que, manipulados por un
comando u otra aplicacin son capaces de instalarse en el sistema de acuerdo a las
especificaciones que determin su fabricante. Entre las especificaciones puede citarse a
los fic)eros y directorios que crea el paquete, el tamaHo que ocupa una ve0 instalado, una
27 '( 35
descripcin breve y otra ms amplia de su utilidad, las dependencias que puede )aber
respecto a otros paquetes, etc.
&lgunos paquetes son dependientes de plataforma como es el caso del que contiene al
5ernel, otros por el contrario se pueden instalar en cualquier arquitectura como son los
que agrupan documentacin. 1sualmente los programas fuentes tambi@n se agrupan en
paquetes independientes de los compilados.
En Linux no se utili0a un /nico sistema de paquetes, sino que podemos encontrar varias
alternativas. 4eamos a)ora las ms usadas:
RPM
Existen varios tipos de formato para definir un paquete. "ed 7at introdujo la forma "!9
"ed7at !ac5age 9anager' la cual )a sido adoptada por otras distribuciones como ,u,E
y 9andra5e. En cambio (ebian y ,lac5*are )acen sus paquetes siguiendo otra t@cnica.
Los paquetes "!9 por lo general poseen extensin rpm. Estos pueden tener un grado
mayor o menor de compatibilidad con las distribuciones que emplean el mismo formato.
En "ed 7at la )erramienta por excelencia para administrar paquetes es el comando rpm
que posee muc)simas opciones. #nternamente rpm se basa en una base de datos con
informacin acerca de lo instalado, las dependencias existentes, etc. Esta base de datos
es actuali0ada transparentemente por rpm cuando se instala, actuali0a o desinstala un
paquete. Eambi@n puede ser consultada para conocer informacin diversa acerca de lo ya
instalado en el sistema.
(e forma general el comando rpm brinda las siguientes posibilidades:
#nstalar, actuali0ar y desinstalar paquetes
%onstruir y compilar paquetes
#niciali0ar y reconstruir la base de datos
7acer consultas sobre paquetes instalados o no
4erificar dependencias
&dicionar firmas y c)equearlas mecanismo que permite asegurar la valide0 e integridad
de un paquete'
& continuacin se listan las opciones que se emplean ms a menudo:
6i : permite instalar los paquetes. %omo argumento se colocan los nombres de los
fic)eros rpm a instalar. #nternamente el comando c)equea las dependencias funcionales,
y de ser posible, reordena los fic)eros rpm para que se satisfagan dic)as dependencias
durante la instalacin.
6e : permite desinstalar los paquetes. %omo argumento se indican los nombres de los
paquetes a desinstalar. El nombre de un paquete una ve0 instalado puede tener dos
formas: una breve y otra ms amplia que incluye el n/mero de la versin. &lgunos
paquetes permiten que se instalen simultneamente distintas versiones del mismo. Eal es
el caso del paquete que contiene al 5ernel cuyo nombre breve siempre es 5ernel, mientras
que pueden )aber varios nombres ampliados como 5ernel6?.M.?6? 5ernel6?.M.S6>?.
61 : permite actuali0ar los paquetes de versiones inferiores a superiores. &l igual que en
la instalacin, se colocan como argumentos los nombres de los fic)eros rpm que se
28 '( 35
desean actuali0ar. Eambi@n aqu el comando reali0a el ordenamiento ms adecuado para
satisfacer dependencias. (e no existir una versin inferior previamente instalada, el
proceso sera equivalente a una instalacin de la versin superior.
6: : es igual a la opcin anterior salvo en que )ace la actuali0acin slo si )ay una
versin inferior del paquete previamente instalada.
6q : permite )acer consultas diversas a los paquetes instalados. !ara ello se emplean
como argumento los nombres de los paquetes: de forma breve o no. El tipo de consulta se
expresa a trav@s de una segunda opcin. Las ms importantes son:
6a : lista los nombres incluyendo la versin' de todos los paquetes instalados en el
sistema.
6i : brinda informacin acerca de un paquete: nombre, versin, tamaHo, descripcin,
fabricante, fec)a de instalacin, licencia, clasificacin, etc.
6f : indica dado un fic)ero del file system, el nombre del paquete que lo cre.
6l : lista los nombres de todos los fic)eros que instal un paquete.
6p : permite )acer consultas a un paquete no instalado a partir del fic)ero rpm que lo
contiene. ,e puede combinar con las opciones anteriores 6i y 6l.
8tras opciones interesantes:
6v : activa el modo explicativo durante la instalacin o actuali0acin. ,i se indica dos
veces, o sea6vv entonces se imprime informacin detallada de todas las operaciones
efectuadas en la base de datos de "!9s durante el proceso.
6) : muestra )asta T= caracteres IICJJ que expresan el progreso del proceso de
instalacin o de actuali0acin. 1sualmente se combina con 6v.
6" :es una opcin de consulta que muestra las depencias que tiene un paquete.
6d: es una opcin de consulta que lista los fic)eros de documentacin que instala un
paquete.
6c)angelog : es una opcin de consulta que muestra los logs que expresan los cambios
efectuados en el paquete a partir de su versin anterior.
6scripts : es una opcin de consulta que muestra los scripts que se ejecutan al intalar y
desinstalar un paquete.
MANIPULACIN DE PAQUETES EN DEBIAN.
En el principio existan los .tar.g0. Los usuarios tenan que descomprimir, destarear y
compilar cada programa que quisieran usar en su sistema <$13Linux. %uando (ebian fue
creado, se decidi que el sistema incluyera un programa que se encargara de manejar los
paquetes programas' instalados en el ordenador. Este programa se llam D6FG. &s fue
como naci el primer OpaqueteO en el mundo <$13Linux, a/n antes de que "ed7at
decidiera crear su propio sistema de paquetes OrpmO.
"pidamente lleg un nuevo dilema a las mentes de los creadores de <$13Linux. Ellos
necesitaban un modo fcil, rpido y eficiente de instalar programas, que manejara
automticamente las dependencias programas que dependen de otros' y se )iciera cargo
de la configuracin mientras se actuali0an. $uevamente (ebian fue pionera y cre el A6T,
7erramienta &van0ada de Empaquetamiento &dvanced !ac5aging Eool'.
%omo parte de su funcionamiento, &!E utili0a un arc)ivo que contiene las direcciones de
varios servidores repositorios' que se encuentran en #nternet que contienen los paquetes
2 '( 35
candidatos a ser instalados. Eambi@n indicamos en este fic)ero si vamos a cargar
paquetes desde medios locales como un cdrom, un directorio compartido de la red, etc.
Este arc)ivo es 3etc3apt3sources.list. 4eamos el contenido de un arc)ivo sources.list:
%ada lnea en este fic)ero es un repositorio de soft*are, que almacena paquetes que
podemos descargar e instalar.
La primera palabra en cada lnea, deb o deb6src, indica el tipo del arc)ivo que se
almacena en el repositorio: ya sea que contenga paquetes binarios deb', esto es, los
paquetes pre6compilados que normalmente se usan, o los paquetes fuente deb6src', que
son los cdigos originales o fuentes.
& continuacin de esta palabra viene la direccin donde se encuentra el repositorio, que
puede ser bien una 1"L de red o un indicador como cdrom.
& continuacin, viene el nombre de la distribucin de Linux que queremos manejar con el
repositorio. $ormalmente un repositorio almacena paquetes para varias versiones de
Linux, as por ejemplo el fic)ero anterior indica al repositorio que queremos los paquetes
de la versin squee0e (ebian Q.='.
Eambi@n se indica el tipo de repositorio, que puede ser normal, de actuali0acin, de
seguridad, etc.
%ada lnea termina indicando el tipo de repositorio que queremos usar. 4emos que en el
ejemplo todos nuestros repositorios son main general'.
En debian normalmente se pueden indicar repositorios para stable, testing, unstable y
experimental, que son las distintas versiones de desarrollo ofrecidas por (ebian.
En 1buntu podemos indicar main, restricted, universe y multiverse, dependiendo de si nos
queremos bajar los paquetes oficiales y libres de 1buntu, los paquetes no enteramente
libres, paquetes no oficiales, etc.
,iempre que se modifica el arc)ivo sources.list, )ay que ejecutar el comando apt6get
3" '( 35
update. (ebe )acer esto para permitir a &!E obtener la lista de paquetes desde las
fuentes que especificamos.
,i queremos utili0ar el %(6"89 actual introducido para instalar los paquetes o para
actuali0ar el sistema con &!E, lo podemos agregar al arc)ivo sources.list. !ara )acerlo,
podemos utili0ar el programa apt6cdrom as:
C apt6cdrom add
,i tenemos en la unidad de cdrom un cd con paquetes debian, esta instruccin lo
montar, y buscar la informacin de los paquetes en el %(.
El sistema de paquetes utili0a una base de datos para llevar un control sobre los paquetes
instalados, los no instalados y cuales estn disponibles para su futura instalacin. El
programa apt6get utili0a esta base de datos para averiguar cmo instalar los paquetes que
son requeridos por el usuario y para indagar sobre que paquetes adicionales sern
requeridos para que el paquete seleccionado funcione correctamente. Esta base de datos
se actuali0a con la orden apt6get update.
INSTALAR PAQUETES
%on el arc)ivo sources.list listo y la lista de paquetes disponibles al da, todo lo que
necesitamos es ejecutar apt6get para tener el paquete que queramos instalar. !or
ejemplo, si ejecutamos:
C apt6get install dope*ars
&!E buscar en su base de datos para encontrar la versin ms reciente del paquete
dope*ars y lo descargar del servidor correspondiente especificado en sources.list. ,i
este paquete necesitara otro para funcionar &!E resolver las dependencias e instalar
los paquetes necesarios. 8bservemos este ejemplo:
%omo vemos )emos indicado que queremos instalar el paquete Sdc)ess, apt se )a
puesto en contacto con el repositorio indicado en sources.list, le )a pedido informacin
sobre dic)o paquete y )a encontrado que tiene una dependencia no resuelta, es decir,
que le )ace falta un paquete para funcionar que no tenemos instalado en nuestro sistema
en el caso del ejemplo, el que falta es el paquete xa*Sdg'.
4emos como apt automticamente marca dic)o paquete para instalarlo y nos pide
confirmacin. &!E se encargar de bajar ambos paquetes, descomprimirlos, instalarlos en
el sistema y configurarlos para que funcionen juntos.
31 '( 35
&!E slo pregunta por confirmacin cuando se van a instalar paquetes que no fueron
especificados en la lnea de comando.
Las siguientes opciones de apt6get podran ser /tiles:

) &yuda de la orden.
d ,olo descarga los paquetes, no instala nada en el sistema.
f %ontinua aunque )aya fallos de integridad en los fic)eros bajados.
y &sume ,# a todas las preguntas.
u 9uestra una lista de paquetes modificados.
!ueden seleccionarse varios paquetes para instalar en una sola lnea. Los arc)ivos
descargados son almacenados en el directorio 3var3cac)e3apt3arc)ives para su instalacin
posterior.
,i en lugar de un paquete queremos descargarnos el cdigo fuente del paquete podemos
)acerlo usando el comando apt6get source paquete.
REINSTALAR UN PAQUETE
,i queremos reinstalar un paquete, por qu@ se )aya estropeado, )ayamos tocado la
configuracin y ya no funcione, etc.' podemos usar la opcin Nreinstall:
Capt6get install paquete 66reinstall
ELIMINAR UN PAQUETE
,i ya no necesitamos utili0ar cierto paquete, podemos eliminarlo de nuestro sistema
utili0ando &!E. !ara reali0ar esta tarea slo debemos escribir:
Capt6get remove paquete
32 '( 35
ACTUALIZAR UN PAQUETE
Las actuali0aciones de los paquetes pueden reali0arse con tan slo un comando:
Capt6get upgrade.
!odemos utili0ar esta opcin para actuali0ar los paquetes de la distribucin actual, o bien
para actuali0ar a una nueva distribucin, aunque el comando apt6get dist6upgrade es una
mejor opcin.
Es muy /til utili0ar este comando con la opcin 6u. Esta opcin muestra la lista completa
de paquetes que &!E actuali0ar. ,in ella, se estara actuali0ando a ciegas. &!E
descargar las versiones ms recientes de cada paquete y las instalar de la manera ms
apropiada. Es muy importante ejecutar siempre apt6get update antes de probar esto.
BUSCAR UN PAQUETE
Existen algunas interfaces para el &!E que lo )acen ms fcil de utili0ar. !ero nuestro
objetivo aqu es aprender a manejar &!E puro. &s que, \cmo podramos saber el
nombre de un paquete que queremos instalar]
Eenemos numerosos recursos para reali0ar esa tarea. Empe0aremos con apt6cac)e. Este
programa es utili0ado por &!E para mantener su base de datos. $osotros slo veremos
un poco de sus aplicaciones. !or ejemplo, supongamos que queremos encontrar un
33 '( 35
emulador de la nintendo (,, y despu@s bajar algunos juegos. !odramos reali0arlo as:
4eremos que la orden nos devuelve una cantidad muy grande de paquetes relacionados
de alguna u otra manera con nintendo. !ara refinar nuestra b/squeda, podramos utili0ar
una orden como la siguiente:
!arece que )ay un paquete prometedor, el desmume. !ara ver informacin sobre dic)o
paquete usamos el comando apt6cac)e s)o*:
%omo vemos obtenemos muc)a informacin sobre el paquete, como la descripcin, el
tamaHo, las dependencias, etc. 1na ve0 comprobado que es el paquete que realmente
queremos, bastara con instalarlo con un apt6get install.
3) '( 35
MANEJO DE PAQUETES CON DPKG.
&parte de manejar paquetes con apt, tambi@n podemos manejarlos a bajo nivel con los
comandos dp5g. 4eamos algunos de ellos:
1n comando que se suele usar a menudo es dp5g6reconfigure. Este comando nos permite
reconfigurar un paquete completo del sistema. &lgunos usos de este comando )abituales
suelen ser:
35 '( 35

También podría gustarte