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

From ArchWiki
Jump to: navigation, search
(Recommended reading)
Line 17: Line 17:
{{ic|netctl}} may be used to introspect and control the state of the systemd services for the network profile manager. Example configuration files are provided for the user to assist them in configuring their network connection. These example profiles are located in {{ic|/etc/netctl/examples/}}. The common configurations include:
{{ic|netctl}} 可以用来检查和控制 systemd 网络配置管理服务的状态。软件提供了一些配置文件的示例以供参考。这些示例位于{{ic|/etc/netctl/examples/}},包括:
Line 25: Line 25:
To use an example profile, simply copy one of them from {{ic|/etc/netctl/examples/<profile>}} to {{ic|/etc/netctl/<profile>}} and configure it to your needs:
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/my-wireless-wpa
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/my-wireless-wpa
Once you have created your profile, make an attempt to establish a connection using the newly created profile by running:
  # netctl start <profile>
  # netctl start <profile>
If issuing the above command results in a failure, then use {{ic|journalctl -xn}} and {{ic|netctl status <profile>}} in order to obtain a more in depth explanation of the failure. Make the needed corrections to the failed configuration and retest.
如果命令出错,可以使用 {{ic|journalctl -xn}} {{ic|netctl status <profile>}} 检查出错原因。修正重新设置。
Once the profile is started successfully then it can be {{ic|enabled}} using {{ic|netctl enable <profile>}}. This will create the proper symlink for the profile to be used by {{ic|netctl-auto@.service}}.
配置成功启动后,可以用 {{ic|netctl enable <profile>}} 启用. 此命令会建立正确的软链接供{{ic|netctl-auto@.service}}使用。
{{Note|The systemd service {{ic|netctl-auto@<interface>.service}} will need to be enabled in order to allow automatic wireless connection at boot to become functional.}}
{{Note|If there is ever a need to alter a currently enabled profile. execute {{ic|netctl reenable <profile>}} to apply the changes.}}
# netctl reenable <profile>
===Migrating from netcfg===
===Migrating from netcfg===

Revision as of 03:32, 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>

Migrating from netcfg

netctl uses /etc/netctl to store its profiles, not /etc/network.d (netcfg's profile storage location).

In order to migrate from netcfg, at least the following is needed:

  • 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=).
  • Unquote interface variables and other variables that don't strictly need quoting (this is mainly a style thing).
  • Run netctl enable <profile> for every profile in the old NETWORKS array. 'last' doesn't work this way, see netctl.special(7).
  • Use netctl list / netctl start <profile> instead of netcfg-menu. wifi-menu remains available.

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/\ //'