Gnome-Network-Manager 配置文件迁移

Gnome-Network-Manager 配置文件迁移

我认为 gnome-network-manager 存在问题,我以前配置了很多连接,无线、有线和 VPN。升级到 12.04(从 11.10)后,我丢失了所有配置。

我意识到以前保存在 $HOME/.gconf/system/networking/connections 中的配置现在保存在 /etc/NetworkManager/system-connections/ 中。

我不知道如何将我的设置迁移到新的配置文件格式

有谁能够帮助我?


jorge@thinky:~$ sudo lshw -C 网络

*-网络

   description: Ethernet interface
   product: 82566MM Gigabit Network Connection
   vendor: Intel Corporation
   physical id: 19
   bus info: pci@0000:00:19.0
   logical name: eth0
   version: 03
   serial: 00:1f:e2:14:5a:9b
   capacity: 1Gbit/s
   width: 32 bits
   clock: 33MHz
   capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=1.5.1-k firmware=0.3-0 latency=0 link=no multicast=yes port=twisted pair
   resources: irq:46 memory:fe000000-fe01ffff memory:fe025000-fe025fff ioport:1840(size=32)

*-网络

   description: Wireless interface
   product: PRO/Wireless 4965 AG or AGN [Kedron] Network Connection
   vendor: Intel Corporation
   physical id: 0
   bus info: pci@0000:03:00.0
   logical name: wlan0
   version: 61
   serial: 00:21:5c:32:c2:e5
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=iwl4965 driverversion=3.2.0-23-generic-pae firmware=228.61.2.24 ip=192.168.2.103 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
   resources: irq:47 memory:df3fe000-df3fffff

jorge@thinky:~$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:    12.04
Codename:   precise

jorge@thinky:~$ uname -a
Linux thinky 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux

jorge@thinky:~$ dpkg -l  | grep -i firm

ii  linux-firmware                                              1.79                                    Firmware for Linux kernel drivers

答案1

迁移通常由“nm-applet”完成,这意味着它通过 GConf 读取旧用户配置并以新格式将其写入“/etc/NetworkManager/system-connections/”下

一个问题是这只执行一次,但您可以通过“gconftool-2 -s /apps/nm-applet/stamp --type=int 2”触发“nm-applet”重新运行迁移,因此下次启动时它将重新扫描 GConf。重复条目将附加一个 UUID。

但是当“nm-applet”通过 GConf 搜索旧配置时,您应该确保“.gconf/system/networking/connections”确实列在其中。因此,使用“gconftool-2 --dump /system/networking/connections”进行验证,它应该会列出您的所有连接。

在我的情况下,“.gconf/system/networking/connections”无法通过 GConf 获得,因此“nm-applet”无法迁移它。因此,我在系统上创建了一个新用户,并将我的“.gconf/system/networking/connections”复制到新用户的主目录中,然后从这个新登录名迁移它。为了纠正错误的权限,我使用了“sudo sed -i“s/permissions=user:NEWUSER/permissions=user:REALUSER/g”/etc/NetworkManager/system-connections/*”,其中 REALUSER 显然是您的真实用户,而 NEWUSER 是临时迁移用户。

虽然最终将所有内容迁移到“/etc/NetworkManager/system-connections/”是件好事,但新的存储位置还存在不少问题,您应该注意:

  • 对于重新安装和备份情况,你总是需要保存/移动新的位置,以前你的/home就足够了
  • 您的用户专用连接不再受加密主目录的保护
  • 存在一些安全漏洞,仅用户连接的密码以明文形式存储在 /etc 下,而不是安全地存储在加密的密钥环中

答案2

应该可以在新安装上重新创建 gconf 配置。

mkdir -p ~/.gconf/system/networking/connections

恢复旧系统中的所有文件。记得%gconf.xml在每个目录中创建空文件。重新启动gconfd。然后使用转储配置进行测试gconftool-2

一旦我完成此操作,nm-applet就可以找到并迁移设置。

答案3

您需要将 network-manager gui 中的设置转换为系统连接,以便所有用户都可以使用。在这种情况下,您将在 /etc/NetworkManager/system-connections/ 中获取您的设置。之后,只需将该目录的内容复制到新系统并重新启动 network-manager 或重新启动您的系统。

相关内容