我认为 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 或重新启动您的系统。