sábado, 12 de noviembre de 2022

Crear repositorios git como servidor

  •  Instalas paquete adecuados
  • Vamnos a la carpeta donde vamos a tener los repos
  • Para crear un repo, creamos la carpeta donde va a ir, con el sifijo .git
  • Entramos en la carpeta y ejecutamos los sigientes comandos:
git init --bare

  • Ya en el cliente, apadimos en un proyecto ya inciado con git un repo remoto:

git remote add origin [usuario]@[git_server_ip]:[path-de-proyecto]/projectname.git
Es útil cachear las credenciales git para que no esté todo el tiempo pidiendolas:
git config --global credential.helper cache
git config --global credential.helper store


martes, 7 de abril de 2020

Raspbian -DS3231 Módulo hardware de tiempo

Este es el módulo de hora hardware barato DS3231

s-l225.jpg

Y esto es lo que necesitas hacer para instalarlo:

1. Pon la siguiente línea en el fichero:

1
dtoverlay=i2c-rtc,ds3231

2. Edita el fichero /lib/udev/hwclock-set y comenta el siguiente bloque:

1
2
3
if [ -e /run/systemd/system ] ; then
exit 0
fi

Que pasa a quedar así:

1
2
3
#if [ -e /run/systemd/system ] ; then
# exit 0
#fi

Y eso es todo lo que necesitas hacer. Reinicia el sistema, conecta el módulo y vuelve a encender. El siguiente comando leerá la hora directamente del módulo de reloj:

1
sudo hwclock -r

Otros comandos interesantes para trabajar con este módulo hardware son:


1
2
3
4
hwclock -r //Leer datos de modulo
hwclock -w  //Actualizar hora de modulo con datos del sistema
hwclock -s  //Actualizar datos del sistema con hora del modulo
hwclock -c  //Monitoriza la diferencia entre datos de sistema y hora del modulo

Los pines de conexión son:


1
2
3
4
5
Pin#1 3V3
Pin#3 SDA
Pin#5 SCL
Pin#7 GPIO4
Pin#9 GND

Y aquí puedes consultar la posición de los pines:  https://pinout.xyz


sábado, 28 de marzo de 2020

Pi-Raspbian: Backup, modificación y restauración de SD

Pasos:
  • Apagamos la raspberry y sacamos la tarjeta sd.
  • La contectamos al nuestro debian mediante un lector de tarjetas.
  • La detectamos:
1
2
3
4
5
# lsscsi 
[0:0:0:0]    disk    ATA      TOSHIBA-TR200    12.5  /dev/sda 
[1:0:0:0]    disk    ATA      ST500LT012-1DG14 SDM1  /dev/sdb 
[2:0:0:0]    cd/dvd  HUAWEI   Mass Storage     2.31  /dev/sr0 
[3:0:0:0]    disk    HUAWEI   MMC Storage      2.31  /dev/sdc 
  • El enlace del dispositivo es: /dev/sdc
  • Realizamos el backup:
1
# dd if=/dev/sdc of=/home/xxx/temp/image-200328a.img  count=10MB status=progress
  • Montar la imagen para modificarla y luego desmontarla:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# fdisk -l image-200328a.img
Disco image-200328a.img: 1,9 GiB, 1977614336 bytes, 3862528 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x738a4d67

Disposit.          Inicio Comienzo   Final Sectores Tamaño Id Tipo
image-200328a.img1            8192  532479   524288   256M  c W95 FAT32 (LBA)
image-200328a.img2          532480 3862527  3330048   1,6G 83 Linux

  • Calculamos el offset de la partición linux: 512 * 532480 = 272629760
  • Montamos esta partición:
1
2
# mount -v -o offset=272629760 -t ext4 image-200328a.img /mnt/tmp/
mount: /dev/loop0 montado en /mnt/tmp.
  • Desmontamos tras los cambios que sean:
1
# umount /mnt/tmp/
  • Pasamos la imagen a la tarjeta:

1
# dd bs=1M if=./image-200328a.img of=/dev/sdc count=10MB status=progress

Y se acabó!


sábado, 14 de diciembre de 2019

noip2 en rasbian como servicio

Primero bajamos y construimos el ejecutable:

  $ wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
  $ tar xvf noip-duc-linux.tar.gz
  $ cd noip-2.1.9-1/
  $ make

Después los instalamos:
  $ sudo make install

Ahora nos pedirá los datos de acceso a noip2. Los completamos y terminamos.

Tras ello creamos un servicio para que no tengamos que estar lanzándolo a mano. Creamos el fichero /etc/init.d/noip2 con el siguiente contenido:

#! /bin/sh
# /etc/init.d/noip2

# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <eivind@rygge.org>
# Updated by David Courtney to not use pidfile 130130 for Debian 6.
# Updated again by David Courtney to "LSBize" the script for Debian 7.

### BEGIN INIT INFO
# Provides:     noip2
# Required-Start: networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start noip2 at boot time
# Description: Start noip2 at boot time
### END INIT INFO

# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc

DAEMON=/usr/local/bin/noip2
NAME=noip2

test -x $DAEMON || exit 0

case "$1" in
    start)
    echo -n "Starting dynamic address update: "
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;
    stop)
    echo -n "Shutting down dynamic address update:"
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    echo "noip2."
    ;;

    restart)
    echo -n "Restarting dynamic address update: "
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;

    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
exit 0

Damos permisos de ejecución:

  $ sudo chmod a+rx /etc/init.d/noip2

Comprobamos que todo está bien:

  $ sudo /etc/init.d/noip2 start
  $ sudo noip2 -S
  1 noip2 process active. 

  Process 7065, started as noip2
  Using configuration from /usr/local/etc/no-ip2.conf
  Last IP Address set 230.127.57.182
  Account kayon.toga@togaware.com
  configured for:
          group ktware
  Updating every 30 minutes via /dev/eth0 with NAT enabled.

Finalmente activamos la ejecución automática:

  $ sudo update-rc.d noip2 defaults

y se acabó, con esto debería estar todo hecho.

be happy!




domingo, 24 de noviembre de 2019

Notas Raspbian - Varios memoria y filesystems

Copiado de Raspbian a tarjeta de memoria


#sudo dd bs=1M if=rpi_35_v6_1_2_3_jessie_kernel_4_4_50.img of=/dev/mmcblk0

Congelación del kernel

#sudo apt-mark hold linux-image

Operaciones con memorias usb

Discover the location of a USB drive:

ls /dev/sda*

/dev/sda points to the 1st hard drive
/dev/sda1 If the drive is formatted, points to the drive’s 1st partition
/dev/sda2 If the partition exists, points to the 2nd partition, etc.

To mount a USB drive:

sudo mkdir /mnt/usbdrive
sudo mount /dev/sda1 /mnt/usbdrive
ls /mnt/usbdrive

To list your file systems:

sudo fdisk -l
sudo mount -l
df -h

Before disconnecting a USB drive:

sudo umount /dev/sda1

Format

Format a drive to EXT4
sudo mkfs.ext4 /dev/sda1 -L untitled

Add macOS HFS+ read/write support
sudo apt-get install hfsutils hfsprogs

Format a drive to HFS+
sudo mkfs.hfsplus /dev/sda1 -v untitled

Add Windows NTFS read/write support
sudo apt-get install ntfs-3g

Format a drive to NTFS
sudo mkfs.ntfs /dev/sda1 -f -v -I -L untitled

Add Windows/macOS exFAT read/write support
sudo apt-get install exfat-fuse exfat-utils

Format a drive to exFAT
sudo mkfs.exfat /dev/sda1 -n untitled

Add Windows/DOS FAT32 read/write support
sudo apt-get install dosfstools

Format a drive to FAT32
sudo mkfs.vfat /dev/sda1 -n untitled

Notas Raspbian - ip stática

Hemos de abrir el siguiente fichero:

sudo nano /etc/dhcpcd.conf
Vamos al final de fichero y veremos ejemplos comentados de como hemos de hacerlo.
Estas líneas son un ejemplo de lo que necesitaremos poner:
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface wlan0
static ip_address=192.168.43.233/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

viernes, 8 de diciembre de 2017

Fallo en entrada Windows10 tras actualización de Grub, sistema sobre EFI

Pues eso, que si tras actualizar la versión de grub de nuestro debia, la entrada de Windows10 deja de funcionar, podemos hacer lo siguiente:

-Entramos en línea de comando como superusuario.

-Vemos la lista de particiones para identificar la patición EFI:
#fdisk -l
...
/dev/sda2    1230848   1845247    614400   300M EFI System
...

-Vemos el código UUID de esa partición:
# blkid /dev/sda2
/dev/sda2: LABEL="ESP" UUID="5CDG-R4C72" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="313a3cef-7483-43ba-a571-5ecd69c554f1"

-Editamos el fichero vi /etc/grub.d/40_custom, y añadimos al final lo siguiente:
menuentry 'Windows 10' {
    search --fs-uuid --no-floppy --set=root 5CDG-R4C72
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

-Actualizamos grub:

update-grub

-Reiniciar y a ver si hay suerte.

Si el sistema no está basado en EFI, hemos de localizar el identificador de la partición asociada al sistema Windows10 y con él añadir en el mismo fichero indicado más arriba lo siguiente:
menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid CODIGO-UUID-PARTICION-WINDOWS
   ntldr /bootmgr
}


Con esto y un bizcocho...