GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ver el contenido de una copia de seguridad del archivo de base de datos Dconf?

Hice una copia de seguridad del archivo donde mi dconf se almacena la base de datos (~/.config/dconf/user que es un archivo binario), y ahora necesito mover algunas claves de la copia de seguridad a dconf en uso.

¿Cómo puedo ver el contenido de la copia de seguridad dconf? sin ponerlo "en su lugar" y verlo con, por ejemplo, dconf-editor ?

Respuesta aceptada:

Para ver el contenido de ese archivo, puede cambiarle el nombre, p. test – colóquelo debajo de ~/.config/dconf/ y luego tener dconf leer/volcar la configuración de ese archivo.
Por defecto, dconf lee el user-db encontrado en $XDG_CONFIG_HOME/dconf/ :

Un "user-db" línea especifica una base de datos de usuario.
Estas bases de datos se encuentran en $XDG_CONFIG_HOME/dconf/ . El nombre del archivo a abrir en ese directorio
es exactamente como está escrito en el perfil. Se espera que este archivo
esté en formato de base de datos binaria dconf. Tenga en cuenta que XDG_CONFIG_HOME no se puede establecer/modificar por terminal o sesión,
porque entonces el escritor y el lector estarían trabajando en bases de datos diferentes
(el escritor es iniciado por DBus y no puede ver esa variable).

Como resultado, necesitaría un perfil personalizado que apunte a ese archivo db en particular, p. user-db:test y luego instruir a dconf para volcar los datos (utilizando el perfil personalizado) a través de DCONF_PROFILE variable de entorno:

cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings

El resultado es un archivo (old_settings ) que contiene la configuración de su copia de seguridad dconf archivo, por ejemplo:

[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'

[org/gnome/desktop/input-sources]
[email protected](ss) []
[email protected] []

[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

.......

A continuación, puede eliminar esos archivos:

rm -f ~/db_profile ~/.config/dconf/test

y cargue la configuración anterior en la base de datos actual:

dconf load / < old_settings

Si desea volcar solo configuraciones específicas, proporcione la ruta:

DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

pero tenga en cuenta que para cada ruta debe tener un archivo diferente y cuando lo cargue debe especificar la ruta en consecuencia:

dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings

También tenga en cuenta que, debido a los cambios anteriores, dconf las bases de datos pueden contener rutas, claves y valores que no son válidos en las versiones más recientes, por lo que la compatibilidad total entre los archivos db creados por diferentes versiones de dconf no siempre está garantizado. En ese caso, tendría que inspeccionar la old_settings resultante y elimine o edite manualmente las entradas que no son válidas antes de cargarlo en su base de datos actual.

Relacionado:Centos – DNSMasq – ¿Diferentes respuestas para direcciones MAC específicas?
Linux
  1. ¿Cómo agregar una nueva línea al final de un archivo?

  2. ¿Cómo almacenar la paleta de colores de Gnome Terminal?

  3. ¿Cómo hacer una copia de seguridad de su base de datos Mysql con phpMyAdmin?

  4. Cómo cargar contenido en Plesk

  5. ¿Cómo agregar la salida a un archivo?

¿Cómo realizar una copia de seguridad de la base de datos MSSQL de SolidCP?

¿Cómo realizar una copia de seguridad de la base de datos MSSQL de WebsitePanel 2.1?

¿Cómo realizar una copia de seguridad de la base de datos MySQL desde WebsitePanel 2.1?

¿Cómo comprobar el nombre de la base de datos de Joomla?

Cómo realizar una copia de seguridad de la base de datos en Plesk

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux