Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2. Cual es la diferencia que existe entre el software libre y el software open source.
10. Además de los comandos básicos explicados, elabore una lista con mínimo 5
comandos utilizados en Linux, su sintaxis y ejemplos de uso.
TALLER DE GNU/LINUX Y EL SOFTWARE LIBRE
Pues bien, hay una solución para estos problemas planteados anteriormente
¿Cuál es? El ``Software Libre'' es un asunto de libertad. Para entender el
concepto, debemos pensar en ``libre'' como en ``libertad de expresión''. ``Software
Libre'' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir,
estudiar, cambiar y mejorar el software.
Un programa es software libre cuando nosotros tenemos la libertad de distribuir
copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la
distribución. El ser libre hace que no tengamos que pedir o pagar permisos para
obtenerlos o negociar con ellos. También todos tenemos la autonomía de hacer
modificaciones y utilizarlas de manera privada y ni siquiera tenemos que anunciar
que dichas modificaciones sean realizadas. Unas de las cosa más importantes es
que cuando hagamos públicos los cambios, no tenemos que avisar a nadie en
particular. La libertad para usar un programa significa la libertad para cualquier
persona u organización de usarlo en cualquier tipo de sistema informático, para
cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador
o a alguna otra entidad específica.
"La Fundación para el Software Libre (FSF) está dedicada a eliminar las
restricciones sobre la copia, redistribución, entendimiento, y modificación de
programas de computadoras. Con este objeto, promociona el desarrollo y uso del
software libre en todas las áreas de la computación, pero muy particularmente,
ayudando a desarrollar el sistema operativo GNU."[1]
El Proyecto GNU
Una de las principales funciones de la FSF es dar cobertura legal, económica y
logística al Proyecto GNU.
Alojamiento de proyectos
La FSF aloja proyectos de software libre en su sitio web Savannah. Ofrece una
de interfaz web para el hosting y el mantenimiento de las páginas web de los
proyectos, seguimiento de errores, CVS, FTP, y listas de correo. Hospeda más de
2.800 proyectos.
Formación legal
La FSF organiza seminarios sobre los aspectos legales a tener en cuenta
cuando se usa la licencia GPL.
Free Software Directory
Es un directorio con más de 5.000 programas que se ha comprobado que son
software libre. La UNESCO ayuda en la financiación de este proyecto.
Premios y reconocimientos
FSF Award for the Advancement of Free Software
Libertad(o): Esta libertad estipula que podemos utilizar el software para cualquier actividad
que necesitemos desarrollar siempre y cuando no este causando daño de cualquier tipo.
Libertad(1): Esta denota que podemos analizar el software, para poderlo mejorar o amoldar
a lo que necesitemos y que este código fuente se abierto al publico.
Libertad(2): Mediante esta podemos hacerle las copias y distribuirlo a otras personas que
no lo posean .
Libertad(3): Podemos hacerle mejoras a este software y podemos hacerlas publicas cuando
queramos .
FEDORA
Esta es una distribucion patrocinada por RedHat y soportada por la
comunidad. Facil de instalar y buena calidad.
DEBIAN
Otra distribucion con muy buena calidad. El proceso de instalacion es quizas
un poco mas complicado, pero sin mayores problemas. Gran estabilidad
antes que ultimos avances.
OpenSuSE
Otra de las grandes. Facil de instalar. Version libre de la distribucion
comercial SuSE.
GENTOO
Esta distribucion es una de las unicas que han incorporado un concepto
totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis
compilar/optimizar vuestro sistema completamente desde cero. No es
recomendable adentrarse en esta distribucion sin una buena conexion a
internet, un ordenador medianamente potente (si quereis terminar de
compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.
UBUNTU
Distribucion basada en Debian, con lo que esto conlleva y centrada en el
usuario final y facilidad de uso. Muy popular y con mucho soporte en la
comunidad. El entorno de escritorio por defecto es GNOME.
KUBUNTU
Distribucion basada en Ubuntu, con lo que esto conlleva y centrada en el
usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el
entorno de escritorio por defecto es KDE.
MANDRIVA
Esta distribucion fue creada en 1998 con el objetivo de acercar el uso de
Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad
de uso para todos los usuarios.
Ejemplo:
drwxr-xr-x 2 luis codigo 1024 Oct 26 15:18 .pgp/
drwxr-xr-x 2 luis codigo 1024 Oct 26 17:11 programacion/
Ejemplo;
crw-r-xr-x 1 luis codigo 0 Nov 2 06:29 caractest
brwxr-xr-x luis codigo 0 Oct 2 08:14 blocktest
addgroup
Se utiliza para crear un grupo nuevo.
Sintaxis: addgroup nom_grupo
adduser
Se utiliza para añadir un usuario. En ese momento, no solo se creará la
cuenta del usuario sino también su directorio de trabajo, un nuevo
grupo de trabajo que se llamará igual que el usuario y añadirá una
serie de ficheros de configuración al directorio de trabajo del
nuevo usuario.
Sintaxis: adduser nom_usuario [nom_grupo]
alias
En ciertas ocasiones se suelen utilizar comandos que son difíciles de
recordar o que son demasiado extensos, pero en UNIX existe la
posibilidad de dar un nombre alternativo a un comando con el fin de
que cada vez que se quiera ejecutar, sólo se use el nombre
alternativo.
Sintaxis: alias nom_alias=’comando’
apt-get dist-upgrade
Función adicional de la opción anterior que modifica las dependencias por
la de las nuevas versiones de los paquetes.
apt-get update
Actualiza la lista de paquetes disponibles para instalar.
apt-get upgrade
Instala las nuevas versiones de los diferentes paquetes disponibles.
at
Realiza un tarea programada una sola vez.
Sintaxis: at [-lr] hora [fecha].
11.
Por ejemplo:
chmod -R 0644 *
Esto da permisos a todos los archivos y directorios del directorio donde se invoca el
comando y de todos los directorios que cuelgan de él. Los permisos asignados son de
lectura a todos los usuarios, de escritura sólo al dueño del archivo y de ejecución a
nadie.
12
kill
Hay veces en las que un programa colapsa y se produce un error, esto implica que el
programa afectado deje de funcionar o afecte el correcto funcionamiento del sistema,
ademas este es muchas aveces necesario para realizar una labor. Es por esto que nosotros
tenemos a nuestra disposición la opción de matar o reiniciar un proceso gracias al comando
kill. Este pequeño gran programa sencillamente se encarga de matar un proceso o de
reiniciarlo si esque hemos efectuado algunos cambios en el sistema o en el programa en sí.
La señal por default usada por el comando kill es TERM ( de terminar). La forma de
especificarlas junto al comando kill son tres: -9 , -SIGKILL y -KILL, esto en el caso claro
está de si deceamos matar un procesos. Por ejemplo, para matar un proceso nosotros
necesitamos saber su PID ( que es el número que lo identifica entre todos los procesos que
se ejecutan en el sistema y que además es único ) lo que se logra gracias al comando ps
como se explicaba anteriormente o de algún otro comando alternativo como top. Su
poniendo que vamos a matar el proceso vim que tiene el PID 345 el resto es simplemente
teclear esto:
$ kill -9 345
o
$ kill -KILL 345
o
$ kill -SIGKILL 345
Cualquiera de estas formas es válida para matar el proceso 345. Obviamente nosotros
debemos ser dueños del procesos que estamos matando o reiniciando, ya si cualquier
usuario pudiera matar o reiniciar el proceso que se le antoje significaría un gran error de
seguridad, pero claro está que root puede matar el procesos que decee sea suyo o no.
Nos encontramos con que también existe la posibilidad de matar un proceso usando su
nombre como referencia. Para esto usamos el comando killal(1) que mata procesos a partir
del nombre. Por ejemplo, si deceamos matar todos los procesos ejecutados por el comando
vim tecleamos :
$ killall vim
Ahora todos los procesos que fueron ejecutado a partir de vim se encuentran muertos. Esto
claro está si lo ubieramos hecho como un usuario normal, pero si los hace root lo que
ocurre es que, todos los procesos vim en el sistema son matados, sin diferenciar usuarios.
$ kill -9 <PID>
Para conseguir un listado de todos los tipos de señales disponibles para el comando kill
debemos teclear:
# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 32) SIGRTMIN 33) SIGRTMIN+1
34) SIGRTMIN+2 35) SIGRTMIN+3 36) SIGRTMIN+4 37) SIGRTMIN+5
38) SIGRTMIN+6 39) SIGRTMIN+7 40) SIGRTMIN+8 41) SIGRTMIN+9
42) SIGRTMIN+10 43) SIGRTMIN+11 44) SIGRTMIN+12 45) SIGRTMIN+13
46) SIGRTMIN+14 47) SIGRTMIN+15 48) SIGRTMAX-15 49) SIGRTMAX-14
50) SIGRTMAX-13 51) SIGRTMAX-12 52) SIGRTMAX-11 53) SIGRTMAX-10
54) SIGRTMAX-9 55) SIGRTMAX-8 56) SIGRTMAX-7 57) SIGRTMAX-6
58) SIGRTMAX-5 59) SIGRTMAX-4 60) SIGRTMAX-3 61) SIGRTMAX-2
62) SIGRTMAX-1 63) SIGRTMAX
El número de la señal lo podemos usar con el comando kill, pero con el comando killall es
diferente, este lo debemos usar con el nombre de la señal menos el prefijo "SIG". Por
ejemplo:
$ killall -KILL xmms
Por último, pero no por eso menos importante podemos reiniciar un procesos gracias a la
señal "1) SIGHUP". Esta simplemente lo que hace es tomar la configuración del programa
en cuestión y a partir de ahí ejecutarlo. Por ejemplo, en el caso de inetd(8), si realizamos
cambios en la configuración de /etc/inet.conf debemos reiniciar le procesos de inetd para
que los cambios sea aplicados en el sistema, suponeindo que el PID de inetd sea 486 el
comando sería.