Difference between revisions of "Netctl (简体中文)"

From ArchWiki
Jump to: navigation, search
(Migrating from netcfg)
Line 40: Line 40:
  # netctl reenable <profile>
  # netctl reenable <profile>
===Migrating from netcfg===
===netcfg 迁移的方法===
{{ic|netctl}} uses {{ic|/etc/netctl}} to store its profiles, ''not'' {{ic|/etc/network.d}} ({{ic|netcfg}}'s profile storage location).
{{ic|netctl}} 使用 {{ic|/etc/netctl}} 保存配置,而'''不是''' {{ic|/etc/network.d}} ({{ic|netcfg}}保存配置的位置).
In order to migrate from netcfg, at least the following is needed:
netcfg 迁移,请执行:
*Move network profile files to the new directory.
*Rename variables therein according to netctl.profile(5) (most have only become CamelCase i.e CONNECTION= becomes Connection=).
*根据 netctl.profile(5) 修改变量名称(主要是大小写变化,例如 CONNECTION= 变成 Connection=).
*Unquote interface variables and other variables that don't strictly need quoting (this is mainly a style thing).
*Run {{ic|netctl enable <profile>}} for every profile in the old NETWORKS array. 'last' doesn't work this way, see netctl.special(7).
*为每一个配置执行{{ic|netctl enable <profile>}} 'last' 工作方式有变化,参阅 netctl.special(7).
*Use {{ic|netctl list}} / {{ic|netctl start <profile>}} instead of netcfg-menu. wifi-menu remains available.
*使用 {{ic|netctl list}} / {{ic|netctl start <profile>}} 替换 netcfg-menu. wifi-menu 依然保留。
===Password encryption (256-bit PSK)===
===Password encryption (256-bit PSK)===

Revision as of 03:37, 11 April 2013

Template:Article summary start Template:Article summary text Template:Article summary end Netctl 是 Arch Linux 中基于命令行的网络管理器,它是 Arch 的新项目,会替换掉 netcfg


netctl 软件包已经进入[core]. 安装 netctl 会替换掉无人维护的netcfg


开发者为了完善 man 文档投入了大量的精力,建议用户使用前阅读如下文档:

  • netctl
  • netctl.profile
  • netctl.special


netctl 可以用来检查和控制 systemd 网络配置管理服务的状态。软件提供了一些配置文件的示例以供参考。这些示例位于/etc/netctl/examples/,包括:

  • ethernet-dhcp
  • ethernet-static
  • wireless-wpa
  • wireless-wpa-static


# cp /etc/netctl/examples/wireless-wpa /etc/netctl/my-wireless-wpa


# netctl start <profile>

如果命令出错,可以使用 journalctl -xnnetctl status <profile> 检查出错原因。修正重新设置。

配置成功启动后,可以用 netctl enable <profile> 启用. 此命令会建立正确的软链接供netctl-auto@.service使用。

注意: 需要启用netctl-auto@<interface>.service才能在系统启动时自动配置无线连接。


# netctl reenable <profile>

从 netcfg 迁移的方法

netctl 使用 /etc/netctl 保存配置,而不是 /etc/network.d (netcfg保存配置的位置).

从 netcfg 迁移,请执行:

  • 将老的网络配置移动到新目录
  • 根据 netctl.profile(5) 修改变量名称(主要是大小写变化,例如 CONNECTION= 变成 Connection=).
  • 接口变量和其他变量不再需要引号(这仅仅是风格变化).
  • 为每一个配置执行netctl enable <profile> 'last' 工作方式有变化,参阅 netctl.special(7).
  • 使用 netctl list / netctl start <profile> 替换 netcfg-menu. wifi-menu 依然保留。

Password encryption (256-bit PSK)

Users not wishing to have their passwords stored in plain text have the option of generating a 256-bit Encrypted PSK.

If you have not done so already, install wpa_actiond from the [core] repository using pacman

 # pacman -S wpa_actiond

Next, generate your 256-bit Encrypted PSK using wpa_passphrase:

Usage: wpa_passphrase [ssid] [passphrase]
$ wpa_passphrase archlinux freenode

In a second terminal window copy the example file wireless-wpa from /etc/netctl/examples to /etc/netctl.

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa

You will then need to edit /etc/netctl/wireless-wpa using your favorite text editor and add the Encrypted Pre-shared Key that was generated earlier using wpa_passphrase, to the Key variable of this profile.

Once completed your network profile wireless-wpa containing a 256-bit Encrypted PSK should resemble:

Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK'
Note: Make sure to use the special non-quoted rules for Key= that are explained at the end of netctl.profile(5)


Official announcement thread: https://bbs.archlinux.org/viewtopic.php?id=157670

Tips and Tricks

As of April 2013 there is no netctl alternative to 'netcfg current'. If you relied on it for something, like a status bar for a tiling window manager, you can now use:

netctl list|grep \*|sed 's/\*//'|sed 's/\ //'