« Let me introduce DPKG::Log and dpkg-report | Home | password-gorilla 1.5.3.4 ACCEPTED into unstable »

April 15, 2011

Last time I've used network-manager..

Theres an ongoing thread on the Debian mailing lists about making network-manager installed by default on new Debian installations. I won't say much about the thread. Its just a prototype example for Debian project discussions: Discuss everything to death and if its dead discuss a little more. And - very important - always restate the same arguments as often as you can. Or if its not your own argument you restate, restate the arguments of others. Ending with 100 times stated the same argument. Even if its already disproved.

I don't have a strong opinion about the topic in itself. However there is something I find kinda funny. A statement brought up by the people who strongly oppose network-manager as a default.
A statetement I've heard so often that I can't count it anymore.

The last time I've tried network-manager it sucked.
It often comes in different masquerades, like:

  • network-manager is crap.
  • network-manager is totally unusable
  • network-manager does not even manage to keep the network connection during upgrades
But it basically boils down to that basic essence of the sentence I've written above. Sometimes I ask people who express this opinion a simple question:

When did you test network-manager the last time?
The answers are different but again the basic essence of the answers is mostly the same (even if people would never say it that way):

A long time ago. Must have been around Etch.
And guess what: There was a time when I had a similar opinion. Must have been around Etch.
During the life cycle of network-manager between Etch and now a lot has happened. I restarted using network-manager at some point of the Lenny development.
My daily driver for the management of my network connections on my notebook. Yes, together with ifupdown because, yes, network-manager does not support every possible network-setup with all of the special cases possible. But it supports auto-configuring of wired and wireless devices. Connecting to a new encrypted network, either in a WLAN or in a 802.1x LAN, using UMTS devices, using tethering with a smart phone. And everything: on a few mouse-clicks.

Yes, it had some rough edges in that life cycle. Yes, it had that nasty upgrade bug, which was very annoying.
But face it: It developed a lot. Here are some numbers:

Diffstat between the etch version and the lenny version:
 362 files changed, 36589 insertions(+), 36684 deletions(-)

Diffstat between the Lenny version and the current version in sid:
 763 files changed, 112713 insertions(+), 56361 deletions(-)

The upgrade bug has been solved recently. Late. But better late then never.

So what does that mean? It means that, if your last network-manager experience was made with Lenny or even worse around Etch, you should better give it another try, if you are interested in knowing what you talk about. For now it seems that a lot of people do not know. Not even in a distance.

17 Comments

Does this at least mean that network manager no longer has any GUI dependencies?

I've never really understood how depending on GNOME to set up an Internet connection and storing network credentials in a user keyring is is a good idea.

@Wilmer
Because it's YOUR internet connection. Of course it's not good idea for server but for desktop it's perfect fit. You can setup your own preferences, or better to say, every user can setup his own preferences. From type of connection to DNS. Very good for power user on desktop.

BTW great article specially your generic observations about discussion

I guess there's something to be said for it, but no matter they're stored per user, the settings are applied system-wide so they will affect anything else running on the machine.

I guess Unix desktop machines shouldn't really be treated as multi-user anymore though.

But what about the GUI dependency?

@ Wilmer

I wasn't talking about weither n-m is a good default choice or not, therefore the argument is mood.

That said, nowadays network-manager is able to manage so-called system connections. Dunno, how they are configured or how they work as I don't use them. But as far as I understood these are connections that are brought up during system start and managed in files, so theoretically it should be possible to use them without a GUI.

Well, dunno, it may be that network-manager still has GUI dependencies, which is quiet natural given that its been developed at the GNOME camp for desktop users ;) Personally, I've never said, that n-m would make a good default.

re depending on GNOME: n-m doesn't depend on GNOME, or GTK, or anything graphical. See packages.debian.org/network-manager

re system connections: as a user, if you tick a box "available to all users" it promotes the connection to system-wide (at the expense of some security: a user connection is encrypted in the keyring, a system connection is required to be readable before login and thus is stored unencrypted.)

Seperately from that, thanks for the post. You are right, the discussions could be half as long if people checked their assertions still held after 2+ years of not trying NM.

Sorry, the NM deps are visible at http://packages.debian.org/sid/network-manager

> I won't say much about the thread. Its just a prototype example for Debian project discussions:

I've nothing to say about network-manager, but I strongly disagree with the above. I can remember tons of recent discussions which are completely unlike that one and that do not share the (bad) "properties" of the n-m discussion you mention here.

On the other hand saying, in a blog post, that this discussion is a prototype of Debian discussion is the best one you can do to make (other people believe that) your claim true.

My feeling is rather that what is "prototype" here is the attitude to only look at bad behaviors, no matter how little is their incidence and try hard to ignore good behaviors, no matter how big is their incidence.

Well, I really like NM in general, but wish the front-ends were a little lighter. I have had NO luck with the KDE client (though, a tale for a different day); the nm-applet works really, really well in my experience, and that does indeed require gnome-keyring and gconf. I would say those two are my biggest issue in using it along with xfce, or any non-gnome window manager.

Last time I looked [1] NetworkManager lacked one important piece for non-desktop based configuration: documentation.

The only piece I found was https://live.gnome.org/NetworkManager/SystemSettings#keyfile, and it only talks about a wired IPv4 connection using DHCP.

[1] Must have been around squeeze.

A bit of history:
In the beginning, NetworkManager had no memory. Every connection had to be fed into it via someone else, normally the frontend. The frontend told NetworkManager that there were connections 1, 2, 3 and 4, and please activate 2. And everyone was happy. (And since all the real frontends were graphical, people started to assume NetworkManager depends on a GUI - something that has never been true.)

Well, actually not everyone was happy. People discovered that in some cases it might be necessary to have network up *before* log in, say, you're running a server. And so Dan created system connections and renamed the kind of connections that was already there to user connection, and NetworkManager was able to discover system connections for itself. And for a while everybody was happy.

But then people discovered that there's still a problem with frontends, most prominent: you can only have one frontend at once. [technical reason: the frontend grabs a specific name on the system bus that NetworkManager knows]. This made people sharing a computer and doing fast user switching very unhappy, so the design was changed again: user connections were dropped. Instead, everything is now a system connection, and NetworkManager keeps track of who created those connections and the permissions associated with them. And this is 0.9 which is to be released soon, and hopefully everybody will be happy again.

long live to /etc/network/interface

It is the Debian way !

For server is really important having bonding support. (are vlan supported by n-m?)

Sadly netconf wont live, it could be a better alternative than n-m as default for servers.

Please: keep it simple stupid !

Regards,

Heres the 2 cents of a non Debian user on defaulting NM.
I have tried NM on Debian a couple of days before Squeeze was released on a netinstall without a desktop environment.
I found it lacking one major IMO feature. While it has a commandline interface called nmcli, it isnt capable of identifying and connecting networks on its own. Those are handled by nm-applet which is the GNOME applet of NM, or knetworkmanager for KDE.
Which means at least at this point, it relies heavily on the GUI to GTD.
Later on i did an installation with GNOME. I found that the applet, even if you do use a desktop environment, NM doesnt keep the connection alive if you log out, even just going back to GDM.
NM is a desktop connection manager. And its why IMO cant be the default everywhere. Its already the default on the the Debian desktop installations. It makes no sense enforcing it on all users IMO.

Hmmm, Ubuntu user here. Seriously? NM isn't installed by default? So, out of the box, what do I do if I want to type in a wifi password or connect with a 3G modem? Please, please tell me it doesn't editing a config file or using iwconfig.

Gosh, I was thinking of trying Debian again but now I'm reminded of the downside!

I recently reinstalled Debian Sid, and suddenly the network manager started working out of the box. Now it works perfectly with my wired connection.

dave, if you install a desktop environment you will have network-manager, but in de 'default' (clean for server) installation is it not (and I don't found any reason in this case)

Last time I used NetworkManager was today, and it's still a bloated piece of crap.

Leave a comment