Linux
Contents
- 1 Las distribuciones de Linux más usadas
- 2 Cursos de Linux online
- 3 Instalación de Ubuntu
- 3.1 Creating a bootable USB flash drive
- 3.2 Proceso de instalación
- 3.2.1 Creación y elección de la partición donde será instalado el SO
- 3.2.2 La partición swap
- 3.2.3 Utilidad de la partición boot
- 3.2.4 Utilidad de la partición home
- 3.2.5 Partición para los datos
- 3.2.6 Ahora, ¿Es apropiado tener todos los datos que usaré en Linux en una partición NTFS?
- 3.2.7 Esquemas de particionamiento
- 4 Cosas que hacer después de instalar Ubuntu 15.10
- 5 Comandos Linux
- 5.1 ls
- 5.2 Listar archivos con su ruta absoluta
- 5.3 Listar archivos modificados antes, después, o en una cierta fecha
- 5.4 Contar archivos en un directorio
- 5.5 du
- 5.6 chown
- 5.7 chmod
- 5.8 Mostrar barra de progreso al Copiar, mover y borrar archivos
- 5.9 Hard and symbolic (soft) links
- 5.10 Buscar una cadena de caracteres archivos recursivamente - Convinación de find y grep
- 5.11 Alias
- 5.12 Para saber las características del hardware y del SO
- 5.12.1 Caracteristicas del harware (marcas/fabricantes, modelos, etc)
- 5.12.2 Desplegar el SO instalado (detallando la versión)
- 5.12.3 Para saber si el SO instalado es 32 o 64bit
- 5.12.4 Para ver las particiones y dispositivos montados
- 5.12.5 Para saber la memoria RAM y Swap (total y en uso)
- 5.12.6 Información del procesador del sistema: núcleos, velocidad, fabricante, arquitectura, 32 o 64bit
- 5.13 Formatear una unidad Flash USB
- 5.14 Screenshot Tool in Ubuntu
- 5.15 Programas para realizar respaldos (Backup)
- 5.16 Nautilus
- 6 Three ways to hide Files and Directories in Linux
- 7 Cambiar la ruta del escritorio, Download, Documents, etc - How to set $HOME/Desktop
- 8 La papelera - Trash
- 9 Instalar emulador de Android en Ubuntu / ejecutar aplicaciones de Android en Ubuntu
- 10 Importar música a un Ipod
- 11 Mis configuraciones
1 Las distribuciones de Linux más usadas
http://www.howtogeek.com/191207/10-of-the-most-popular-linux-distributions-compared/
2 Cursos de Linux online
Creo que esta guía para RedHad está bastante buena: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/
Red Hat Enterprise Linux 7 System Administrator's Guide: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/System_Administrators_Guide/Red_Hat_Enterprise_Linux-7-System_Administrators_Guide-en-US.pdf
The Linux System Administrator's Guide: http://www.tldp.org/LDP/sag/html/index.html
13 Linux Network Configuration and Troubleshooting Commands: http://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/
Linux Internet Web Server and Domain Configuration Tutorial: http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html
http://brajeshwar.com/2008/top-free-linux-online-courses/
https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-0
http://study.com/articles/10_Sites_Offering_Free_Linux_Courses_Online.html
3 Instalación de Ubuntu
3.1 Creating a bootable USB flash drive
3.1.1 Creating a bootable Ubuntu USB flash drive from Ubuntu a través de usb-creator
Me ha generado muchos problemas últimamente. Recomiendo usar el método por terminal a través del comando pp; método que además parece funcionar en otras distribuciones.
https://help.ubuntu.com/community/Installation/FromUSBStick
Startup Disk Creator alias usb-creator viene instalado por defecto. Para iniciarlo desde el terminal:
usb-creator-gtk usb-creator-kde
Luego:
- Insert and mount the USB drive.
- Start usb-creator.
El sistema de archivos del USB drive debe ser FAT o creo que también EXT. No puede ser ntfs. Si el pendrive está en ntfs u otro filesystem inadecuado, el programa usb-creator dirá que no hay suficiente espacio en el dispositivo. Podemos en este caso utilizar la opción «Erase Disk» que formatea el dispositivo en FAT32. Luego de esto el dispositivo debería de estar disponible y habilitada la opción «Make Startup Disk» que permite iniciar la creación del bootable USB. También podemos formatear el dispositivo en FAT32 antes de iniciar el programa usb-creator. Formatear una unidad Flash USB
Cuando intenté crear el USB bootable en Ubuntu 14.04, el programa daba un error al final del proceso. Decía que no podía instalar el arranque. Luego intenté hacerlo en una versión antigua de Ubuntu que tenía instalada y el programa usb-creator ejecutaba el proceso de creación con éxito; sin embargo cuando intentaba bootear desde el dispositivo USB creado, se detenía el arranque y se mostraba un mensaje que decía:
Missing parameter in configuration file.
Luego encontré en un forum que dicho problema se solucionaba haciendo Tab, escribiendo live y Enter. Esto funcionó perfectamente y Ubuntu inició normalmente desde la memoria USB. http://askubuntu.com/questions/544414/missing-parameter-in-configuration-file-keyword-path
Al parecer también se puede crear a bootable Ubuntu USB flash drive usando: UnetBootin, LiliUSB or Universal USB Installer https://help.ubuntu.com/community/Boot-Repair
En la siguiente página se explica como podemos crear el bootable Ubuntu USB flash drive desde la línea de comandos. Sin embargo, no pude crearlo con éxito. Cuando arranqué desde el disco USB que creé, el SO no cargó correctamente. Cuando intenté crear el bootable USB encontré el siguiente error:
cp: no se puede crear el enlace simbólico «/media/adelo/D853-0856/./dists/stable»: Operación no permitida
http://askubuntu.com/questions/372607/how-to-create-a-bootable-ubuntu-usb-flash-drive-from-terminal
3.1.2 Creating a bootable CentOS-Ubuntu USB flash drive desde el terminal a través de pp
Creo que la forma de crearlo para/en Ubuntu o CentOS es la misma. Sin embargo aquí hay dos forums:
Estos son para CentOS:
Starting with CentOS 6.5, one can install from USB keys by simply transferring the desired ISO using dd https://wiki.centos.org/HowTos/InstallFromUSBkey
https://wiki.centos.org/HowTos/InstallFromUSBkey
http://askubuntu.com/questions/372607/how-to-create-a-bootable-ubuntu-usb-flash-drive-from-terminal
https://www.centos.org/forums/viewtopic.php?t=56578
En este se trata el caso de Linux en general:
Como se puede ver, parece ser el mismo procedimiento. Siguiendo el siguiente procedimiento, creé uno de Ubuntu 15 desde Ubuntu 15, otro de CentOS 7 desde Ubuntu 15, y ambos funcionaron correctamente.
- Antes de crear el bootable drive es apropiado formatear el dispositivo en Fat32 (vFat).
- Debemos desmontar el dispositivos antes de ejecutar el comando dd:
umount /dev/sdb*
- Creación del bootable USB flash a través de pp:
dd if=CentOS-6.5-x86_64-bin-DVD1.iso of=/dev/sdb
Make sure you select as destination the device corresponding to the USB key (/dev/sdb in the above example) and not a partition (such as /dev/sdb1). Esta advertencia creo que depende de en que dev se encuentre montado el usb drive. Generalmente mis USB drives se montaban en /dev/sdb1. En este caso creo que se tendría que poner sdb1 en el comando (no estoy seguro). Sin embargo luego de la última vez que formateé mi USB drive, éste se monta en en /dev/sdb (sin ningún número). En este caso por supuesto habría que colocar sdb en el comando dd como se suguiere arriba. Algo parecido se presenta al formatear el USB drive.
Con este método el bootable CentOS se creó correctamente. En el USB drive se crearon dos particiones:
sdb iso9660 CentOS 7 x86_64 2015-12-09-23-03-16-00 ├─sdb1 iso9660 CentOS 7 x86_64 2015-12-09-23-03-16-00 └─sdb2 vfat ANACONDA C522-73DA
3.1.3 How can I create a Windows bootable USB stick with Ubuntu:
http://askubuntu.com/questions/289559/how-can-i-create-a-windows-bootable-usb-stick-with-ubuntu winusb
3.2 Proceso de instalación
En el proceso de instalación de Ubuntu 15.10 se propone de una vez la instalación de "Third-party sortwares" (algunos de estos son propietarios). Así, el sistema fue capaz de habilitar directamente el WiFi en mi computadora.
3.2.1 Creación y elección de la partición donde será instalado el SO
Ver nota sobre el Tamaño de la partición.
La parte más delicada es cuando debemos crear (si no existe ya) y seleccionar la partición en la que se instalará el SO.
Los disco duros permiten un máximo de cuatro (4) particiones primarias (o 3 más una extendida). Sólo puede haber una (1) Extendida y dentro de ésta última pueden haber un máximo de 23 particiones lógicas. https://es.wikipedia.org/wiki/Partici%C3%B3n_de_disco
Para el particionamiento se pueden usar las opciones propuestas por el instalador o podemos también hacer el particionamiento antes de iniciar el instalador a través del programa GParted
Si se hace a través del instalador, la única confución que se presetan es que este programa no detalla el tipo de partición «Extendida». De hecho, cuando se va a crear una partición, el programa sólo propone como tipos de particiones: «Primaria» o «Lógica». Sin embargo, no es coherente crear una partición lógica antes que una Extendida. Es por ello que cuando creamos la primera partición Lógica el programa automáticamente crea la partición extendida donde, por supuesto, se encontrará la partición Lógica que estamos creando. De ahí en adelante toda partición Lógica que creemos se incluirá dentro de dicha partición Extendida (puesto que sólo puede haber una partición Extendida en el disco). Además, si por equivocación ejecutamos la creacion de una quinta partición Primaria, el programa no dará ningún error y creará la partición sin ningún problema, sólo que ésta no será Primaria sino que el programa aútomáticamente la creará de tipo Lógica.
GParted es un poco mejor puesto que es un programa hecho exclusivamente para particionamiento. Este programa si detalla adecuadamente el tipo de partición Extendida.
Para instalar Linux tenemos que crear por lo menos dos particiones (Indispensables):
La partición Swap : Puede ser Primaria o Lógica -- Se puede crear en cualquier posición -- Filesystem: Swap -- Tamaño -- Utilidad.
La particion root / : Primaria o Lógica -- Cualquier posición -- Filesystem: Ext4 (EXT2 pour une installation sur clef USB) -- Tamaño: Minimum 8Go. Pour une question de confort au moins 15Go.
En muchos forums se propone también la creación de las siguientes particiones (Opcionales):
/boot : Ésta podría ser indispensable -- Creo que debe ser primaria -- Se debe crear al inicio del disco -- Filesystem: Linux (généralement EXT4) -- Tamaño: 250Mo~1Go -- Utilidad -- Punto de montaje: /boot https://doc.ubuntu-fr.org/tutoriel/partitionner_manuellement_avec_installateur_ubuntu
/home : Primaria o Lógica -- Cualquier posición -- Filesystem: Ext4 (EXT2 pour une installation sur clef USB) (Remarque: d'autres systèmes de fichiers sont disponibles) -- Tamaño: Selon votre usage -- Utilidad -- Punto de montaje: /home https://doc.ubuntu-fr.org/tutoriel/partitionner_manuellement_avec_installateur_ubuntu
También he visto que podría ser ventajoso crear particiones para:
/tmp /var /usr
Sin embargo, después de consultar distintas páginas llegué a la conclusión de que no es ventajosa la creación de las particiones opcionales sino en casos particulares.
En la siguiente página se exponen las útilidades (pro y contras) de algunas de las particiones opcionales https://doc.ubuntu-fr.org/tutoriel/partitionner_manuellement_avec_installateur_ubuntu
3.2.2 La partición swap
What is swap?
Swap space is the area on a hard disk which is part of the Virtual Memory of your machine, which is a combination of accessible physical memory (RAM) and the swap space. Swap space is used when your system decides that it needs physical memory for active processes and there is insufficient unused physical memory available. https://help.ubuntu.com/community/SwapFaq
3.2.2.1 Utilidad
Utilité : L'espace d'échange (en anglais, swap space) est une extension de la mémoire vive (RAM) de votre ordinateur. Afin d'éviter un blocage de votre ordinateur lorsque sa RAM est pleine, Ubuntu se sert de cette partition pour décharger temporairement la RAM. Son utilisation à cet effet est plutôt rare dans les ordinateurs modernes, disposant d'au moins 1 Go de RAM. Cependant, elle sert aussi de décharge de la RAM lors de la mise en hibernation, c'est pour cette raison que la taille de la partition swap doit être d'au moins la taille de votre RAM si vous souhaitez utiliser cette fonction. https://doc.ubuntu-fr.org/tutoriel/partitionner_manuellement_avec_installateur_ubuntu
3.2.2.2 Que tamaño debe tener la partición swap
How much swap do I need?
For less then 1GB of physical memory (RAM), it's highly recommended that the swap space should, as a base minimum, be equal to the amount of RAM. Also, it's recommended that the swap space is maximum twice the amount of RAM
For more modern systems (>1GB), your swap space should be at a minimum minimum be equal to your physical memory (RAM) size "if you use hibernation", otherwise you need a minimum of round(sqrt(RAM)) and a maximum of twice the amount of RAM. https://help.ubuntu.com/community/SwapFaq
I have 16GB RAM. Do I need 32GB swap?
It entirely depends on what you plan to do with the machine. For example if it were a Sap server then yes, I would add 32gb swap (we have boxes at work with 128gb ram and 32gb swap). If you were manipulating massive pictures and video then it makes sense to have a little swap. 32gb is probably overkill. http://askubuntu.com/questions/49109/i-have-16gb-ram-do-i-need-32gb-swap
Here's a very good recommendation from RedHat:
In years past, the recommended amount of swap space increased linearly with the amount of RAM in the system. But because the amount of memory in modern systems has increased into the hundreds of gigabytes, it is now recognized that the amount of swap space that a system needs is a function of the memory workload running on that system. However, given that swap space is usually designated at install time, and that it can be difficult to determine beforehand the memory workload of a system, we recommend determining system swap using the following table. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s2-diskpartrecommend-ppc.html#id4394007
Amount of RAM in the system Recommended swap space Recommended swap space if allowing for hibernation --------------------------- ---------------------------- --------------------------- 2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM 2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM 8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM 64GB of RAM or more 4GB of swap space No extra space needed
3.2.2.3 Donde colocar la partición Swap
Estuve leyendo y al parecer no importa donde la colocamos en el disco duro: al principio, en el medio o al final. It doesn’t matter where on the hard drive the swap partition is located (beginning, middle or the end).
3.2.3 Utilidad de la partición boot
Certains ordinateurs n'arrivent pas à lire les fichiers de démarrage s'ils sont situés trop loin (>100Go) du début du disque. Dans ce cas, il est généralement nécessaire de créer une partition /boot en début de disque5). Mais cette partition /boot séparée n'est généralement pas utile sur un ordi récent (achat après 2007) et elle peut même générer des problèmes, aussi il vaut mieux ne créer cette partition /boot que sur avis des experts du forum en cas où elle est réellement indispensable. https://doc.ubuntu-fr.org/tutoriel/partitionner_manuellement_avec_installateur_ubuntu
3.2.4 Utilidad de la partición home
Lorsque vous disposez d'un disque dur suffisamment grand, un dossier home séparé permet d'isoler les paramètres personnels et les dossiers personnels des utilisateurs du reste du système. Par défaut, ce dossier fait partie de la partition racine. Un /home séparé est généralement superflu, voire gênant (notamment sur de petits disques) si vous débutez avec Ubuntu. Consulter ce comparatif pour savoir si un home séparé peut vous être utile. Important: un /home séparé ne sert pas à partager des données avec Windows ou MacOS (voir le paragraphe précédent). https://doc.ubuntu-fr.org/tutoriel/partitionner_manuellement_avec_installateur_ubuntu
Es infinitamente más cómodo tener el /home en una partición separada a la hora de actualizar la versión de ubunto desde un disco o pendrive y ante emergencias que requieran una reinstalación del sistema. Si todo está en la partición “/” antes de reinstalar o actualizar hay que hacer una backup de la carpeta /home donde están nuestros ficheros y preferencias. Ahora bien, si /home está en una partición no será necesario realizar un respaldo. Durante el proceso de instalación debemos marcar la partición / para formateo y /home sin formateo. Despúes se crean los mismos usuarios con el mismo nombre y ya tenemos todos los datos. Es así por experiencia mucho más sencillo y rápido.
http://elblogdeliher.com/mi-recomendacion-para-hacer-las-particiones-para-instalar-ubuntu/
3.2.5 Partición para los datos
Es apropiado crear una partición para todos los datos. Esto resulta de especial interés al momento de formatear y reinstalar los sistemas operativos. De esta manera no es necesario realizar un respaldo de los datos pues esta partición no se tocaría al momento de formatear y reinstalar los SO.
Ahora bien, si queremos compartir los datos entre Linux y Windows, la partición de almacenamiento debe entonces tener formato NTFS. Lo anterior porque bien sabemos que Linux es compatible con este sistema de archivos. Windows, por el contrario, no podría acceder a un sistema de archivos Linux como EXT4.
3.2.6 Ahora, ¿Es apropiado tener todos los datos que usaré en Linux en una partición NTFS?
3.2.6.1 chmod y chown en particiones ntfs
Al iniciar la recherche sobre la permisología (chmod) en particiones ntfs, encontré muchos foros en los que se afirmaba que no se podían cambiar los permisos en particiones ntfs. Se planteaba como única solución, la asignación de los permisos deseados al punto de montaje de la partición; lo cual hacía que todos los archivos dentro de la partición tuvieran los mismos permisos que fueron asignados al punto de montaje. A continuación muestro algunas de las páginas en donde encontré dicha información:
- Tu ne peux pas changer les droits sur les fichiers d'une partition NTFS pour la bonne raison qu'ils ne sont pas gérés commes sous UNIX. En revanche tu peux changer les droits ou attribuer la propriété sur toute la partition. Pour cela il te suffit de changer les options de montage, soit en option de mount soit directement dans le fstab. Pour plus d'infos sur la procédure voir la documentation mount_fstab
Sin embargo, al final encontré que actualmente sí existe una solución para modificar la permisología de archivos en particiones ntfs.
En los siguientes posts, aunque al inicio de la conversación se decía que no era posible por las mismas razones antes explicadas, al final se encuentra una solución para poder cambiar los permisos en particiones ntfs:
- http://askubuntu.com/questions/342791/file-permissions-wont-change/343154#343154
- http://askubuntu.com/questions/11840/how-do-i-use-chmod-on-an-ntfs-or-fat32-partition/91054#91054
Lo único que tuve que hacer fue adicionar la siguiente línea al archivo /etc/fstab:
Para particiones internas:
# <file system> <mount point> <type> <options> <dump> <pass> UUID=0B8D61386C315368 /home/adelo/1-mis_archivos ntfs auto,users,exec,permissions 0 0
Para discos externos:
http://askubuntu.com/questions/14365/mount-an-external-drive-at-boot-time-only-if-it-is-plugged-in
https://wiki.archlinux.org/index.php/Fstab#External_devices
En disco duros externos debemos utilizar la opción <nofail>. Esto porque cuando el disco no está conectado al iniciar la computadora (boot), si no se usa <nofail>, el sistema buscará la partición, al no encontrarla generará un error y el sitema no iniciará correctamente. Con <nofail> el sistema monta la partición durante el boot si el disco se encuentra conectado, y omite este proceso cuando el disco no está conectado. En este caso, el disco será montado luego de conectarlo mientras la computadora está funcionando.
The only inconvenience with <nofail> is that if you connect the device while the system is running, depending on configuration (too many variables to test), the device may not mount immediately. This can be remedied with a simple mount -a or mount /specific_device or a reboot. http://askubuntu.com/questions/14365/mount-an-external-drive-at-boot-time-only-if-it-is-plugged-in
En mi caso, aunque no lo monta inmediatamente, el ínoco de la unidad es desplegado en el Launcher, y haciendo clic en él, el disco se monta normalmente. A través de "sudo mount -a" también se monta correctamente; pero cuando queramos desmontarlo habrá que hacerlo como root porque fue montado como root.
UUID=3C9A5D379A5CEF40 /home/adelo/toshiba_ext ntfs auto,nofail,users,exec,permissions 0 0
Para saber el UUID de la partición: sudo blkid
auto: will automatically mount the partition when you boot.
users: allows users to mount and umount.
exec: permite ejecutar archivos. Esta opción se debe colocar luego de la opción <users>. Si no se usa esta opción, podremos modificar los derechos y pertenencias de los archivos. Sin embargo, aún dándole permisos de ejecución a un archivo, éste no podrá ser ejecutado. Ver http://askubuntu.com/questions/30243/why-does-ubuntu-refuse-to-execute-files-from-an-ntfs-partition
nofail: external devices that are to be mounted when present but ignored if absent. https://wiki.archlinux.org/index.php/Fstab#External_devices
permissions: es justamente la opción que permite la modificación de los permisos y pertenencia de los archivos.
dump est utilisé pour les sauvegardes. (Ver mount_fstab)
pass pour l'ordre de vérification au démarrage: (Ver mount_fstab)
- 1 pour la racine
- 2 pour les autres partitions Linux
- 0 pour le swap et les partitions windows: Une valeur de <pass> à 0 signifie qu'il n'y aura pas de vérification au démarrage (Déconseillé dans la plupart des cas).
Otras opciones y una explicación más detallada del uso del archivo etc/fstab se encuentra en mount_fstab
No hay ni siquiera que crear antes el directorio /home/adelo/1-mis_archivos. Éste se creará y la partición será montada automáticamente luego de reiniciar la computadora; y podremos modificar la permisología (chmod) de la pertenencia (chown) de los archivos que se encuentre en tal partición ntfs.
Ahora bien, para modificar la pertenencia y los derechos de la partición y de todos los archivos que se encuentran en ella:
chown -R adelo:adelo /home/adelo/1-mis_archivos
Para modificar los permisos de todos los archivos en la partición ver aquí
En el siguiente post también se encuentra una vía similar (haciendo uso de otras opciones en el archivo /etc/fstab) para poder cambiar los permisos en particiones ntfs. Sin embargo este método no lo he corroborado:
3.2.7 Esquemas de particionamiento
Después de investigar y reflexionar llegué a la conclusión de que, en mi caso, lo mejor es crear sólo las particiones linux indispensables.
Mi disco es supuestamente de 320G. Sin embargo, al sumar los tamaños de las distintas particiones, da un total de Aprox. 300G (298,08G). Al parecer esta diferencia tiene que ver con que el tamaño de la partición depende del FileSystem. Ver nota sobre el Tamaño de la partición.
En mi disco de 300G
Opción 1:
- Partición extendida de 200G al inicio del disco
- Partición Lógica Swap de 4G al inicio del disco (igual a la memoria RAM de mi computadora).
- Particion Lógica ext4 de 196G al inicio del espacio restante: Ésta es la partición / para mi sistema Linux. Podría eventualmente reducirla para tener espacio para otro sistema Linux.
- Partición Primaria de 100G (todo el espacio restante) al final del disco: Aquí se instalará Windows y podría también eventualmente reducirce para instalar otra versión de Windows.
De Manera que me ha parecido apropiado instalar todos mis Sistemas Linux dentro de la partición Extendida y los otros SO (Windows) en particiones Primarias.
Opción 2:
- Partición extendida de 60G al inicio del disco
- Partición Lógica Swap de 4G al inicio del disco (igual a la memoria RAM de mi computadora).
- Particion Lógica ext4 de 56G al inicio del espacio restante: Ésta es la partición / para mi sistema Linux. Podría eventualmente reducirla para tener espacio para otro sistema Linux.
- Partición Primaria ntfs de 200G al inicio del espacio restante. Esta será la partición de almacenamiento de todos mis archivos.
- Partición Primaria de 40G (todo el espacio restante) al final del disco: Aquí se instalará Windows y podría también eventualmente reducirce para instalar otra versión de Windows.
En este esquema de particiones, todos los datos serán guardados en una partición destinada únicamente a este fin, aparte de todos los sistemas operativos intalados. Esto es particularmente ventajoso a la hora de formatear un SO, pues no será necesario realizar un respaldo de los datos. Como la partición de datos es ntfs, podemos entonces acceder a ella desde Linux y Windows.
Nota: Me parece que la próxima vez debería dejar más espacio a la partición de Linux, porque en la distribución que voy a usar día a día debe estar en una partición de al menos 30G; por tanto, no me quedaría mucho espacio para instalar todas las distribuciones de Linux que necesito probar: Debian, RedHad, Centos, etc. Creo que cada distribución de prueba debe estar en una partición de al menos 10G.
4 Cosas que hacer después de instalar Ubuntu 15.10
4.1 Ajustar la permisología por defecto (base) de los archivos y directorios creados
Añadir la siguiente línea a .bashrc
umask u=rwx,g=rx,o=rx
para que los directorios y archivos sean creados con permisología:
drwxr-xr-x (755) -rw-r--r-- (644)
4.2 GIMP
4.3 KATE
kate color scheme
4.4 GParted
A la hora de redimensionar una partición, el programa GParted permite reducir tanto al inicio como al final de la partición.
Cuando el programa GParted carga la tabla de particiones, la partición Swap se activa (o montar: no sé si se unsa este término en este caso) automáticamente. Es por ello que a primera instancia la opción de redimensionar editar (redimensionar, borrar, etc.) esta partición estará desactivada. También, si dicha partición Swap se encuentra dentro de una partición Extendida, tampoco podremos editar la partición Extendida. Para poder realizar cambios en estas particiones debemos desactivar la partición Swap. Para esto tenemos que seleccionar la partición Swap y luego usar la opción "Swapoff" en el menú "Partition" para desactivarla.
A través del programa de particionamiento prupuesto durante la instalación de Ubuntu, no se pueden realizar redimensiones al inicio de la partición. Tampoco se pueden rediminsionar particiones Extendidas o Swap.
Ahora bien, la redimensión es un proceso que puede tomar mucho tiempo.
4.5 Latex
sudo apt-get install texlive-full (texlive-full ocupa casi 5G de memoria)
4.5.1 Kile
4.6 Instalar corrector ortográfico y gramatical en LibreOffice/OpenOffice
http://blog.desdelinux.net/instalar-corrector-ortografico-y-gramatical-en-libreofficeopenoffice/
sudo apt-get install myspell-es sudo apt-get install myspell-fr myspell-fr-gut sudo apt-get install myspell-*
4.7 Adobe Reader (Acroread)
Adobe has recently removed the Linux support from its official download page. Therefore Adobe Reader for Linux is no longer available for download from Adobe website.
Antes, la versión para Linux podía encontrarse en la página oficial de Adobe: https://get.adobe.com/fr/reader/otherversions/
Todavía se puede instalar de dos formas:
4.7.1 From the old Canonical Partners repository
http://ubuntuhandbook.org/index.php/2014/10/install-adobe-reader-ubuntu-14-10/
We can still install Adobe Reader (Acroread) 9 in Ubuntu 14.10 through the old Canonical Partners repository.
sudo add-apt-repository "deb http://archive.canonical.com/ precise partner" sudo apt-get update sudo apt-get install acroread
After properly installed Adobe Reader, don’t forget to remove the Canonical Partners repository for Precise:
sudo add-apt-repository -r "deb http://archive.canonical.com/ precise partner" sudo apt-get update
4.7.2 From the latest official package for Linux, que Adobe incluyó en su sitio de descargas
Actually the latest official package (AdbeRdr9.5.5-1_i386linux_enu.deb) is still available en algunos sitios, but it might be removed in near future.
wget -c http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb
Install Gdebi to handle the DEB package:
sudo apt-get install gdebi
Now install the package via Gdebi. It’ll also install the dependencies:
sudo gdebi AdbeRdr9.5.5-1_i386linux_enu.deb
If Adobe Reader is still missing libraries after installation. Run the command below to install them:
sudo apt-get install libgtk2.0-0:i386 libnss3-1d:i386 libnspr4-0d:i386 lib32nss-mdns* libxml2:i386 libxslt1.1:i386 libstdc++6:i386
4.7.3 How to Set Adobe Reader as default PDF reader
Método 1:
sudo gedit /etc/gnome/defaults.list
When the file opens, do:
- Find out and change the line
application/pdf=evince.desktop
into:
application/pdf=acroread.desktop
- Add below line into the end:
application/fdf=acroread.desktop application/xdp=acroread.desktop application/xfdf=acroread.desktop application/pdx=acroread.desktop
Finally save the file and restart nautilus (run command nautilus -q in terminal) to apply changes.
Método 2:
mimeopen -d *.pdf
4.7.4 To remove Adobe Reader
sudo apt-get remove acroread; sudo apt-get autoremove
4.7.5 Ver también
En el siguiente post también se encuentra buena información sobre como instalar Adobe Reader: http://askubuntu.com/questions/455135/how-do-i-install-adobe-acrobat-reader-from-the-repository
4.8 Skype
sudo apt-get install skype
4.9 Seismic Unix
Instalación del SU
4.10 Scilab
sudo apt-get install scilab
5 Comandos Linux
5.1 ls
5.1.1 Listar sólo archivos o sólo directorios
Listar solo directorios:
ls -lah | grep -v "^-"
Listar solo archivos:
ls -lah | grep -v "^d"
5.2 Listar archivos con su ruta absoluta
List files with their absolute path in linux:
readlink -f *
5.3 Listar archivos modificados antes, después, o en una cierta fecha
https://techjourney.net/find-files-that-are-modified-today-or-since-certain-time-ago-in-unix-linux/
To find all files modified in the last 24 hours (last full day) in current directory and its sub-directories:
find . -mtime -1 -print
To find all files with regular file types only, and modified in the last 24 hours (last full day) in current directory and its sub-directories:
find /directory_path -type f -mtime -1 -print
To find all files that are modified today only (since start of day only, i.e. 12 am), in current directory and its sub-directories:
touch -t `date +%m%d0000` /tmp/$$ find /tmefndr/oravl01 -type f -newer /tmp/$$ rm /tmp/$$
5.4 Contar archivos en un directorio
https://www.pedroventura.com/linux/contar-todos-los-archivos-existente-en-un-directorio-en-linux/
Con find
La cuenta es mas exacta con find, por ejemplo:
find . -maxdepth 2 -type f | wc -l #Contar los archivos pero solo en carpetas dos niveles por debajo
find . -type f | wc -l # Contar archivos de forma recursiva ilimitada
find . -type d | wc -l # Contar directorios de forma recursiva ilimitada
find . -type l | wc -l # Contar enlaces de forma recursiva ilimitada
find . | wc -l #Contar archivos y carpetas de forma recursiva
find . -type f -iname “*.php” | wc -l # Contar archivos con una extensión determinada
Con ls
Con ls es también apropiado para contar los archivos en un sólo directorio. Sin embargo, la forma recursiva (ls -R) no resulta muy apropiada porque se incluye una línea en blanco al finalizar el directorio; además que no se puede diferenciar entre archivos y directorios.
ls | wc -l
Para incluir los archivos ocultos:
ls -A | wc -l
El parámetro -A lista todos los archivos excepto la ruta de carpetas . y ..
5.5 du
Para incluir archivos ocultos:
- La opción -a incluye los archivos ocultos, pero no se puede utilizar con la opción -s, --summarize. La cual permite desplegar el tamaño de un directorio y no de cada archivo por separado. Entonces para poder utilizar la opción --sumarize y desplegar también los archivos ocultos, debemos:
- Para listar sólo los archivos ocultos:
du -hs .[^.]*
- Si queremos listar ocultos y normales:
du -hs $(ls -A)
- Si queremos ordenar los archivos por tamaño:
du -s $(ls -A) | sort -rn
Note que en el caso anterior, no se debe usar la opción -h para así asegurarse de que la unidad de tamaño sea siempre la misma. Porque el comando sort no distingue entre tamaños sino sólo por los números. Es decir, si colocamos la opción -h, sort colocará un archivo de 50M antes de un archivo de 5G porque 50 es mayor que 5 y no hará distinción de la unidad.
- Ahora si queremos listar en una unidad en particular:
sudo du -csh --block-size=1M $(ls -A) | sort -rn (--block-size=1G)
Note que en este caso, un archivo cuyo tamaño sea menor al block-size será listado con un tamaño igual al block-size. Por ejemplo si colocamos --block-size=1G, un archivo de 1k será listado con tamaño 1, que en este caso se refiere a 1G.
- Si queremos excluir algún archivo o directorio:
du -s --exclude=Directorio $(ls -A) | sort -rn
5.6 chown
chown command changes the user and/or group ownership of for given file. The syntax is:
chown owner-user file chown options owner-user:owner-group file
chown adelo:adelo prueba.txt chown -R adelo:adelo directorio
5.7 chmod
https://doc.ubuntu-fr.org/permissions
5.7.1 En gérant chaque droit séparément
À qui s'applique le changement:
- u (user, utilisateur) représente la catégorie "propriétaire" ;
- g (group, groupe) représente la catégorie "groupe propriétaire" ;
- o (others, autres) représente la catégorie "reste du monde" ;
- a (all, tous) représente l'ensemble des trois catégories.
La modification que l'on veut faire:
- + : ajouter
- - : supprimer
- = : affectation
Le droit que l'on veut modifier
- r : read ⇒ lecture
- w : write ⇒ écriture
- x : execute ⇒ exécution
- X : eXecute ⇒ exécution, concerne uniquement les répertoires (qu'ils aient déjà une autorisation d'exécution ou pas) et les fichiers qui ont déjà une autorisation d'exécution pour l'une des catégories d'utilisateurs. Nous allons voir plus bas dans la partie des traitements récursifs l'intérêt du X.
chmod <options> u+rwx,g+rx-w,o+r-wx fichier3 chmod <options> ug+rw fichier3 chmod <options> a-rx fichier3 chmod -R a-rX directorio
5.7.2 En octal
- r = 4
- w = 2
- x = 1
- - = 0
Par exemple:
- Pour rwx, on aura : 4+2+1 = 7
- Pour rw-, on aura : 4+2+0 = 6
- Pour r--, on aura : 4+0+0 = 4
rwx r-x --- 7(4+2+1) 5(4+0+1) 0(0+0+0)
chmod -R 750 Documents
5.7.3 Exemple d'application en traitant de façon différentiée les répertoires et les fichiers (récursivement)
5.7.3.1 A través del permiso X
X representa el permiso de ejecución en repertorios y en fichiers qui ont un x quelque part. Esto permite tratar separadamente el permiso de ejecución en directorios y en archivos. Veamos algunos ejemplos:
Application 1 :
Soit un répertoire monrep, contenant des sous-répertoires et des fichiers. Les droits sont drwx------ (700) pour les répertoires et -rw------- (600) pour les fichiers.
On veut ajouter récursivement les mêmes droits (resp. rwx et rw) pour le groupe. C'est à dire que veut aboutir à la situation suivante : drwxrwx--- (770) pour les répertoires et -rw-rw---- (660) pour les fichiers.
Si on lance chmod -R 770 monrep : les fichiers vont avoir les droits d'exécution → mauvais :-(
Si on lance chmod -R 660 monrep : les répertoires n'auront plus les droits d'exécution → catastrophique :-(
Si on lance chmod -R g+rwx monrep : les fichiers vont avoir les droits d'exécution → mauvais :-(
Si on lance chmod -R g+rwX monrep : seuls les répertoires (et les fichiers déjà exécutables) auront les droits d'exécution → bon :-)
Application 2 :
Imaginons que précédemment on ait lancé la commande chmod -R 770 monrep. La situation est la suivante : les droits sont drwxrwx--- (770) pour les répertoires et -rwxrwx--- (770) pour les fichiers.
On désire supprimer les droits d'exécution uniquement sur les fichiers. C'est à dire que veut aboutir à la situation suivante : drwxrwx--- (770) pour les répertoires et -rw-rw---- (660) pour les fichiers.
Comme chmod s'applique à la fois aux fichiers et répertoires, nous allons jongler avec x et X. Il faut enlever x puis ajouter X.
Si on lance chmod -R u-x+X,g-x+X monrep cela n'aura aucun effet car X concerne à la fois les répertoires ET les fichiers qui ont un x quelque part. Donc si u-x enlève le premier x (ce qui donne -rw-rwx---), la suite +X va aussitôt remettre un x car il reste un x (celui du groupe !).
Donc il faut d'abord enlever tous les x : u-x,g-x avant de les remettre (sera fait uniquement pour les répertoires cette fois) ce qui donne finalement :
chmod -R u-x,g-x,u+X,g+X monrep
5.7.3.2 A través del comando find
Como vimos, X permite tratar separadamente el permiso de ejecución en directorios y en archivos. Ahora, si queremos asignar una configuración de derechos a los directorios y otra muy distinta a los archivos, lo podemos hacer a través del comando find de la siguiente forma:
http://askubuntu.com/questions/58467/chmod-files-only-in-all-subdirectories/58470
Para los directorios:
find <directorio> -type d -exec chmod 755 {} +
Para los archivos:
find <directorio> -type f -exec chmod 664 {} +
5.7.4 Permisología por defecto
En Ubuntu, al crear un directorio, la configuración de los permisos por defecto será:
drwxrwxr-x (775)
Me parece mejor la permisología:
drwxr-xr-x (755) (umask u=rwx,g=rx,o=rx) (Ver aquí)
Grupo y otros podrán acceder (x) a los directorio y ver (r) su contenido (listar todos los archivos que en él se encuentran); pero no podrán realizar cambios en el directorio (w) (no se podrán crear archivos en el directorio).
Y para los archivos:
-rw-rw-r-- (664)
Para los archivos podría ser más conveniente de esta forma:
-rw-r--r-- (644) (umask u=rwx,g=rx,o=rx) (Ver aquí)
O incluso así:
-rw-r----- (640)
5.7.4.1 Cambiar la permisología base/por defecto (umask)
https://es.wikipedia.org/wiki/Umask
umask (abreviatura de user mask, máscara de usuario) es una orden y una función en entornos POSIX que establece los permisos por defecto para los nuevos archivos y directorios creados por el proceso actual.
Los sistemas Unix modernos permiten que las máscaras se especifiquen de dos modos:
- Un permiso por defecto, también llamado máscara simbólica. Por ejemplo, u=rwx,g=rwx,o=
- Un número en octal que controla qué permisos se enmascararán (no se establecerán) para cualquier nuevo archivo, por ejemplo, 007.
En ambos casos debe tenerse en cuenta que la mayoría de los sistemas Unix no permiten que nuevos archivos sean creados con permisos de ejecución activados, independientemente de la máscara.
Ejemplo de máscara simbólica:
$ umask u=rwx,g=rwx,o= $ mkdir foo $ touch bar $ ls -l drwxrwx--- 2 dave 512 Sep 1 20:59 foo -rw-rw---- 1 dave 0 Sep 1 20:59 bar
Ejemplos de máscara en octal:
$ umask 0174 $ mkdir foo $ touch bar $ ls -l drw-----wx 2 dave 512 Sep 1 20:59 foo -rw-----w- 1 dave 0 Sep 1 20:59 bar
Configurar el valor de umask permanentemente: para un usuario en concreto hay que añadir en el fichero .bashrc el comando umask u=rwx,g=rx,o=rx. También se puede modificar el valor de umask en el fichero global /etc/profile para que el cambio sea efectivo para todos los usuarios. http://www.websecurity.es/como-utilizar-umask-establecer-los-permisos-predeterminados
Ahora, a través del umask no se pueden ajustar separadamente los permisos de los directorios y de los archivos, debido a que umash afecta tanto a los archivos como a los directorio. No he encontrado una orden que permita hacer distinción entre los permisos bases de los directorios y los de los archivos. Sin embargo, en el siguiente post se propone una forma de hacer esto:
http://stackoverflow.com/questions/12445527/set-different-umask-for-files-and-folders
Interesting requirement. Currently (at least in bash), umask is a global setting and you cannot set it based on object type.
One solution that comes to mind would be to set the umask to the file variant and then intercept calls to mkdir (such as with a user-created mkdir script earlier in the path) to do:
umask 0701 ; /path/to/real/mkdir $1 ; umask 0604
That way, assuming all your directory creations are done with mkdir, you can ensure they use a different umask setting.
Note that the script should probably be a little more robust such as restoring the previous umask rather than forcing it to 0604, and adding some better error checking and possibly the ability to handle multiple arguments.
But that's all detail, the framework above should be enough to get you started.
5.8 Mostrar barra de progreso al Copiar, mover y borrar archivos
5.8.1 gcp
Comando para copiar mostrando una barra de progreso y velocidad.
gcp -r origen/archivo /destino
5.9 Hard and symbolic (soft) links
Underneath the file system files are represented by inodes (or is it multiple inodes not sure)
A file in the file system is basically a link to an inode. A hard link then just creates another file with a link to the same underlying inode.
When you delete a file it removes one link to the underlying inode. The inode is only deleted (or deletable/over-writable) when all links to the inode have been deleted.
A symbolic link is a link to another name in the file system. The soft link points to the name of a file, and not to the contents.
Once a hard link has been made the link is to the inode. deleting renaming or moving the original file will not affect the hard link as it links to the underlying inode. Any changes to the data on the inode is reflected in all files that refer to that inode.
Note: Hard links are only valid within the same File System. Symbolic links can span file systems as they are simply the name of another file.
Let's create hard and soft links:
Al crear links es apropiado colocar las rutas absolutas de la fuente y la destinación:
ln blah1 blah1-hard (hard link not allowed for directory)
ln -s blah2 blah2-soft
Si blah2 es renombrado, the contents of the file blah2-soft could not be found because the soft link points to the name of the other file (that was changed) and not to the contents.
If blah1 is deleted, blah1-hard still holds the contents.
If blah2 is deleted, blah2-soft is just a link to a non-existing file.
5.9.1 What's the difference between a hard link and a copy?
https://bbs.archlinux.org/viewtopic.php?id=53484
Hay que internalizar que si se edita un archivo hardlink (siendo éste otro nombre para un mismo archivo) el cambio será reflejado en el archivo original (pues en realidad es el mismo archivo).
Si se hace una copia de un hard link, la copia no será un hard link sino un archivo normal. Es decir, es idéntico hacer una copia del archivo original o del hard link.
No se puede crear un hard link entre dos particiones; sólo soft links son posibles en este caso.
Aunque no se pude hacer un hardlink de un directorio, a través de la orden "cp -rlp", el comand cp copia todo el arbol de directorios y crea hardlinks de todos los archivos en el directorio:
cp -rlp : copy directories *R*ecursively + *L*ink files instead of copying + *P*reserve mode, ownership and timestamps (for non-hardlinked content such as directories)
Si se quieren preservar los softlinks debemos entonces usar también la opción -d
cp -rlpd
5.10 Buscar una cadena de caracteres archivos recursivamente - Convinación de find y grep
find . -type f -print | xargs grep "palabra"
Y para buscar una linea que contenga dos palabras especificas:
find . -type f -print | xargs grep "palabra1" | grep "palabra2"
O también:
find . -exec egrep palagra '{}' +
Otra forma:
egrep -r palabra *
5.11 Alias
http://www.computerhope.com/unix/ualias.htm
Aliases are used to customize the shell session interface:
alias ls='ls --color=auto'
alias ll='ls -la'
alias .....='cd ../../../../'
Éste lo he adicionado a mi .bashrc: alias 'la=ls -AX'
5.12 Para saber las características del hardware y del SO
5.12.1 Caracteristicas del harware (marcas/fabricantes, modelos, etc)
5.12.1.1 Startup Menu
Al iniciar la computadora podemos ver todas estas características en el Startup Menu. En mi caso F1 me lleva a System Information en donde se despliega esta información. También se puede verificar en el BIOS Setup.
5.12.1.2 dmidecode
sudo dmidecode | more
Este comando despliega las características detalladas de todos los componentes del hardware:
- System Information,
- BIOS Information,
- Processor Information, etc.
Por ejemplo si se quieren saber las carecterísticas de la computadora (Modelo, Fabricante, Serial etc):
sudo dmidecode | grep -A 9 "System Information"
También se puede utilizar este comando empleando ciertos String a través de la opción -s:
sudo dmidecode -s String_keyword
sudo dmidecode -s system-product-name sudo dmidecode -s bios-release-date sudo dmidecode -s baseboard-product-name sudo dmidecode -s baseboard-manufacturer
5.12.1.3 sysinfo/lshw
sudo apt-get install sysinfo
Para crear un archivo html con todas las características del hardware:
sudo lshw -html > mySpecs.html
then check the html file.
5.12.2 Desplegar el SO instalado (detallando la versión)
lsb_release -a
http://askubuntu.com/questions/55609/how-do-i-check-system-specifications
5.12.3 Para saber si el SO instalado es 32 o 64bit
uname -a
Result for 32-bit Ubuntu:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux
whereas the 64-bit Ubuntu will show:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
O a través del comando:
getconf LONG_BIT
5.12.4 Para ver las particiones y dispositivos montados
Muestra las particiones o dispositivos montados en el orden en el que se encuentran en el disco duro. Es el único comando que conozco que las muestra en el orden correcto. Además da muestra el tamaño exacto de la partición (el tamaño ajustado al momento del particionamiento. Los otros comandos no muestran este tamaño exacto; claro no sé cual es el tamaño correcto) Ver nota sobre el Tamaño de la partición. Tambíen dice si la partición es de tipo Primaria, extendida o lógica y el File system. Muestra también las características del disco duro (tamaño, fabricante, modelo):
sudo parted /dev/sda then type print sudo parted -l
Muestra todas las particiones en el disco y los dispositivos montados. Muestra también el tamaño de la partición y el File system:
lsblk -fm
Muestra todas las particiones en el disco y los dispositivos montados. Da información, aunque no tan precisa, del filesystem type de cada partición o dispositivo. Muestra también algunas características del disco duro (tamaño, modelo):
sudo fdisk -l
A través del comando mount podemos saber el tipo de sistemas de archivos de particiones/dispositivos montados (check filesystem type):
mount
Al parecer el tipo fuseblk se refiere a una partición ntfs ver http://ubuntuforums.org/showthread.php?t=1096841
Para saber el UUID de una partición:
sudo blkid
Muestra información sólo de particiones/dispositivos montados:
df -h
5.12.4.1 Tamaños de la partición: Different partition sizes reported by df and parted
http://ubuntuforums.org/showthread.php?t=1575190
http://linux.derkeiler.com/Mailing-Lists/Fedora/2009-04/msg01901.html
5.12.5 Para saber la memoria RAM y Swap (total y en uso)
free -m
O graficamente en System > Administration > System monitor
Hay también otros comandos detallados aquí http://www.cyberciti.biz/faq/check-ram-in-ubuntu/
5.12.6 Información del procesador del sistema: núcleos, velocidad, fabricante, arquitectura, 32 o 64bit
lscpu
5.13 Formatear una unidad Flash USB
Par usar el comando mkfs.* sobre una entire device (sdb por ejemplo) y no sobre una partición dentro de esta (sdb1 por ejemplo), debemos usar la opción -I. Ver Nota sdb
$ sudo mkfs.vfat -I /dev/sdb
http://tecadmin.net/format-usb-in-linux/#
https://ksearch.wordpress.com/2010/09/29/format-usb-in-linux/
$ sudo umount /dev/sdc1
Format with vFat FileSystem
$ sudo mkfs.vfat /dev/sdc1
Format with NTFS FileSystem
$ sudo mkfs.ntfs /dev/sdc1
Format with EXT4 FileSystem
$ sudo mkfs.ext4 /dev/sdc1
5.14 Screenshot Tool in Ubuntu
Aplicación para imprimir pantalla
5.14.1 Gnome Screenshot
https://doc.ubuntu-fr.org/gnome-screenshot
Gnome Screenshot est déjà installé par défaut sur Ubuntu
Lancer l'interface depuis le tableau de bord d'Unity à l'aide des mots-clés "capture d'écran" ou pour les menus classiques, Applications → Accessoires → Capture d'écran. Ou encore depuis un terminal avec la commande suivante:
gnome-screenshot -i
À l'aide de raccourcis: La convinación de tecla normal no me funciona, la siguiente sí:
[ALT]+[IMPR] → Capturer la fenêtre active.
En la página Web se pueden ver las otras convinaciones de tecla disponibles
5.14.2 Shutter
5.15 Programas para realizar respaldos (Backup)
5.15.1 rsync
http://www.thegeekstuff.com/2010/09/rsync-command-examples/
http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/
One of the main feature of rsync is that it transfers only the changed block to the destination, instead of sending the whole file. De hecho, si jamás se ha realizado un proceso rsync entre dos directorios, rsync comprobará las diferencias entre los dos directorios antes de transferir cualquier archivo. Por tanto (aún durante la primera sincronización entre dos directorios) serán transferidos sólo los bloques distintos.
rsync -azvu --delete --progress Source/ Destination/
Si colocamos "Source/" (con el slash al final) todo el contenido del directorio Source será copiado dentro del directorio Destination. Si destination no existe, éste será creado. Ahora bien, si colocamos "Source" (sin el slash) será copiado el directorio "Source" como tal dentro del directorio Destination.
rsync -azvu --delete --progress --exclude 'Figuras' --exclude 'ejercicios' --exclude 'TP_Processus/processus_files' Source/ Destination/
- -a, --archive, archive mode; equals -rlptgoD (no -H,-A,-X). This option does the following:
- -l, --links copy symlinks as symlinks (Preserves symbolic links)
- -p, --perms preserve permissions
- -t, --times preserve modification times (Preserves timestamp)
- -g, --group preserve group
- -o, --owner preserve owner (super-user only)
- -D same as --devices --specials
- --devices preserve device files (super-user only)
- --specials preserve special files
- -r, --recursive (ayuda from man rsync)
- This tells rsync to copy directories recursively. See also --dirs (-d).
- Beginning with rsync 3.0.0, the recursive algorithm used is now an incremental scan that uses much less memory than before and begins the transfer after the scanning of the first few directories have been completed. This incremental scan only affects our recursion algorithm, and does not change a non-recursive transfer. It is also only possible when both ends of the transfer are at least version 3.0.0.
- Some options require rsync to know the full file list, so these options disable the incremental recursion mode. These include: --delete-before, --delete-after, --prune-empty-dirs, and --delay-updates. Because of this, the default delete mode when you specify --delete is now --delete-during when both ends of the connection are at least 3.0.0 (use --del or --delete-during to request this improved deletion mode explicitly). See also the --delete-delay option that is a better choice than using --delete-after.
- Incremental recursion can be disabled using the --no-inc-recursive option or its shorter --no-i-r alias.
- -z is to enable compression
- -v verbose
- -u : Do not overwrite the modified files at the destination (desde la última sincronización). In a typical sync situation, if a file is modified at the destination, we might not want to overwrite the file with the old file from the source.
- --delete it to delete the Files Created at the Target: If a file is not present at the source, but present at the target, you might want to delete the file at the target during rsync. Si el archivo fue modificado en la destinación, éste no será sobre-escrito. Ahora bien, en la siguiente sincronización, si el archivo no vuelto a ser modificado, será sobre-escrito.
- --progress : View the rsync Progress during Transfer. Displays detailed progress, i.e how many files are copies, at what rate it is copying the file, etc)
- --exclude is to exclude files or directories while doing synchronization. Ver 6 rsync Examples to Exclude Multiple Files and Directories
- --delete-after : No entiendo bien cual podría ser la ventaja de borrar después y no antes. Pero he visto en varios foros que usan esta opción en lugar de --delete. En este foro explican cual es la razón, aunque no entendí: Par défaut rsync avec l'option --delete supprime les fichiers qui ont disparus de la source avant tout transfert. Lorsque le fichier a été tout simplement supprimé de la source ça ne pose pas de problème. Par contre si le fichier a été déplacé à un autre endroit c'est plus embêtant car il y a un moment où le fichier n'est plus dupliqué sur le serveur de backup. Pour éviter ce petit soucis il faut ajouter l'option --delete-after pour que les fichiers soit supprimés après la copie et plus avant. http://raphastronome.astro5000.com/?post/Option-delete-after-de-rsync
- -H, --hard-links (ayuda from man rsync)
- This tells rsync to look for hard-linked files in the source and link together the corresponding files on the destination. Without this option, hard-linked files in the source are treated as though they were separate files.
- This option does NOT necessarily ensure that the pattern of hard links on the destination exactly matches that on the source. Cases in which the destination may end up with extra hard links include the following:
- If the destination contains extraneous hard-links (more linking than what is present in the source file list), the copying algorithm will not break them explicitly. However, if one or more of the paths have content differences, the normal file-update process will break those extra links (unless you are using the --inplace option).
- If you specify a --link-dest directory that contains hard links, the linking of the destination files against the --link-dest files can cause some paths in the destination to become linked together due to the --link-dest associations.
- Note that rsync can only detect hard links between files that are inside the transfer set. If rsync updates a file that has extra hard-link connections to files outside the transfer, that linkage will be broken. If you are tempted to use the --inplace option to avoid this breakage, be very careful that you know how your files are being updated so that you are certain that no unintended changes happen due to lingering hard links (and see the --inplace option for more caveats).
- If incremental recursion is active (see --recursive), rsync may transfer a missing hard-linked file before it finds that another link for that contents exists elsewhere in the hierarchy. This does not affect the accuracy of the transfer (i.e. which files are hard-linked together), just its efficiency (i.e. copying the data for a new, early copy of a hard-linked file that could have been found later in the transfer in another member of the hard-linked set of files). One way to avoid this inefficiency is to disable incremental recursion using the --no-inc-recursive option.
- --partial (ayuda from man rsync)
- By default, rsync will delete any partially transferred file if the transfer is interrupted. In some circumstances it is more desirable to keep partially transferred files. Using the --partial option tells rsync to keep the partial file which should make a subsequent transfer of the rest of the file much faster.
- --partial-dir=DIR
- A better way to keep partial files than the --partial option is to specify a DIR that will be used to hold the partial data (instead of writing it out to the destination file). On the next transfer, rsync will use a file found in this dir as data to speed up the resumption of the transfer and then delete it after it has served its purpose.
- Note that if --whole-file is specified (or implied), any partial-dir file that is found for a file that is being updated will simply be removed (since rsync is sending files without using rsync’s delta-transfer algorithm).
- Rsync will create the DIR if it is missing (just the last dir -- not the whole path). This makes it easy to use a relative path (such as "--partial-dir=.rsync-partial") to have rsync create the partial-directory in the destination file’s directory when needed, and then remove it again when the partial file is deleted.
- If the partial-dir value is not an absolute path, rsync will add an exclude rule at the end of all your existing excludes. This will prevent the sending of any partial-dir files that may exist on the sending side, and will also prevent the untimely deletion of partial-dir items on the receiving side. An example: the above --partial-dir option would add the equivalent of "-f '-p .rsync-partial/'" at the end of any other filter rules.
- If you are supplying your own exclude rules, you may need to add your own exclude/hide/protect rule for the partial-dir because (1) the auto-added rule may be ineffective at the end of your other rules, or (2) you may wish to override rsync’s exclude choice. For instance, if you want to make rsync clean-up any left-over partial-dirs that may be lying around, you should specify --delete-after and add a "risk" filter rule, e.g. -f 'R .rsync-partial/'. (Avoid using --delete-before or --delete-during unless you don’t need rsync to use any of the left-over partial-dir data during the current run.)
- IMPORTANT: the --partial-dir should not be writable by other users or it is a security risk. E.g. AVOID "/tmp".
- You can also set the partial-dir value the RSYNC_PARTIAL_DIR environment variable. Setting this in the environment does not force --partial to be enabled, but rather it affects where partial files go when --partial is specified. For instance, instead of using --partial-dir=.rsync-tmp along with --progress, you could set RSYNC_PARTIAL_DIR=.rsync-tmp in your environment and then just use the -P option to turn on the use of the .rsync-tmp dirfor partial transfers. The only times that the --partial option does not look for this environment value are (1)when --inplace was specified (since --inplace conflicts with --partial-dir), and (2) when --delay-updates was specified (see below).
- For the purposes of the daemon-config’s "refuse options" setting, --partial-dir does not imply --partial. This is so that a refusal of the --partial option can be used to disallow the overwriting of destination files with a partial transfer, while still allowing the safer idiom provided by --partial-dir.
- -P : same as --partial --progress.
- --no-inc-recursive : Ver comentarios en las opciones -r y -H.
Hasta ahora lo único que no he podido solucionar es que cuando muevo un archivo en la Source, la sincronización no entiende que éste ha sido movido y así moverlo también en la destinación (lo cual disminuiría bastante el tiempo de sincronización). Por el contrario, cuando el...
Al parecer, la solución a este problema se encuentra explicada aquí:
https://lincolnloop.com/blog/detecting-file-moves-renames-rsync/
http://moderncaveman.org/projects/modern/rsync-detect-renamed/patching-rsync-for-renamed.html
http://javier.io/blog/en/2014/08/06/rsync-rename-move.html
- Me gustaría que le comando imprimiera en pantalla durante la ejecución, los archivos que no fueron sincronizados porque fueron modificados en la destinación (esto por usar la opción -u). Es decir me gustaría saber cuales fueron los archivos modificados en la destinación.
5.15.1.1 Mis sincronizaciones
rsync -azvu --delete-after --progress /home/adelo/1-mis_archivos/ /home/adelo/toshiba_ext/1-mis_archivos-dde/
rsync -azvu --delete --progress --exclude '/home/adelo/toshiba_ext/1-mis_archivos/stockage' /home/adelo/1-mis_archivos/ /home/adelo/toshiba_ext/1-mis_archivos/
5.15.2
http://askubuntu.com/questions/2596/comparison-of-backup-tools
http://www.thegeekstuff.com/2012/05/backup-ubuntu-desktop/
deja-dup
5.16 Nautilus
5.16.1 Cambiar el icono de una carpeta
https://ubuntulife.wordpress.com/2010/02/10/tip-cambiar-el-icono-de-una-carpeta/
5.16.2 Folder color: cambia el color de todas tus carpetas en Ubuntu
https://hipertextual.com/archivo/2014/04/cambiar-color-carpetas-ubuntu/
Folder Color Folder Color es una aplicación muy sencilla que podemos instalar en Ubuntu para cambiar el color de los iconos de las carpetas en Nautilus.
sudo add-apt-repository ppa:costales/folder-color sudo apt-get update sudo apt-get install folder-color
6 Three ways to hide Files and Directories in Linux
http://www.dailygyan.com/2008/01/3-ways-to-hide-files-and-directories-in.html
- Make a file named .hidden: We add the name of the file/directory to be hidden into the .hidden file, one name in each line.
- Just rename the file/directory and prefix the name with a ' . ' (a dot). Files starting with a ' . ' are considered to be hidden files by linux.
- Rename the file/directory and add a '~' to the end. Linux considers files ending in ~ as backup files and hence hides them. En Ubuntu este método funciona sólo en el administrador de archivos (en nautilus por ejemplo) y con archivos normales, no con directorios.
7 Cambiar la ruta del escritorio, Download, Documents, etc - How to set $HOME/Desktop
http://askubuntu.com/questions/116276/how-to-set-the-desktop-to-home-desktop
Edit the file ~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Download" XDG_TEMPLATES_DIR="$HOME/Templates" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Music" XDG_PICTURES_DIR="$HOME/Pictures" XDG_VIDEOS_DIR="$HOME/Videos"`
8 La papelera - Trash
En ubuntu 15 el directorio Trash se localiza en la ruta: ~/.local/share/Trash
9 Instalar emulador de Android en Ubuntu / ejecutar aplicaciones de Android en Ubuntu
9.1 Install Genymotion Android Emulator in Ubuntu 14.04
https://www.youtube.com/watch?v=MHmMDEzsJEY
9.1.1 Instalar VirtualBox
- Se puede descargar de la página e instalar manualmente:
- Descargargamos el archivo en https://www.virtualbox.org/wiki/Linux_Downloads
- Ejecutamos:
dpkg -i ./virtualbox-4.3...deb
- O a partir de los repositorios:
sudo apt-get install virtualbox
9.1.2 Instalar GenyMotion
- Crear una cuenta y descargarlo en la página oficial https://www.genymotion.com/
- Ejecutamos:
bash genymotion-2.2...bin
- Luego entramos en el directorio genymotion e iniciamos el programa:
./genymotion
- Agregamos una Virtual device:
- Connect to Genymotion Cloud y agregar un usuario y su contraseña y creamos la Virtual Divice que querramos seleccionando entre las que se encuentran disponibles.
- Iniciamos la Virtual device creada: en este punto se presentó un problema. Error: Unable to start the virtual device. The virtual device got no IP adress. En el forum http://askubuntu.com/questions/545687/genymotion-virtual-device-got-no-ip-adress alguien publicó: I'm using Ubuntu 14.04 and I got the same error. I reduced the memory below 50% of the total memory. And now it works.
- Para hacer esto, ejecuté VirtualBox desde la terminal (como root) y en Settings > System reduje la Memoria. Luego de hacer este cambio genymotion inició correctamente. Sin embargo, en ocasiones se sigue presentando el mismo error.
9.1.3 Instalar WhatsApp
Iniciamos el navegador Web, descargamos WhatsApp de la página oficial y lo instalamos: https://www.whatsapp.com/android/
Si no se inicia el instalador luego de la descarga, nos vamos al directorio de descarga y lo iniciamos desde allí. Cuando el instalador se inicie aparecerá un mensaje diciendo: For security, your tablet is set to block installations of apps obtained from unknown sources. Debemos entoces permitirlo y esto se hace en Settings. Luego de hacer este ajuste en Setting la instalación debería poder completarse
9.2 Las aplicaciones Android llegan a Chrome vía extensión
10 Importar música a un Ipod
https://help.ubuntu.com/community/PortableDevices/iPod
For this you can use Rhythmbox, Banshee, Amarok or gtkpod. Banshee and Amarok are full music management applications that work with the iPod (much like iTunes), whereas gtkpod is a simpler application used only to sync with the iPod.
11 Mis configuraciones
He creado un directorio en 1-disco_local llamado .1-conf donde pienso guardar todos mis archivos relacionados con configuraciones o archivos ocultos.
11.1 Configuraciones hechas en el .bashrc - /root/.bashrc - /etc/bash.bashrc
.bashrc:
#=========================== # Cambios realizados por mi #=========================== # Ajustar la permisología por defecto (base) de los archivos y directorios creados: drwxr-xr-x (755) -rw-r--r-- (644) umask u=rwx,g=rx,o=rx # -X : sort alphabetically by entry extension # -A : do not list implied . and .. # He realizado este alias para que el comando "la" ordene los archivos ocultos de último y no liste los directorios . y .. alias 'la=ls -AX'
/root/.bashrc: configuraciones para el root
#=========================== # Cambios realizados por mi #=========================== # -X : sort alphabetically by entry extension # -A : do not list implied . and .. # He realizado este alias para que el comando "la" ordene los archivos ocultos de último y no liste los directorios . y .. alias 'la=ls -AX'
11.2 Configuración en ~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/1-disco_local/1-mis_archivos/stockage/desktop-dis" XDG_DOWNLOAD_DIR="$HOME/1-disco_local/1-mis_archivos/stockage/downloads-dis"
Luego, en mi home, creé un soft link (llamado Desktop) hacia desktop-dis. Esto es apropiado para poder ingresar fácilmente al escritorio desde mi home.
ln -s 1-disco_local/1-mis_archivos/stockage/desktop-dis/ Desktop ln -s 1-disco_local/1-mis_archivos/stockage/downloads-dis/ Downloads