Actividad 2
Preguntas de la actividad
Cómo uso algún comando o programa? Como accedo a la ayuda?
Qué es un sistema de archivos?
Cómo crear, borrar, mover, archivos y directorios?
Cómo acceso mi llave USB?
Qué es una red de computadoras? Internet?
Bueno, cómo es que se configura la red? Qué es una red de computadoras?
Quiero tener mi propia página web! Cómo? Y si lo quiero en mi casa y quiero que sea accesible al público?
Cómo me comunico con otra computadora? Cómo acceso otra computadora?
Y si mi hermano quiere usar mi compu, le doy mi clave de usuario o puedo hacer algo más? Y que tal si queremos compartir algunos archivos (suid)?
Cómo copio archivos a (desde) otra computadora? (sshfs, scp, rsync)
Cómo dejo funcionando una aplicación en una consola aunque cierre la consola y la sesión?
Temas tentativos a cubrir
Man
Apache
Simple network administration (/etc/network/interfaces)
Working with the terminal (filesystem cmds)
Simple system administration (adduser, addgroup)
Remote access (ssh, vnc)
Environment (PATH)
File Systems
Explicaciones
Para que sirven los archivos .xsession .bashrc .bash_history ?
Por que algunas archivos tienen un . al inicio?
Archivos de configuración locales (puntos) y globales (etc)
Al final configurar el sonido, agregarse a plugdev y otros grupos y montar llaves USB.
Explicar /dev /dev/ttyS0 /dev/sda /dev/sda1 /dev/input/event0 /dev/ttyACM0 /dev/ttyUSB0 . En unix todo es un archivo.
Dibujar un árbol en xournal
Variables de entorno ${HOME} ${DISPLAY}
No deje pasar los errores!! En linux típicamente si el comando no devuelve nada a la consola significa que todo estuvo bien, pero si hubo algún mensaje, siempre hay que revisarlo detenidamente para estar seguro que no es un error o para entender el error y corregir el problema inmediantemente. Un ERROR ignorado solo se ACUMULA! no lo deje.
Que es source y destination (o target)? (para cp mv)
comando argumentos: ej: cp test/prueba6 test/2
Explicar al final:
stdin, stdout, stderr
|
>
>>
2>&1
$?
Instrucciones
pwd cd ls mkdir touch mv rm cp adduser su id chmod chown addgroup mount umount cat echo grep
Conteste y anote que hace cada uno de estos comandos. (recuerde el comando man) (google también ayuda)
Para el resto de la actividad trate de ejecutar el comando ls después de cada comando para saber que está pasando (que archivos hay en el directorio actual? esto puede ayudar a identificar en que directorio se encuentra)
Creando, listando y desplazándonos
mkdir test
mkdir test/1
mkdir test/2
mkdir test2
mkdir test2/2
touch test/prueba1
touch test/1/prueba2
touch test/2/prueba3
touch test2/prueba4
touch test2/2/prueba5
Dibuje un árbol (o raíz) de estos directorios, subdirectorios y archivos. (Cada bifurcación o nodo es un directorio/subdirectorio y cada hoja (o fin de raiz) es un archivo. Suponga que el inicio de la raíz o del tallo del árbol es /home/<nombre de usuario> (Cuestionario pregunta 1)
En que directorio me encuentro? (pwd)
Cuál es mi directorio home?
Cómo me cambio a mi directorio home? :
cd
o
cd ~
o
cd /home/<nombre_de_usuario>
cd test2/2 #método 1
o
cd
cd test2 #método 2
cd 2
o
cd /home/<nombre de usuario>/test2/2 #método 3
o
cd ~/test2/2 #método 4
Que diferencia existe entre estos?
Después de usar el método 4 puede usted usar el método 1 para cambiar al directorio test/2 ?
Explique que hacen los comandos:
cd ..
cd .
cd ~
cd -
Concluya que significa .., ., ~, - (cuidado con el -, no siempre significa lo mismo)
Desde el directorio actual (y sin usar el comando cd) cree un archivo en el directorio ~/test llamado prueba6
Liste el contenido del directorio test/1 de dos formas
Liste los archivos del directorio /usr/bin por orden de modificación, los más nuevos primero.
Copiando, moviendo, eliminando
Copie el archivo prueba6 al directorio ~/test/2 (use cp, lea el manual para entender la sintaxis)
Siempre liste el directorio fuente y el directorio destino para saber que el resultado fue el deseado (siga haciendo esto en TODOS los siguientes pasos)
Mueva el archivo prueba6 de vuelta al directorio donde se encontraba originalmente
Cambie de directorio a su home y desde ahí (sin cambiar de directorio), borre el archivo prueba1 . (tiene que buscar donde se encuentra el archivo prueba1)
Realice los siguientes comandos:
cd
mv test2 test
Agregando usuarios
sudo adduser usuario2
ls /home
su usuario2
cd
mkdir prueba_usuario2
Esto es una prueba, esta línea fue escrita por el usuario2
exit
Esto intenta escribir el primer usuario!
Aplique el comando para guardar los cambios (Ctrl-X). Qué pasa?
liste los permisos del archivo /home/<nombre usuario2>/prueba_usuario2/test.txt (ls -al). Qué hace -a y que hace -l?
Cambie los permisos del archivo test.txt para que su usuario original si pueda editar el archivo. (ponga atención a las explicaciones del profesor)
Cambie los permisos del directorio prueba_usuario2 del usuario2 para que el usuario1 pueda crear archivos adentro.
1) Conviértase en usuario2 y cree un nuevo archivo test2.txt dentro del directorio prueba_usuario2.
2) Intente editar desde el usuario1 este archivo. Qué pasa?
Borre test2.txt
Que hace el comando su sin nombre de usuario como argumento?
Montando un sistema de archivos
Montando la llave usb
dmesg
[292262.708182] usb 3-1.1.4.4: new high-speed USB device number 11 using ehci_hcd
[292262.817993] usb 3-1.1.4.4: New USB device found, idVendor=1307, idProduct=0165
[292262.817999] usb 3-1.1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[292262.818002] usb 3-1.1.4.4: Product: USB Mass Storage Device
[292262.818005] usb 3-1.1.4.4: Manufacturer: USBest Technology
[292262.818007] usb 3-1.1.4.4: SerialNumber: 00000000000021
[292262.818349] scsi7 : usb-storage 3-1.1.4.4:1.0
[292263.816610] scsi 7:0:0:0: Direct-Access USB2.0 FlashDisk 0.00 PQ: 0 ANSI: 2
[292263.817064] sd 7:0:0:0: Attached scsi generic sg3 type 0
[292263.818723] sd 7:0:0:0: [sdd] 16099400 512-byte logical blocks: (8.24 GB/7.67 GiB)
[292263.819373] sd 7:0:0:0: [sdd] Write Protect is off
[292263.819377] sd 7:0:0:0: [sdd] Mode Sense: 00 00 00 00
[292263.820566] sd 7:0:0:0: [sdd] Asking for cache data failed
[292263.820568] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[292263.824721] sd 7:0:0:0: [sdd] Asking for cache data failed
[292263.824724] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[292263.959860] sdd: sdd1
[292264.106319] sd 7:0:0:0: [sdd] Asking for cache data failed
[292264.106322] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[292264.106324] sd 7:0:0:0: [sdd] Attached SCSI removable disk
[292262.818005] usb 3-1.1.4.4: Manufacturer: USBest Technology
[292263.959860] sdd: sdd1
La primera línea les ayudará a reconocer esta memoria USB de otra posible memoria USB (o el disco duro interno de la computadora).
La segunda línea les indica las particiones disponibles en esta memoria: sdd es el nombre del disco duro , sdd1 es la primera partición.
Algunas memorias USB no tienen tabla de partición, por lo tanto lo único que verán será: sdd (sin particiones)
Cada partición es posible que contenga un sistema de archivos y por lo tanto ustedes si así lo desean, pueden montarlo.
Para montar la memoria USB en la computadora:
sudo mount /dev/sdd1 /mnt
Ahora los archivos están disponibles en el directorio /mnt. Sin embargo, solo están disponibles para el superusuario. Para que los archivos estén disponibles para otros usuarios del sistema, usted primero debe agregar su usuario al grupo floppy:
sudo adduser <nombre de su usuario> floppy
Luego debe salir de su sesión gráfica y volver a ingresar
Luego puede utiliar el siguiente comando para montar la memoria USB con permisos para los usuarios normales (que sean parte del grupo floppy)
Primero desmontemos el anterior intento:
sudo umount /mnt
sudo mount -t vfat -o gid=floppy,dmask=0007,fmask=0117 /dev/sdd1 /mnt
sudo umount /mnt
Ahora ya puede retirar la memoria USB.
Usted puede automatizar esta funcionalidad instalando un paquete llamado usbmount y editando el archivo /etc/usbmount/usbmount.conf buscando las siguientes líneas y asegurándose de que aparezcan así:
ENABLED=1
FILESYSTEMS="exfat vfat ext2 ext3 ext4 hfsplus"
FS_MOUNTOPTIONS="-fstype=vfat,gid=floppy,dmask=0007,fmask=0117"
sudo /etc/init.d/udev restart
Inserte la memoria USB y el sistema debería detectarla automáticamente y montarla en los directorios /media/usbX
Si su tarjeta no posee particiones, puede que esto no funcione correctamente.
Montando un sistema de archivos por red
Instale los paquetes sshfs, ssh, openssh-server.
Pídale a un compañero el IP de su computadora y la clave del usuario2 (o cree un nuevo usuario)
Cree un punto de montaje local:
cd ~
mkdir compu_remota
sshfs <usuario2_remoto>@ip:/home/<usuario2_remoto> compu_remota
Introduzca la clave del usuario remoto.
Ahora los archivos del usuario remoto están disponibles en el directorio compu_remota . Pruebe creando los archivos en la computadora remota y viéndolos en su computadora y viceversa.
Accesando una computadora remota
ssh <usuario_remoto>@<ip_compu_remota>
Ingrese la clave del usuario_remoto y listo, ahora usted se encuentra en la computadora de su compañero.
Dígale a su compañero que ingrese a una consola de texto (Ctrl-Alt-F1) y se logee como usuario y espere un momento.
Pruebe el siguiente comando:
echo "Estoy en tu compu" | wall
sudo xhost +
export DISPLAY=:0.0
xmessage "Estoy en tu compu más!"
HTML
<html><body><h1>Prueba!</h1>
<p>Esto es una prueba. </p>
<p>The web server software is running but no content has been addes yet.</p>
</body></html>
Materiales
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.6-rc2.tar.bz2
Evaluación