GIT: Mantener un fork actualizado en github

Supongmaos que hemos hecho un fork de un repositorio, y queremos que los cambios del repositorio original se guarden en el nuestro. Para sincronizarlos tenemos que hacer lo siguiente.

1- Clonamos en local nuestro repositorio con el fork

git clone git@github.com:USUARIO/REPOSITORIO-FORK.git

2. Añadimos el remoto desde el el repositorio original en nuestro repositorio fork:

cd DirectorioRepositorioFork
git remote add upstream git://github.com/DESARROLADOR-ORIGINAL/REPOSITORIO.git
git fetch upstream

3. Actualizamos el fork con el repositorio original para tener los cambios actualizados

git pull upstream master


4. Subimos los cambios a nuestro fork

git push origin master

Ejemplo concreto:
git clone git@github.com:pollopolea/core.git
cd core
git remote add upstream https://github.com/owncloud/core.git
git fetch upstream

git pull upstream master
git push

Yum con errores ( liblber ) después de desinstalar openldap

Descargamos paquetes y forzamos la instalación
cd tmp wget http://mirror.centos.org/centos/7/os/x86_64/Packages/openldap-2.4.40-13.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/openldap-2.4.40-13.el7.x86_64.rpm
rpm --upgrade --oldpackage --replacefiles --replacepkgs openldap-*.el6.x86_64.rpm
yum reinstall openldap

Restaurar archivos de configuración de un paquete en Centos

Si necesitamos recuperar todos archivos de un paquete, por ejemplo los archivos de configuración podemos hacer los siguiente:
rpm -qf /etc/httpd/conf/httpd.conf
httpd-2.4.6-45.el7.centos.x86_64
Luego forzamos la reinstalación del paquete
yum reinstall  httpd-2.4.6-45.el7.centos.x86_64

Instalación de Pgadmin4 en opensuse leap 42.2 mediante PIP

Tras intentar de varias formas, probando de varias maneras: varios repositorios de software http://software.opensuse.org/,  bajando el código código fuente ( no conseguía resolver la dependencia python3-htmlmin).... Esta es una forma en la que he conseguido que funcione bien. La instalación ha sido con opensuse leap 42.2 y PgAdmin 4 v1.4

1- Instalación de dependencias, quizá necesites alguna más dado que en las pruebas tuve que hacer varias instalaciones relacionadas con python:
zypper up
zypper in python-virtualenv python-pip libpq5 libpqxx-5_0 python-devel
2- Instalación mediante pip, recuerda cambia la ruta, en el ejemplo se instalará en ~/Programas/pgadmin4/:

cd ~/Programas/
virtualenv pgadmin4
cd pgadmin4
source bin/activate
wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.4/pip/pgadmin4-1.4-py2.py3-none-any.whl
sudo pip install --upgrade pip
sudo pip install pgadmin4-1.4-py2.py3-none-any.whl
3- Ejecución del servidor. En la primera ejecución nos preguntará por un usuario y contraseña, que será el que usemos en posteriores accesos.:
sudo python /usr/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
4- Acceso a la web, en el navegador ponemos la direccion y como usuario y password, los que hemos puesto en el paso 3:
http://localhost:5050/

Centos: buscar a que paquete pertenece un archivo y versiones

A veces necesitamos buscar a que paquete pertenece un determinado fichero. Por ejemplo si queremos buscar a que paquete pertenece el fichero /usr/sbin/suexec:
rpm -qf /usr/sbin/suexec
 Si queremos listar todos los archivos de un paquete. En el ejemplo como listar el contenido del paquete
rpm -ql httpd-2.4.6-40.el7.centos.4.x86_64
Para ver información y que versiones podemos instalar podemos usar:
yum info
yum list
yum --showduplicates list

Bash: bucle en una línea usando secuencia

Para hacer un bucle en bash con una sola línea y usando una secuencia podemos hacerlo así
for i in {0..15}; do echo "mkdir -p /disk${i}/home";  done

Solaris 10: buscar archivo entre dos fechas

En solaris 10, para buscar  archivos entre dos fechas podemos usar el siguiente comando:

touch -d "2016-03-17 10:14:00" /tmp/start
touch -d "2016-03-17 10:16:00" /tmp/end
find DIRECTORIO  -type f \( -newer /tmp/start -a ! -newer /tmp/end  \) -print

Creamos dos archivos con el rango de fechas que queramos, y usamos find para que encuentre los archivos entre esas fechas. En el ejemplo buscamos los archivos del  2016-03-17, entre las 10:14:00 y las 2016-03-17 10:14:00

CENTOS 7: No se pudo cargar el archivo /etc/sysconfig/network-scripts/ifcfg-lo

Al iniciar las interfaces de red o al arrancar el sistemas operativo podemos encontrar el siguiente mensaje:

Activación de la interfaz de loopback:  No se pudo cargar el archivo /etc/sysconfig/network-scripts/ifcfg-lo
No se pudo cargar el archivo /etc/sysconfig/network-scripts/ifcfg-lo

Si hacemos sun systemctl status network observaremos el mismo mensaje.
Para solucionarlo:
1- Editamos el archivo /etc/sysconfig/network-scripts/ifcfg-lo
2- Añadimos al archivo la línea TYPE=Loopback
3- Reiniciamos la red con systemctl restart network



ORACLE: privilegios de un rol

Para saber que privilegios tiene asignado un determiando rol:

SELECT * FROM  ROLE_SYS_PRIVS ;
Para ver los roles asignado a un usuario:

SELECT * FROM USER_ROLE_PRIVS;

Easy2boot: Persistencia y cambiar tamaño de archivo loopback (casper-rw)

Supongamos que tenemos un USB con EASY2boot instalado y queremos tener persistencia.

1) Persistencia:

Creamos un archivo de persistencia, dos formas posibles:

a) Windows:

Usando RMPrepUSB: le damos al botón "Create ext2 FS", fijamos 4GB, de nombre de archivo casper-rw (o el nombre que queramos) y de nombre de volumen casper-rw 

b) Linux:

Nos vamos a la raiz del usb y ejecutamos como root
dd if=/dev/zero of=casper-rw bs=1M count=4096
mke2fs -m 0 -F casper-rw

2) Menú de Arranque:

Supongamos que tenemos una iso de ubuntu copiada en ( _ISO/LINUX/ubuntu-14.04.3-desktop-amd64.iso ), debemos crear un archivo llamado
_ISO/LINUX/ubuntu-14.04.3-desktop-amd64.mnu con el siguiente contenido:

# Make a ext2 file using RMPrepUSB in the root of the drive (i.e. File Name=Ubuntu1304-rw  Volume Name=casper-rw)
# Place this .mnu file and the Ubuntu ISO in (_ISO\xxx\MNU), e.g. \_ISO\MainMenu\MNU or \_ISO\Linux\MNU
# This menu will work even on an NTFS USB boot drive
# IMPORTANT: you MUST run WinContig (Ctrl+F2) before booting E2B.


iftitle [if exist $HOME$/ubuntu-14.04.3-desktop-amd64.iso] Ubuntu 14.04.3 PERSISTENT casper\n Boot using .mnu file with persistence

set ISO=$HOME$/ubuntu-14.04.3-desktop-amd64.iso
set PF=/casper-rw

if "%E2BDEV%"=="" set E2BDEV=hd0 && pause E2BDEV forced to hd0!
if exist CD echo WARNING: Cannot use partnew command! && pause && configfile (bd)/menu.lst
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (%E2BDEV%,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%E2BDEV%,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist %PF% echo WARNING: %PF% persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (%E2BDEV%,2) 0x0 %PF%
errorcheck on
#map ptn 4 to ISO
partnew (%E2BDEV%,3) 0x0 %ISO%
map %ISO% (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi  boot=casper persistent noeject noprompt quiet splash --
initrd /casper/initrd.lz 

4) Defragmentar:

Si vamos usar Easy 2 boot  (E2B) el archivo debe de estar defragmentado, si el USB donde está el archivo casper-rw es NTFS debemos usar windows para defragmentarlo, concretamente:

Ejecutar en stick USB MAKE_THIS_DRIVE_CONTIGUOUS.cmd desde el raiz del USB o _ISO/docs/WINCONTIG/WinContig.exe o  _ISO/docs/WINCONTIG/MAKE_THIS_DRIVE_CONTIGUOUS.cmd

PD: también se podría usar linux con rsync pero es más rápido y menos engorroso usar las herramientas de defragmentación en windows.

5) Ampliar archivo de loopback desde linux:

El usb tiene que estar en formato NTFS, si está en Fat32 el tamaño máximo de archivo es de 4GB.

Supongamos que tenemos el archivo casper-rw con ext2 y 4 Gigas de espacio. Para ampliarlo otros 4 GB (8 GB en total).
Por si acaso algo sale mal primero haz una copia del archivo en tu disco duro u otro sitio.

dd if=/dev/zero of=casper-rw bs=1M count=4096 oflag=append conv=notrunc
e2fsck -f of=casper-rw
resize2fs casper-rw
e2fsck -f of=casper-rw

y volvemos a defragmentar (paso 4)

Enlaces:
http://www.easy2boot.com/