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.
dd if=/dev/zero of=casper-rw bs=1M count=4096
mke2fs -m 0 -F casper-rw
_ISO/LINUX/ubuntu-14.04.3-desktop-amd64.mnu con el siguiente contenido:
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.
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/
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-rwb) Linux:
Nos vamos a la raiz del usb y ejecutamos como rootdd 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/
Opensuse 13.2: instalación de los drivers nvidia para gtx 770 (gk-104)
Para la instalación desde un sistema Opensuse 13.2 limpio haremos lo siguiente:
1) Instalación del repositorio
1) Instalación del repositorio
sudo zypper ar -f ftp://download.nvidia.com/opensuse/13.2/ nvidia2) Instalación del paquete:
sudo zypper install x11-video-nvidiaG043) Añadir usuario a grupo de video
sudo usermod -a -G video dieguz24) Bloquear drivers nouveau. Vamos a
Yast / Cargador de Arranque / Kernel Parameters / Parámetro opctional para la línea de comandos del kernel / , añadimos al final de lo que haya nomodeset nouveau.modeset=0otra opción es :
echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf5) Comprobar que todo esté ok
glxinfo | grep -i nvidia
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
OpenGL core profile version string: 4.4.0 NVIDIA 346.72
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL version string: 4.5.0 NVIDIA 346.72
OpenGL shading language version string: 4.50 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.1 NVIDIA 346.72
Opensuse 13.2 : Cambiar el swap. dracut Emergency shell, dev does not exist.
Al hacer algunos cambios en el ordenador el swap cambio de ubicación y de uuid, como consecuencia al arrancar el sistemas aparecía el prompt del dracut y siguiente mensaje
Listar las particiones de nuestro sistema y su uuid. Las apuntamos.
La raiz => /dev/sda5
El swap => /dev/sdb5
Hacer chroot del sistema, en dev/sda5 esta mi raiz de linux
Activar el swap
Cambiamos la linea:
# GRUB_CMDLINE_LINUX_DEFAULT=" resume=/dev/disk/by-id/ata-ST3120026AS_3JT2HBTB-part5 splash=silent quiet showopts"
por un noresume
#GRUB_CMDLINE_LINUX_DEFAULT=" noresume splash=silent quiet showopts"
o por un resume de nuestro nuevo swap
# GRUB_CMDLINE_LINUX_DEFAULT=" resume=/dev/sdb5
Actualizamos el grub:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Revisamos también un par de archivos relacionados
/etc/sysconfig/kernel
/etc/sysconfig/bootloader (mirar el DEFAULT APPEND)
Y finalmente
dracut-initqueue[299]: Warning: Could not boot.
dracut-initqueue[299]: Warning: /dev/disk/by-uuid/442317cd-e9ec-4001-90b0-8992008bd956 does not exist
GRUB2 arranque
Si usamos grub2, al arrancar, muestra el menú con las diferentes entradas, si pulsamos 'e', podemos editar los comandos. Hay algunas entradas como esta:linux /boot/vmlinuz-3.16.6-2-desktop root=UUID=9e407f35-c659-44cd-85d4-e17b751da9a4 ro BOOT_IMAGE=/boot/x86_64/loader/linux ramdisk_size=512000 ramdisk_blocksize=4096 resume=/dev/sdb5 splash=silent quiet showoptsSi queremos quitar el resume pondremos noresume, si queremos cambiar el dispositivo, resume=/dev/nuevodev o resume=UUID=uuiddelnuevodispositivo
Sistema Arrancado
Si no arranca el sistema, arrancaremos con algún live CD. En cualquera de los dos casos haremos lo siguienteListar las particiones de nuestro sistema y su uuid. Las apuntamos.
# blkidUEFI => /dev/sda2
/dev/sda2: UUID="1E83-6E29" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="2bb2aec0-85d7-471a-a84e-cb290ae86a2a"
/dev/sda5: LABEL="suse" UUID="0e2c2ce4-cebf-4d2e-8829-19abe7870f27" TYPE="ext4" PARTLABEL="primary" PARTUUID="20a3af3c-265d-421b-a050-60ca64c2ed60"
/dev/sdb5: UUID="935c8fdb-1bfc-480e-8e7a-628ac0919f47" TYPE="swap" PARTUUID="00025d31-05"
La raiz => /dev/sda5
El swap => /dev/sdb5
Hacer chroot del sistema, en dev/sda5 esta mi raiz de linux
# mount /dev/sda5 /mntCon esto ya tendremos montado la raiz de nuestro antiguo sistema.
# mount --bind /dev /mnt/dev
# mount --bind /proc /mnt/proc
# mount --bind /sys /mnt/sys
# chroot /mnt
Activar el swap
# swapon /dev/sdb5opcional :Si necesitamos formatearlo se va a generar un nuevo UUID, así que ojo si usamos UUID(mkswap /dev/sdb5)
GRUB sistema
revisamos /etc/default/grubCambiamos la linea:
# GRUB_CMDLINE_LINUX_DEFAULT=" resume=/dev/disk/by-id/ata-ST3120026AS_3JT2HBTB-part5 splash=silent quiet showopts"
por un noresume
#GRUB_CMDLINE_LINUX_DEFAULT=" noresume splash=silent quiet showopts"
o por un resume de nuestro nuevo swap
# GRUB_CMDLINE_LINUX_DEFAULT=" resume=/dev/sdb5
Actualizamos el grub:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Revisamos también un par de archivos relacionados
/etc/sysconfig/kernel
/etc/sysconfig/bootloader (mirar el DEFAULT APPEND)
Y finalmente
/sbin/mkinitrdreiniciamos y debería estar todo correcto
Apache : calcular tamaño memoria por proceso de apache y optimizar el valor de Maxclients
Para calcular el tamaño que está ocupando en memoria apache y sus procesos podemos usar el siguiente script en bash:
Ejemplo de salida
Apache uso de memoria (MB): 1396.54
Tamaño medio del proceso (MB): 16.8257
Procesos apache: 83
Estos valores son útiles para optimizar el parámetro MaxClients en el fichero /etc/httpd/conf.d/mpm_prefork.conf ( Centos 7 ) .
Para calcular el Valor:
MaxClients = (Total RAM en el sistema - RAM reserva para el resto del sistema) / Tamaño medio del proceso
Por ejemplo si tenemos una máquina con 16 GB, y queremos dedicar al apache el 80% de la memoria (3,2 GB) y el tamaño del proceso es de 17MB.
ps -ylC httpd | awk '{x += $8;y += 1} END { print "Apache uso de memoria (MB): "x/1024; print "Tamaño medio del proceso (MB): "x/((y-1)*1024); print "Procesos apache: "y-1; }'
Ejemplo de salida
Apache uso de memoria (MB): 1396.54
Tamaño medio del proceso (MB): 16.8257
Procesos apache: 83
Estos valores son útiles para optimizar el parámetro MaxClients en el fichero /etc/httpd/conf.d/mpm_prefork.conf ( Centos 7 ) .
Para calcular el Valor:
MaxClients = (Total RAM en el sistema - RAM reserva para el resto del sistema) / Tamaño medio del proceso
Por ejemplo si tenemos una máquina con 16 GB, y queremos dedicar al apache el 80% de la memoria (3,2 GB) y el tamaño del proceso es de 17MB.
MaxClients = (16GB - 3.2 GB) * 1024 / 17MB =771,0118o equivalentemente
MaxClients = ((16×1024) × 0,8) ÷ 17 = 771SI queremos fijar la cantidad de memoria a un valor fijo (ej: 4GB) se hacen las mismas cuentas
MaxClients = (4×1024) ÷ 17 = 240
LDAP: modificar varios atributos con el mismo archivo ldif
Para modificar varios atributos de una entrada LDAP usando sólo un archivo ldif, el formato tiene que ser similar al siguiente:
dn: uidNumber=69696967,ou=Usuarios,dc=dieguz2,dc=esLos atributos que se modifiquen tienen que ir separados por un guión.
changetype: modify
replace: shadowLastChange
shadowLastChange: 111111
-
replace: sn
sn: 222222
-
replace: email
email: dieguz2@no.existo.xy
Solaris:Tiempo epoch en solaris y linux
En linux para obtener la fecha podemos usar:
date +%sEn Solaris no está definido el strftime por lo que tendremos que usar python, perl o una combinación de comandos, por ejemplo:
truss /usr/bin/date 2>&1 | grep ^time | cut -f 2 -d' '
perl -le 'print time()'
truss /usr/bin/date 2>&1 | grep ^time | awk -F"= " '{print $2}'
Postgresql: tamaño de una tabla
Para obtener el tamaño de una tabla en postgres
select pg_size_pretty(pg_total_relation_size('TABLA'));
gnome 3.14: Asociar un tipo de archivo a una aplicación manualmente
Asociar archivo gráficamente:
Dos formas de hacerlo:- Seleccionamos el archivo, le damos al botón derecho, "Abrir Con", "Otra aplicación"
- Botón derecho, propiedades, pestaña "Abrir con"
Podemos pulsar en "Ver todas las aplicaciones" para ver un listado.
Asociar archivo manualmente.
A nivel de sistema el listado de asociaciones está aquí:/usr/share/applications/defaults.listA nivel de usuario:
~/.local/share/applications/mimeapps.listPor ejemplo, Si queremos asociar sublimetext con el listado
1) Definimos el lanzador del sublime (si no lo tenemos definido ya)
vi ~/.local/share/applications/sublimeX.desktop
[Desktop Entry]
Name=Sublime Text Editor 3
Comment=Sublime Text Editor 3
Exec=sublime %F
MimeType=text/plain;
Terminal=false
Type=Application
Icon=/home/dieguz2/programas/sublime_text_3/Icon/256x256/sublime-text.png
Categories=GNOME;GTK;Utility;TextEditor;Development;
Name[es_ES]=Sublime Text 3
StartupNotify=true
[NewWindow Shortcut Group]
Name=New Editor Window
Exec=sublime --new-window
TargetEnvironment=Unity
2) Editamos vi ~/.local/share/applications/mimeapps.list y añadimos:
application/x-php=sublimeX.desktop
Java: instalación jdk 7 en opensuse 13.1
1) Descargar el archivo rpm de http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html?ssSourceSiteId=otnes
Por ejemplo: jdk-7u45-linux-x64.rpm
2) Instalar el RPM
3) Actualización de la alternativas
Extra:
Para ejecutar el plugin en el navegador debemos crear el siguiente enlace:
Extra:
Para configurar el javaws
Por ejemplo: jdk-7u45-linux-x64.rpm
wget http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm
2) Instalar el RPM
rpm -ivh jdk-7*-linux-x64.rpmPor defeto se instala en /usr/java/jdk1.7.0_45/ creando también los enlaces
3) Actualización de la alternativas
4) Comprobar que todo está correctoupdate-alternatives --install "/usr/bin/java" "java" "/usr/java/latest/bin/java" 1 update-alternatives --set java /usr/java/latest/bin/java update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/latest/bin/javac" 1 update-alternatives --set javac /usr/java/latest/bin/javac
java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Extra:
Para ejecutar el plugin en el navegador debemos crear el siguiente enlace:
sudo ln -svf /usr/java/latest/jre/lib/amd64/libnpjp2.so /usr/lib64/browser-plugins/o de forma alternativa :
plugin=$(rpm -ql $(rpm -qa | grep jdk) | grep libnpjp2.so) && ln -svf "$plugin" /usr/lib64/browser-plugins/
Extra:
Para configurar el javaws
rutajws=$(rpm -ql $(rpm -qa | grep jdk) | grep /bin/javaws);
# si salen varios rutajws hay que seleccionar 1 manualmente, por ejemplo:
# rujajws=/usr/java/latest/bin/javaws
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "$rutajws" 1
sudo update-alternatives --set javaws $rutajws
Suscribirse a:
Entradas (Atom)
-
Está es un pequeño tutorial / guia que explica cómo crear un applet en Netbeans ( corriendo en Linux Opensuse). Para programar un applet en ...
-
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis : echo -e "\n linea 1 \n linea 2 \n...
-
Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_na...