Recientemente he tenido problemas para la reproducción de archivos avi, codificados con xvid.
Usando el comando: vlc -vvv --no-plugin-cache
Obtenia el siguiente error: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (libmp4v2.so.0: cannot open shared object file: No such file or directory).
Para ver el software instalado ejecutamos como usuario normal:
zypper se libmp4
El problema es debido a que tengo dos repositorios para el paquete libmp4v2, el de vlc y el packman, las versiones en cada uno de ellos es diferente.
La versión instalada procede del repositorio del packman libmp4v2 (version 1.5.0.1-10.pm.0) .
la desinstalamos como root y con el comando
zypper rm libmp4v2
Procedemos a instalar la versión del repositorio de VLC con:
zypper in libmp4v2-0
Realizando estos pasos deberiamo poder visualizar correctamente los archivos avi en el reproductor VLC
Init: cambiar el runlevel inicial
En Opensuse 10.3 podemos cambiar el runlevel por defecto (que suele ser 5) a cualquier otro. Para ello:
1) editaremos el fichero /etc/inittab.
2) El runlevel por defecto viene definido en una linea como esta:
En lugar del 5 pondremos el runlevel que deseemos:
runlevel 0: System halt
runlevel 1: Single user mode
runlevel 2: Local multiuser sin red
runlevel 3: full multiuser con red
runlevel 4: no se usa
runlevel 5: full multiuser con red y xdm (entorno gráfico)
runlevel 6: system reboot
Los runlevels habituales son el 5 con el que se carga el entorno grafico y el 3.
1) editaremos el fichero /etc/inittab.
2) El runlevel por defecto viene definido en una linea como esta:
id:5:initdefault
En lugar del 5 pondremos el runlevel que deseemos:
runlevel 0: System halt
runlevel 1: Single user mode
runlevel 2: Local multiuser sin red
runlevel 3: full multiuser con red
runlevel 4: no se usa
runlevel 5: full multiuser con red y xdm (entorno gráfico)
runlevel 6: system reboot
Los runlevels habituales son el 5 con el que se carga el entorno grafico y el 3.
Procedimiento para dar permisos a un usuario sobre un conjunto de tablas
El objetivo es realizar un procedimiento que reciba como argumento un usuario, y cuya función sea dar permisos de lectura a todas nuestras tablas, salvo aquellas por ejemplo que comiencen por TMP.
Es posible añadir condiciones adcionales para filtrar las tablas a las que queremos dar permisos, de modo que sólo tablas con un nombre determinado sean las que tengan permisos de lectura.
Para ello usamos un CURSOR y lo recorremos mediante un blucle.
create or replace
PROCEDURE permisos( USER IN VARCHAR2) AS
CURSOR tablas IS
select table_name from user_tables where table_name not like 'TMP%'
table_name VARCHAR2(255);
BEGIN
OPEN tablas;
FETCH tablas INTO table_name;
WHILE tablas%found
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || table_name || ' TO "' || USER || '"';
FETCH tablas INTO table_name;
END LOOP;
CLOSE tablas;
COMMIT;
END;
De esta forma y con tan solo llamar a una función podemos automatizar el otorgar privilegios a otros usuarios.
Es posible añadir condiciones adcionales para filtrar las tablas a las que queremos dar permisos, de modo que sólo tablas con un nombre determinado sean las que tengan permisos de lectura.
Para ello usamos un CURSOR y lo recorremos mediante un blucle.
create or replace
PROCEDURE permisos( USER IN VARCHAR2) AS
CURSOR tablas IS
select table_name from user_tables where table_name not like 'TMP%'
table_name VARCHAR2(255);
BEGIN
OPEN tablas;
FETCH tablas INTO table_name;
WHILE tablas%found
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || table_name || ' TO "' || USER || '"';
FETCH tablas INTO table_name;
END LOOP;
CLOSE tablas;
COMMIT;
END;
De esta forma y con tan solo llamar a una función podemos automatizar el otorgar privilegios a otros usuarios.
Suscribirse a:
Entradas (Atom)
-
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...
-
Para obtener cuando se creó una tabla usaremos la siguiente consulta: select object_name, created from user_objects where object_name = ...