Mostrando las entradas para la consulta sudo ordenadas por fecha. Ordenar por relevancia Mostrar todas las entradas
Mostrando las entradas para la consulta sudo ordenadas por fecha. Ordenar por relevancia Mostrar todas las entradas

Montar disco duro usb en linux

En está ocasión quería montar un servidor dlna en una Raspberry. Para ello tenía que montar un disco duro externo en un sistema basado en Linux.
Antes de nada hay actualizar nuestro sistema para que reconozca el sistema de archivos utilizado por Windows NTFS, por que es el sistema en el que esta formateado mi disco duro y no quiero formatearlo para no perder datos.

sudo apt-get install ntfs-3g

Luego deberemos averiguar si nuestro sistema ha reconocido nuestro disco duro y donde se encuentra localizado para poder montarlo

sudo blkid

/dev/sda2: LABEL="Seagate Expansion Drive" UUID="9026****626679C4A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="74fd**27-****-483e-bc23-******0"

/dev/mmcblk0: PTUUID="b78***38" PTTYPE="dos"

/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="fca0fbe2-***-49b4-8e51-***ec23"

En mi caso el disco duro se encuentra en el directorio:

/dev/sda2

Crearemos un directorio donde montaremos nuestra unidad usb y donde accederemos a su contenido.

sudo mkdir /media/discousb

Le indicaremos a nuestro sistema operativo que monte de forma automática nuestro disco duro en la carpeta que hemos creado. Para ello deberemos editar el archivo fstab que se encuentra en el directorio etc

sudo nano /etc/fstab

Actualizar nuestro sistema Linux

Mantener nuestro sistema actualizado nos brinda más funcionalidad, corrección de posibles errores en versiones previas y sobre todo mayor seguridad.
En este caso vamos a actualizar una Raspberry, la cual no tiene conectado ningún periférico y tenemos administrarlo de forma remota.
Accedemos mediante ssh
ssh <dirección ip raspberry> -l <nombre usuario>
Los siguientes pasos son similares, para nuestra administración en local o en remoto
Actualizamos los repositorios que se encuentran listados en el archivo /etc/apt/sources.list. Realizamos la comprobación si nuestros paquetes tienen una versión mejorada.
sudo apt-get update
Aun no hemos actualizado nuestro sistema. Esta tarea la realizaremos con el comando:
sudo apt-get dist-upgrade
Actualizando paquetes instalados en Raspberry
Actualizando paquetes instalados en Raspberry

Otra forma seria
sudo apt-get upgrade 
Entre las dos opciones que tenemos,  dist-upgrade nos facilitará la actualización resolviendo posibles conflictos con las dependencias.
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.


dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.

Webmin, salvavidas para los que no somos puritanos de la linea de comandos

No me considero puritano de la línea de comandos, incluso es desesperante 😣😱.
Si que es cierto que para la gestión de nuestro equipo, servidor local o remoto es una herramienta imprescindible; y nos permite un consumo mínimo de recursos.
Pero la carne es debil. Webmin es una herramienta para la gestión sistemas Unix, como GNU/Linux y OpenSolaris basado en web; si podremos utilizar el ratón 😈. Está escrito en Perl, se encuentra en español y como he dicho es vía web, con lo cual es multiplataforma.

Wiki Webmin


En la siguiente página se encuentra los distintos formatos de empaquetado para poder instalarlo en nuestro equipo
http://www.webmin.com/download.html
wegt  https://prdownloads.sourceforge.net/webadmin/webmin_1.900_all.deb
sudo dpkg -i webmin_1.900_all.deb
En mi caso la instalación en una Raspberry con el sistema operativo Raspbian no hubo ningún problema. Pero en Linux Mint 19.1 Cinnamon no resulto tan fácil y tuve que resolver dependencias con un paquete que faltaba.

Una vez instalado, accederemos desde nuestro navegador a la dirección ip que queremos administrar a través de protocolo seguro https y el puerto 10.000:

https://localhost:10000/

Puede ser que tu navegador te recuerde que la conexión no es privada, continuamos de todos modos.


Y solo nos quedará iniciar sesión como root o como el usuario que tengamos como administrador

Resolver dependencias al instalar un paquete

La instalación de paquetes en linux, en algunos casos, suele ser frustrante; sobre todo si el programa que queremos instalar tiene la necesidad de tener instalados previamente en nuestro equipo otros paquetes para que funcione.
Instalaciones incompletas nos bloquea el instalador para nuevos paquetes.
En mi caso instalado el paquete
sudo dpkg -i webmin_1.900_all.deb
Quedo incompleta su instalación, ya que dependía de la instalación de paquetes que no se encontraban en el sistema:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Tal vez quiera ejecutar «apt --fix-broken install» para corregirlo.
Los siguientes paquetes tienen dependencias incumplidas:
 webmin : Depende: libauthen-pam-perl pero no está instalado
          Depende: apt-show-versions pero no está instalado
E: Dependencias incumplidas. Intente «apt --fix-broken install» sin paquetes (o especifique una solución).
Ejecutando el comando apt-get
sudo apt-get --fix-broken install
 Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Corrigiendo dependencias... Listo
Se instalarán los siguientes paquetes adicionales:
  apt-show-versions libauthen-pam-perl
Se instalarán los siguientes paquetes NUEVOS:
  apt-show-versions libauthen-pam-perl
0 actualizados, 2 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Se necesita descargar 0 B/52,8 kB de archivos.
Se utilizarán 172 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s
Seleccionando el paquete libauthen-pam-perl previamente no seleccionado.
(Leyendo la base de datos ... 367984 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../libauthen-pam-perl_0.16-3build5_amd64.deb ...
Desempaquetando libauthen-pam-perl (0.16-3build5) ...
Seleccionando el paquete apt-show-versions previamente no seleccionado.
Preparando para desempaquetar .../apt-show-versions_0.22.7ubuntu1_all.deb ...
Desempaquetando apt-show-versions (0.22.7ubuntu1) ...
Configurando libauthen-pam-perl (0.16-3build5) ...
Configurando apt-show-versions (0.22.7ubuntu1) ...
** initializing cache. This may take a while **
Configurando webmin (1.900) ...
Webmin install complete. You can now login to https://localhost:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
Fueron satisfechas las dependencias y terminando correctamente la instalación, en este caso, de Wemin

Inicializar nuestro script al inicio del sistema

Resulta interesante arrancar nuestro script cada vez que se inicie nuestro sistema operativo basado en Linux.
Daremos privilegios de ejecución
sudo chmod +x script.sh
Copiaremos nuestro  script, con el comando cp,  a la carpeta /etc/init.d/
sudo cp script.sh /etc/init.d/
Con el comando update-rc.d añadiremos el archivo en el arranque de Linux.
sudo update-rc.d script.sh defaults

Instalar Packet Tracer de Cisco

Packet Tracer es un simulador de redes con el que crear, practicar, interactuar y programar.
Es una herramienta de Cisco para su Networking Academy.
La aplicación es multi-plataforma y en este caso explicaré como instalarlo bajo plataforma Linux resulta siempre 😔 más complicado.

La inscripción en gratuita, pero obligatoria para descargar la aplicación y su posterior utilización.


Descomprimimos descargado:
tar -xzvf Packet Tracer 7.2 for Linux 64 bit.tar.gz -C /cisco
Accedemos a la carpeta cisco y  ejecutamos el instalador:
./install
Welcome to Cisco Packet Tracer 7.2 Installation
Read the following End User License Agreement "EULA" carefully. You must accept the terms of this EULA to install and use Cisco Packet Tracer.
Press the Enter key to read the EULA.

                                                Cisco Packet Tracer
                                             Software License Agreement
IMPORTANT: PLEASE READ THIS CISCO PACKET TRACER SOFTWARE LICENSE AGREEMENT (THE
"AGREEMENT") CAREFULLY.  DOWNLOADING, INSTALLING OR USING THE CISCO PACKET TRACE
R SOFTWARE CONSTITUTES ACCEPTANCE OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO ALL
 OF THE TERMS OF THIS AGREEMENT, THEN CISCO SYSTEMS, INC. ("CISCO") IS UNWILLING
 TO LICENSE THE SOFTWARE TO YOU AND YOU ARE NOT AUTHORIZED TO DOWNLOAD, INSTALL
OR USE THE SOFTWARE.
I. DISTRIBUTION RIGHTS.  The terms in this Section I (Distribution Rights) 
Deberemos aceptar los terminos de uso de la aplicación ⇪

Por defecto colocará nuestra instalación en el directorio...
Nos solicitará privilegios de administración si confiamos en realizar la instalación en la ubicación predeterminada.
You have accepted the terms to the EULA. Congratulations. Packet Tracer will now be installed.
Enter location to install Cisco Packet Tracer or press enter for default [/opt/pt]:
[sudo] contraseña para <usuario>:         
Installing into /opt/pt
Not able to create and copy files to /opt/pt
Should we try to gain root access with sudo? [Yn] y
Installing into /opt/pt
Copied all files successfully to /opt/pt
Creará un enlace  simbólico para facilitar el arranque de la aplicación
Should we create a symbolic link "packettracer" in /usr/local/bin for easy Cisco Packet Tracer startup? [Yn] y
Paso final:
Type "packettracer" in a terminal to start Cisco Packet Tracer
Writing PT7HOME environment variable to /etc/profile
Writing QT_DEVICE_PIXEL_RATIO environment variable to /etc/profile
Cisco Packet Tracer 7.2 installed successfully
Please restart you computer for the Packet Tracer settings to take effect

Para poder utilizar la aplicación Packet Tracer tenemos que satisfacer sus pendencias instalando la librería libpng 12
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.3_i386.deb 

Realizamos la instalación de acuerdo con la arquitectura de nuestro dispositivo 32 ó 64 bits
dpkg -i libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb
Una vez reiniciemos nuestro equipo lanzaremos la aplicación:
packettracer

Como cambiar servidor DNS en linux

Si tenemos la necesidad de cambiar o actualizar la información de los servidor de DNS  de nuestro equipo, modificaremos el fichero  /etc/resolv.conf
Podremos utilizar el editor nano.

sudo /etc/init.d/networking restart

La lectura del archivo sería:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 9.9.9.9
nameserver 8.8.8.8

En cada línea seguido de namesever indicaremos la dirección ip de nuestro servidor DNS.

Guardaremos nuestra edición Control+O y saldremos del editor con Ctrl+X
Reiniciamos el servicio de red de nuestro equipo:

sudo /etc/init.d/networking restart

Acceder a otra maquina utilizando protocolo ssh

Podemos acceder al terminal de otra maquina utilizando el protocolo ssh

sudo ssh <ip maquina a la que queremos conectarnos> -l <nombre del usuario con el cual nos queremos conectar>

Utilizando sudo nos permitirá aceptar la certificación de la maquina a la que queremos conectarnos aunque esta sea desconocida.
Al agregar la opción -l indicamos con que usuario nos queremos conectar. Si omitimos esta opción se nos preguntará con que usuario nos queremos hacer login

Montar carpeta remota FTP carpeta local en linux

En Linux hay varios programas para acceder de forma remota a nuestro servidor FTP.
Pero en esta ocasión me resultaba interesante montar una carpeta en local con acceso directo al disco duro compartido colocado en el router de la ISP y compartido mediante el protocolo FTP.
Buscando la manera más fácil y eficaz me encontré con este tutorial Montar carpeta remota FTP en Linux que utiliza el comando curlftpfs

curlftpfs(1) CurlFtpFS Manual curlftpfs(1)
NAME
curlftpfs - mount a ftp host as a local directory
SYNOPSIS
curlftpfs [options] host path
DESCRIPTION
The program curlftpfs is a tool to mount remote ftp hosts as local
directories. It connects to the host FTP server and maps its directory
structure to the path directory.
curlftpfs is powered by libcurl for all transfer-related features. See
libcurl(3) for details. The filesystem part is implemented on top of
FUSE. See http://fuse.sourceforge.net/ for details.
De forma predeterminada no estará nuestro sistema. Realizamos la instalación con el script:
sudo apt-get install curlftpfs
Crearemos la carpeta donde montaremos nuestra localización remota:

mkdir /home/usuario/ftp

Ejecutaremos el siguiente script que montara nuestra carpeta remota en local

sudo curlftpfs -o allow_other usuarioftp:contraseña@servidor.com /home/usuario/ftp -v

Con -v nos mostrará en pantalla la respuesta del servidor. Nos servirá para corregir posibles errores
Cuando comprobemos que funciona correctamente cargaremos nuestro script en el inicio de nuestro equipo