Datamation content and product recommendations are
editorially independent. We may make money when you click on links
to our partners.
Learn More
I
’
m running Kubuntu Gutsy Gibbon (7.10) on one of my main workstations. As with its sibling Ubuntu, it
’
s an endlessly-entertaining blend of really nice stuff and really irritating stuff. The nice stuff is nearly-current releases of fast-moving applications like KDE, Digikam, Krita, KWord, and other apps that I use a lot, easy-on-the-eyes graphics, a good set of default applications, and nicely-organized menus. The irritating stuff is they still don
’
t pay enough attention to delivering reliable basic functionality in core functions like networking and printing. Both often require manual tweakage to get them to work correctly, and even then you may be foiled by a Helpful Daemon.
NetworkManager is the newest addition to my Helpful Daemon hit list. I have two wired Ethernet interfaces on this box. One is configured and active, eth1, and one is not, which is eth0. The correct behavior is for any unconfigured NIC to be ignored by the system. But no. NetworkManager, which is installed by default on Gutsy, thinks it knows better than me how to manage my interfaces. This is what the Release Notes say:
In Ubuntu 7.10, network-manager only manages interfaces that are marked for roaming. Thus, all interfaces that were previously managed by network-manager will be set to roaming mode during upgrade. Technically, this takes any interface stanzas using the dhcp method with no options and that are marked auto, and removes them from /etc/network/interfaces. If you rely on your interfaces being started by ifupdown when the system starts up, you need to re-enable them in /etc/network/interfaces manually, or disable roaming in System -> Administration -> Network.
I read that a dozen times and I’m still not sure what it means, except it’s clear that NetworkManager is interfering unhelpfully. I never marked any interfaces for roaming, and when I create an entry in /etc/network/interfaces it is for a purpose, not because I’m bored and don’t care what happens. The result of this brilliant bit of engineering is NetworkManager started eth0 and plucked an address for it from my DHCP server, with the result that both interfaces were on the same subnet, 192.168.1.0/24. Which means no networking, because you can’t have two interfaces on one box on the same subnet. Nothing works.
[Update: An excellent reader pointed out that you can have two interfaces on one PC on the same subnet. So something else was responsible for the loss of connectivity. There are some twists and turns to this that we shall explore in the future.]
So after finding the relevant nugget in the Release Notes, I gave eth0 a minimal configuration just to shut up NetworkManager. But NetworkManager still had to sticks its oar in–it didn’t configure eth0, but it still brought it up in a weird half-baked way:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:01:11:00:11:CF
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:16 Base address:0xd400
eth1 Link encap:Ethernet HWaddr 00:22:62:22:7E:22
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20b:6aff:feef:7e8d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12709 errors:0 dropped:0 overruns:0 frame:0
TX packets:11869 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13013566 (12.4 MB) TX bytes:1768011 (1.6 MB)
Interrupt:19 Base address:0xbc00
ifconfig with no options only displays up interfaces. eth0 is not marked as up, so what the heck is it doing there? So then I tried System Settings -> Network Settings, and unchecked “activate when the computer starts.” That made no difference. So I removed NetworkManager, and that cured everything. Untangling NetworkManager, HAL, Avahi, udev, ifupdown, and the interfaces file to try to figure out who’s doing what is a beastly job–please, for the love of $deity, quit trying to be so darned helpful.
If you want to share your printers without hair loss and raised blood pressure, do it my way. Edit
/etc/cups/cupsd.confand forget all the GUI junk. This article tells how to
share printers the right wayin Linux. (This page lists more
good Linux tutorials.)
The printer article has one error that I recently discovered the hard way, though I suspect that something changed during a routine update, because it worked fine before–get rid of all the policy junk in cupsd.conf. I had network printing working fine, then suddenly it stopped working. Deleting all the policy crud cured it. That’s the directives between the tags >. Blow it all away–it won’t hurt a thing, and you’ll be instantly happier. Moral: don’t lard up configuration files with useless stuff, especially when it doesn’t work.
I wonder if the various ‘buntu teams ever talk to each other. The ‘buntus have been weird about network printing from the beginning. It’s disabled by default, and the graphical configurators don’t work right. And yet Avahi-daemon, the Zeroconf network discovery daemon, runs by default even though there is nothing for it to auto-discover, so it’s virtually useless. (Hey, how about discovering network printers? Except CUPS already broadcasts printers, when it’s not handcuffed.) Not only that, but I find it interfering with all manner of functions. For one example, if there are no network interfaces configured, it will create a link-local address. This is a cute surprise when you don’t want Ethernet enabled at all. You can disable Avahi, or even remove it if you wish; don’t be scared when it wants to uninstall kde-desktop too. This is a meta-package, so it’s safe to remove it.
Bluetooth is on by default, even though a minority of users need it. Way more users want to share printing than want to auto-discover nothing or use Bluetooth devices. Ubuntu boasts about being very secure, yet having unneeded services running violates the most fundamental security principle, which is “deny all, allow as needed”. Managing services is easy, because both Ubuntu and Kubuntu have nice pointy-clicky graphical services configurators. In fact the first thing all Linux users should do after installation is turn off all unneeded services, and with the overly-helpful ‘buntu families, you better check after every update too.
This article was first published on LinuxPlanet.
-
Ethics and Artificial Intelligence: Driving Greater Equality
FEATURE | By James Maguire,
December 16, 2020
-
AI vs. Machine Learning vs. Deep Learning
FEATURE | By Cynthia Harvey,
December 11, 2020
-
Huawei’s AI Update: Things Are Moving Faster Than We Think
FEATURE | By Rob Enderle,
December 04, 2020
-
Keeping Machine Learning Algorithms Honest in the ‘Ethics-First’ Era
ARTIFICIAL INTELLIGENCE | By Guest Author,
November 18, 2020
-
Key Trends in Chatbots and RPA
FEATURE | By Guest Author,
November 10, 2020
-
Top 10 AIOps Companies
FEATURE | By Samuel Greengard,
November 05, 2020
-
What is Text Analysis?
ARTIFICIAL INTELLIGENCE | By Guest Author,
November 02, 2020
-
How Intel’s Work With Autonomous Cars Could Redefine General Purpose AI
ARTIFICIAL INTELLIGENCE | By Rob Enderle,
October 29, 2020
-
Dell Technologies World: Weaving Together Human And Machine Interaction For AI And Robotics
ARTIFICIAL INTELLIGENCE | By Rob Enderle,
October 23, 2020
-
The Super Moderator, or How IBM Project Debater Could Save Social Media
FEATURE | By Rob Enderle,
October 16, 2020
-
Top 10 Chatbot Platforms
FEATURE | By Cynthia Harvey,
October 07, 2020
-
Finding a Career Path in AI
ARTIFICIAL INTELLIGENCE | By Guest Author,
October 05, 2020
-
CIOs Discuss the Promise of AI and Data Science
FEATURE | By Guest Author,
September 25, 2020
-
Microsoft Is Building An AI Product That Could Predict The Future
FEATURE | By Rob Enderle,
September 25, 2020
-
Top 10 Machine Learning Companies 2021
FEATURE | By Cynthia Harvey,
September 22, 2020
-
NVIDIA and ARM: Massively Changing The AI Landscape
ARTIFICIAL INTELLIGENCE | By Rob Enderle,
September 18, 2020
-
Continuous Intelligence: Expert Discussion [Video and Podcast]
ARTIFICIAL INTELLIGENCE | By James Maguire,
September 14, 2020
-
Artificial Intelligence: Governance and Ethics [Video]
ARTIFICIAL INTELLIGENCE | By James Maguire,
September 13, 2020
-
IBM Watson At The US Open: Showcasing The Power Of A Mature Enterprise-Class AI
FEATURE | By Rob Enderle,
September 11, 2020
-
Artificial Intelligence: Perception vs. Reality
FEATURE | By James Maguire,
September 09, 2020
SEE ALL
ARTICLES