NETCTL(1)
π NETCTL(1) π
okay bestie, so this is the manual for netctl β yes, the manual name is literally just netctl and it's a section 1 page, so you already know it's a command you run in your shell. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
netctl β control the netctl network profile manager π«Ά
πΈ SYNOPSIS πΈ
netctl {COMMAND} [PROFILE]
netctl [--help | --version]
so the pattern is: you give it a COMMAND, and then maybe a PROFILE if that command wants one. orrr you just ask for --help or --version and it'll vibe with you instead. iconic behavior honestly π
π¦ DESCRIPTION π¦
okay so netctl is your girl for literally introspecting and controlling the state of the systemd services for the network profile manager. that's the whole assignment. the way that a tiny command holds the entire network profile situation in her hands?? main character energy fr fr π
π OPTIONS π
the following commands are understood (and yes, there's a lot of them β she's versatile):
listβ lists every available profile. online profiles get marked with a'*', and if they're not online but are active, they get marked with a'+'. little star, little plus, so cute πstoreβ saves which profiles are currently active. a little snapshot for later, like a photo dump but for network state πΈrestoreβ loads back the profiles that were active during the last time you ran'store'. it's giving "remember when" πstop-allβ stops all active network profiles. all of them. go to sleep, everyone π€start[PROFILE] β starts the network profile you put on the command line.stop[PROFILE] β stops the network profile you put on the command line.restart[PROFILE] β restarts the network profile you put on the command line. and if it wasn't started yet? bestie it gets started anyway. no profile left behind π«Άswitch-to[PROFILE] β starts the profile you named on the command line, but only after stopping every single profile that refers to the same interface. clearing the runway first, we love a considerate queen β¨is-active[PROFILE] β checks whether the named profile is active. prints the current state. yes it's literally just asking "are you up?" and printing the answer.status[PROFILE] β shows terse runtime status info about a profile, and then follows it up with that profile's most recent log data from the journal. the receipts, the lore, the whole backstory π₯enable[PROFILE] β enables the systemd unit for the profile you named. this creates a unit configuration file. if the file already exists, the command fails. and listen: no profile other than the one you specified will be enabled, periodt. also IMPORTANT β changes to the general options in a profile specification do not propagate to the unit configuration file automatically. so if you changed stuff, you have to'reenable'the profile. don't forget, she will not remind you πdisable[PROFILE] β disables the systemd unit for the profile you named. this removes the file that'enable'created β even if it was customized, so be careful. customized or not, it's getting deleted. scary? yes. true? also yes πreenable[PROFILE] β reenables the systemd unit for the profile you named. effectively it's just'disable'+'enable'holding hands πis-enabled[PROFILE] β checks whether the systemd unit for the specified profile is enabled. prints the current enable status.edit[PROFILE] β opens the file of the specified profile in an editor. that's it, that's all. this does not reenable, restart, or verify any profiles β she's just holding the door for you, you do the rest πverify[PROFILE] β checks the file of the specified profile for syntax errors. and if no errors are found, no output is produced. silence = slay, no news is good news π€«wait-online[PROFILE] β waits until the interface of the profile has a routable IP address of some kind. just chillin' there until the vibes are routable β³
π EXIT STATUS π
on success it returns 0. otherwise you get a non-zero failure code. simple as that π«Ά
β ENVIRONMENT β
$NETCTL_DEBUGβ if you set it to"yes", debugging output gets generated. also heads up: the value of this variable is independent of the value of the variable with the same name inside profiles. same name, different lives, no crossover β¨$NETCTL_STATE_FILEβ the location of the state file. defaults to/var/lib/netctl/netctl.state. that's where the state lives, bestie π
π SEE ALSO π
netctl-auto(1), netctl.profile(5), netctl.special(7), systemctl(1)
πΈ lowkey reminder: the tricky parts are real.enablefails if the unit file already exists,disablenukes the file even if you customized it, andreenableis the only way to push your general-option changes into the unit config. read those again before you go clicking around π
k that's the whole page, you ate it, go configure something π
netctl(1) β dated 01/26/2026. that's the source/version-and-date sign-off, mwah, bye bestie πβ¨
π¦ where this page comes from
- ubuntu resolute: netctl 1.29-1build1 Β· GPL-3.0-only
- ubuntu stonking: netctl 1.29-1build1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms