小智 11
在我的 12.04 系统上,WiFi 连接和密码(以明文形式)存储在 /etc/NetworkManager/system-connections/ 中的文本文件中
停止网络管理器,将这些文件复制到新机器,恢复权限并重新启动网络管理器对我有用。
sudo stop network-manager
sudo cp /backup/path/etc/NetworkManager/system-connections/* /etc/NetworkManager/system-connections/
sudo chown root.root /etc/NetworkManager/system-connections/*
sudo start network-manager
Run Code Online (Sandbox Code Playgroud)
在Ubuntu 16.04 上,从复制文件/etc/NetworkManager/system-connections/是不够的。这些文件包含 wlan 接口MAC 地址,我还必须更正它才能使其工作。
以下过程对我有用,可以将旧的 12.04 系统中的无线配置导入到新的 16.04 安装中。
# Stop Network Manager
sudo /etc/init.d/network-manager stop
# copy the files from your old system (adapt as needed)
sudo rsync -va -c "/media/$YOUR_OLD_SYSTEM/etc/NetworkManager/system-connections/" /etc/NetworkManager/system-connections/
# Get your new MAC address, and verify it is right.
# For example, this should work if you have only one wireless interface
export MAC=$(iw dev | grep addr | awk '{print $2}')
echo "$MAC"
# Replace the MAC address in all the system-connections files
sudo perl -i.bak -pe 's/^(mac-address=)(.*)/$1$ENV{MAC}/' /etc/NetworkManager/system-connections/*
# Restart NetworkManager, and wait for nm-applet to also start and connect
sudo /etc/init.d/network-manager start
# Delete the backup files with the old MAC addresses
sudo rm /etc/NetworkManager/system-connections/*.bak
Run Code Online (Sandbox Code Playgroud)
如果出于某种原因您希望保留系统连接文件的原始时间戳而不是更改 MAC 地址时的时间戳,这里有一个替代方法,它假设您有 2 个单独的文件夹,其中包含旧的和当前的连接文件:
old=/etc/NetworkManager/system-connections.old
new=/etc/NetworkManager/system-connections
for f in $old/*; do b="$(basename "$f")"; perl -pe 's/^(mac-address=)(.*)/$1$ENV{MAC}/' "$f" > "$new/$b"; touch -r "$f" "$new/$b"; done
Run Code Online (Sandbox Code Playgroud)
关闭网络管理器
sudo /etc/init.d/network-manager stop
pkill nm-applet
Run Code Online (Sandbox Code Playgroud)重新启动网络管理器:
sudo /etc/init.d/network-manager start
Run Code Online (Sandbox Code Playgroud)
按 Alt+F2 并输入 nm-applet --sm-disable 启动小程序。
可能有点过时了。
| 归档时间: |
|
| 查看次数: |
19001 次 |
| 最近记录: |