2004年
Facebook 上线了!
Ubuntu 的第一个版本发布了!.
这一年也是 Linux 桌面之年!
Novell 收购了 Ximian 和 Mono!
Google 上市了!
Firefox 1.0 发布了!
你的手机是这个样子,掌上电脑仍然刚起步!
NetworkManager 也发布了第一个版本!.
时间很快到了 2014 年…
NetworkManager 1.0发布了!
就在 2014 放假之前,也就在编写 NetworkManager 的第一行代码后的 10 年,我们发布了 1.0 版本。在这 10 年我们经历了大量的里程碑来让 NetworkManager 更具协作性,更灵活,更易于配置,更易于使用。
你会问都有些什么?
1: libnm: 新的 GLib 客户端的库
针对 GLib/GObject 的用户,我们重新整合了 libnm-util 和 libnm-glib 到一个新的库,它就是libnm 。它不再使用 dbus-glib 而使用 GDBus 。它提供了 GIO 样式的异步调用。它以字符串的形式提供了访问 IP 地址、MAC 地址和其它属性的对外接口,而不再使用字节数组。并且它整合 NMClient 和 NMRemoteSettings 对象为一个 NMClient 对象,以及其它的一些更新。
通过下面的代码您可以十分容易的获得 IP 地址。
from gi.repository import GLib, NM
for dev in NM.Client.new(None).get_devices():
ipcfg = dev.get_ip4_config()
if ipcfg:
for addr in ipcfg.get_addresses():
print "(%s) %s/%d" % (dev.get_iface(), addr.get_address(), addr.get_prefix())
2:精简而快速的 DHCP 客户端
虽然新的客户端(基于 systemd/connman 的代码)尚不支持 DHCPv6,但是它比 dhclient 和 dhcpcd 更快速,也不会像 dhclient 那样大量的吃内存。在 NetworkManager.conf 配置文件中使用 ‘dhcp=internal’ 可以启用它,如果有什么问题可以联系我们。我们将在近期支持 DHCPv6 和 增加更多配置。
3:配置后退出
想要一个静态的配置但仍想用下 NetworkManager 配置一下,可以么? NetworkManager.conf 中的 ‘configure-and-quit=yes’ 选项可以配置您的网络接口然后结束 NM 进程,只是产生一些小的辅助进程来保持 DHCP 和 IPv6 地址,这个可节省资源并易于管理。
4:更好的协作性
大势所趋 NetworkManager 1.0 在对外的配置接口上做了很多的改进。另外,改进了 IPv6 sysctl 识别和预留用户自定义路由,创建虚拟网卡不再自动设置 IFF_UP,NetworkManager 处理外部主/从接口(master/slave)的变更更平滑。
5:更强大的 nmcli
我们在 nmcli 中添加了 PolicyKit 和交互的口令,这样允许您完全以命令行的方式来完成网络的配置。 这个新命令 ‘nmcli dev connect’ 可以启动网络接口并使用最好的可用的链接。您也可以通过 nmcli 直接删除虚拟接口。
6: 改进的 IPv6
我们确保如果网络接口被禁用并没有配置的时候,内核也不会分配本地链路地址,这样可以防止安全隐患,当您认为网络已经禁用的情况下。我们也支持 IPv6 无线广域网的连接并修复了一些问题。
7:支持蓝牙拨号上网( Bluetooth DUN)
Bluez5 更改了拨号上网的 API,使用 NetworkManager 无法支持,在发布的最后我们把这个功能又加了回来, 并非因为 Bluez ,而是希望大家享受移动网络的乐趣!
8:更灵活的路由
每一个网络接口都可以有个缺省路由了,NetworkManager 按优先级管理来管理以防止发生冲突。当然,如果您需要,您可以手动管理每一个网络连接的优先级,是想优先使用无线网卡 WiFi ,还是有线网卡。
9:更少的依赖
我们删除了一些直接的依赖 (如 PolicyKit),精简了代码,把功能分成可选择的插件,这样可以更容易的安装到有大小限制的系统。
最后,这些只是冰山的一角,我们不会在此停下来,我们将会继续改进 NetworkManager 有每一个部分,我们计划改进 WiFi 、 VPNs 、电源节省、客户端 APIs及其它更多更多的东东。2015 年将是伟大的一年,当然并不只只是 NetworkManager 的版本大于 1 了!
原文链接:https://blogs.gnome.org/dcbw/2015/01/19/the-whole-damn-world-takes-effect-to-networkmanager-1-0/