AS 2A (v. 120912) Pablo González Nalda
Lenguajes y Sistemas Informáticos
Actividad 3 Administración de Linux
El objetivo de esta actividad no es explicar exhaustivamente todos los detalles y posibilidades de con-
figuración de un linux, sino dar unas pistas de los comandos más usados en cada subsistema. A partir de
ayudas en línea, búsquedas en documentación y otra formas de aprendizaje se llega a dominar cada método
de configuración.
Hay tareas que se pueden hacer desde el entorno gráfico, o están automatizadas como el montaje de
dispositivos. Sin embargo, a veces no se dispone de esas ventajas por lo que es necesario saber realizarlas
desde la línea de comandos.
Para esta actividad se puede usar la Ubuntu Server de la actividad 2 o instalar una máquina virtual con
escritorio, más cómoda. Para ello hay que seguir los siguientes pasos:
1. Preparar una máquina virtual con un discos de por ejemplo 16 GB, pero que crezca dinámicamente
para no ocupar disco duro (vigilad que el ordenador no quede con los discos llenos). La memoria que
se le asigne a la máquina invitada (guest) debe ser de 512 MB para que no nos cree complicaciones.
Si es menos no irá fluida y si es más nos llenará la RAM del anfitrión (nuestro SO, el host).
2. Empezar a instalar Ubuntu Server o una versión de escritorio (Kubuntu). Hay que coger una ISO de
http://lsi.vc.ehu.es/Softwarea/linux/, la que se prefiera (12.04 o Precise). Las versiones de
64 bits (amd64) tienen sus dificulades, así que escogeremos de 32 bits (i386).
Si estamos usando VMware, ver linux-ubuntu-server-vmware.pdf. En el caso de estar usando
VirtualBox, hay indicaciones a partir de la página 31 del manual de usuario. También tenemos
la documentación original preparada por Sun y (copia local).
→ vi básico
El editor imprescindible en Unix es el vi (probaremos una versión algo más cómoda, el vim), que se
abre desde línea de comandos con vim fichero.txt.
Cuando arranca el editor, se está en modo comando y pulsando alguna de estas teclas se pasa al modo
edición: i, a, o, O (las mayúsculas importan). Pulsando la tecla ESCAPE se vuelve al modo comando. Mas
operaciones del vi en http://www.cs.fsu.edu/general/vimanual.html
1 x borrar carácter
dw delete word
dd borrar línea
4
:wq grabar saliendo
:q! salir sin grabar
7 :w grabar
/ buscar adelante
10 ? buscar atrás
v empezar selección
13 d cortar
y copiar
p pegar
16 1,$ s/old/new/g ----> desde 1 al final sustituir "old" por "new" globalmente
→ bash básico
Abrir una línea de comandos e investigar las instrucciones siguientes para saber qué hacen. Si estamos
en Ubuntu Server, deberemos introducir el nombre y contraseña que hemos puesto en la instalación. Cuando
en la instrucción pone “pablo” hay que poner el nombre de usuario de la instalación.
Apúntalo y discute con los colegas de clase para comprobar si es correcto. Si no se consigue, se busca
en el libro de las prácticas (Ed. Apress, “Beginning Ubuntu LTS Server Administration From Novice to
Professional”, 2nd Ed. septiembre de 2008), en la Red y se pregunta en el moodle y si veo que no se acierta
en el moodle, diré de qué se trata.
man
2 man ls
LANG=us
man ls
5 sudo su
exit
sudo passwd pablo
8 sudo passwd root
alias
df -h
11 env
echo hola
echo $PATH
14 echo PATH
ls -l /bin/cp
ls -l /bin/c*
17 whereis cp
which cp
cat .bashrc
20 cat /bin/cp
cp --help
cp -h
23 history
26 mkdir temporal ; cd temporal/
!7
!!
cd /home
cd -
29 cd ..
rmdir temporal/
alias ll=’ls -al’
32 ls -al
ls -al [bf]*
ls -al .[bf]*
35 cp /tmp/ficherotemporal .
ls -l /tmp/ficherotemporal
sudo cp /tmp/ficherotemporal .
38 head .bashrc
head -2 .bashrc
tail -2 .bashrc
41 less .bashrc
more .bashrc
less --help
44 sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude show libgtk2.0-0
47 sudo aptitude show w3m
uname -a
3
cd /etc/
50 cat debian_version
cat /etc/lsb-release
w3m
53 java -version
konqueror
sudo aptitude install xeyes
56 xeyes
sudo cat /etc/sudoers
pwd
59 ls -ali
alias ll=’ls -ali’
ll
62 cat .bashrc
bash
alias
65 la -A
history
history > comandosclase
68 ls .[bp]*
ls -a
ls .b*
71 ls .p*
ls .[b-p]*
ls .[b-l]*
74 ls .[!b-l]*
ls -d .[!b-l]*
mv copia /tmp
77 cd /tmp
ll
ls
80 ls -l co*
mv copia kopia
ls -l
83 touch comandosclase
ls -l
touch dfgj
86 ls -l
rm dfgj
date
89 date --help
date %N
date %N’
92 date --help
date +’%N’
date +’%h%m%s%N’
95 date +’%h %m %s %N’
ls --help
ls -i
98 ls --inode
ls --inode --all
ls -ai
101 cat /proc/cpuinfo
cat /etc/passwd
ls -l / > nuevo
104 grep
cat .bashrc |grep shell
grep .bashrc shell
4
107 grep shell .bashrc
grep alias .bashrc
grep ^alias .bashrc
110 grep alias$ .bashrc
grep aliases$ .bashrc
grep aliases .bashrc
113 grep ll .bashrc
grep \<ll .bashrc
grep \<ll’ .bashrc
116 grep \<ll\>’ .bashrc
grep \<# some more ls aliases\>’ .bashrc
sudo netstat -tulpen |grep 22
119 sudo netstat -tulpen |grep 80
ps aux |grep apache
vi nuevo (y pulsar CTRL-Z)
122 ps ux
ps u
fg
125 (pulsar CTRL-Z)
kill -TERM 22202
ps ux
128 man kill
kill 22202
ps ux
131 kill -KILL 22202
ps ux
vi nuevo
134 bg
apropos web
find / -user pablo
137 find / -user pablo > soyyo 2> errores &
less soyyo
less errores
140 find / -user pablo 2> errores -exec grep {} pablo \;
find / -user pablo >soyyo 2> errores -exec ls -al {} \; &
→ Uso de apt y tarballs básico
Gestión de paquetes con apt, aptitude y dpkg:
sudo su
less /etc/apt/sources.list
3 sed ’s/es.archive.ubuntu.com/ehux.ehu.es/’ sources.list > sources.list.ehux
cp sources.list.ehux sources.list
export http_proxy=http://158.227.232.48:3128
6 # export http_proxy=http://usuario:contraseñ
[email protected]:puerto_proxy
aptitude update; aptitude safe-upgrade; aptitude clean
apt-get upgrade
9 aptitude remove samba # remove purge search show
apt-cache search samba # search show
dpkg -l
12 dpkg -i paqueteprograma.deb
aptitude install kubuntu-desktop
exit
Instalación de un paquete con compilación típica:
5
1 sudo aptitude install build-essential gcc
tar -xzvf fuente.tar.gz
tar -xjvf fuente.tar.bz2
4 ./configure
make
sudo make install
Para más detalles sobre la compilación de nmap ver http://nmap.org/book/inst-source.html
→ Configuración básica de redes en el SO
Configuración de red con línea de comandos:
cat /etc/network/interfaces
ifconfig eth0
3 sudo dhclient eth0
sudo ifup eth0
sudo /etc/init.d/networking restart
6 ssh -X
[email protected]
scp
[email protected]:Escritorio/fichero.pdf .
Esquema de IP fija con /proc/net/protocols en http://www.sourceguru.net/tag/eth0/
auto lo
2 iface lo inet loopback
auto eth0
iface eth0 inet static
address <IP Address>
netmask <Network Mask>
gateway <Default Gateway>
5
→ Gestión de dispositivos y montaje
sudo mount -t ext3 /dev/sdb1 /home
2 sudo mount -t ntfs /dev/sdc1 /WindowsXP
mount -t cifs -o username=pablo //ord/compartido puntodemontaje
cat /etc/fstab
5 cat /etc/mtab
sudo umount /home
sudo umount /dev/sdc1
8 fuser -m /media/cdrom
lsof |grep cdrom
mount /XP #si está en fstab
11
tune2fs -L datos /dev/sdd4
e2label /dev/hda3 cosas
14 blkid
swapoff -a
mkswap -L swap /dev/sdb3
17 swapon -a
swapon -s
ls /dev/disk/by-label -lah
Extracto de un fichero /etc/fstab
6
# Fichero /etc/fstab
2 UUID=44B03F18B03F1042 /XP
ntfs defaults,umask=007,gid=46 0 1
UUID=68a7253a-382b-4704-b3a2-5357c1b0fcaf /c1 ext3 relatime 0 2
LABEL=c2 /c2
0
ext4
relatime
2
5 /dev/sdb3 none swap sw 0 0
sshfs#
[email protected]:/var/www /www55 fuse defaults,idmap=user 0 0
→ dd, bloques swap en fichero y superbloque
dd
dd if=/dev/cdrom of=/home/disco.iso
3 sudo mount -o loop /home/disco.iso /puntodemontaje
dd if=/dev/sda1 of=/dev/sdb2
dd if=/dev/sdc of=/dev/sdd
6 fsck.ext3 /dev/sda1
fsck.vfat /dev/fd0
dd if=/dev/sda of=/boot/copiaMBR bs=512 count=1 #Tam. de bloque (blocksize) 512B
9 dd if=/boot/copiaMBR of=/dev/sda bs=446 count=1 # No sobreescribe la tabla de
particiones entre 447 y 511
dd if=/dev/zero of=/fichero-swapMemVirtual bs=1024 count =1000000
mkswap /ficheroswapMemVirtual
12 swapon /ficheroswapMemVirtual
#Si falla el superbloque, probamos el de reserva
mount -o sb=131072 /dev/sda4 /puntodemontaje
15 umount /puntodemontaje
dd if=/dev/sda4 of=/dev/sda4 bs=1024 skip=131072 count=1 seek=1
→ tar y copias de seguridad (backups)
tar -cvf copia.tar /directorio
2 tar -czvf copia.tar.gz /directorio
tar -xzvf copia.tar.gz [C /destino]
# Copias de seguridad (\textit{backups}) incrementales
5 tar -czvg /copias/fich_snapshot -f /copias/copia_total.tgz /home/pablo
tar -czvg /copias/fich_snapshot -f /copias/increm_lunes.tgz /home/pablo
tar -xzvf /copias/copia_total.tgz
8 tar -zxvf /copias/incremental_lunes.tgz
→ inodos
Ver el número de inodo:
1 ls -il
stat fichero.pdf
Crear enlaces simbólicos (como accesos directos de windows):
1 ln -s fichero.pdf enlace_simbólico
Crear enlaces duros o hard:
ln fichero.pdf enlace_duro
2 ls -il
Observar el número de enlaces que le llegan al fichero en diferentes :
1 stat fichero.pdf
rm enlace_simbólico
stat fichero.pdf
7
4 rm enlace_duro
stat fichero.pdf
Información detallada sobre un sistema de ficheros:
1 sudo fdisk -l
sudo debugfs /dev/sda1
debugfs: stat <núm_de_inodo>
4 debugfs: quit
→ Discos RAID desde línea de comandos
Pasos para montar un RAID:
1. Instalar discos físicamente
2. Crear particiones en los discos
3. Declarar el RAID con mdadm
4. Formatear el nuevo dispositivo
5. Montarlo en el directorio en el que se va a usar
Paso a paso (cambiar según el sistema, las pruebas mejor en una máquina virtual):
1. Convertirnos en root: sudo su
2. Lista de discos de todo el sistema: fdisk -l
3. Lista de las particiones de un disco: fdisk -l /dev/sda
4. Idioma de la línea de comandos es inglés, para evitar un problema con cfdisk: LANG=us
5. Crear o modificar particiones del disco sda: cfdisk /dev/sda
6. Entorno gráfico de gestión de discos y particiones (como el Partition Magic): qtparted
7. Crear un RAID de nombre md0 de tipo RAID0 con dos particiones:
mdadm --create /dev/
Comentarios de: Actividad 3 Administración de Linux (0)
No hay comentarios