Last time I wrote about the problems of console Linux. The topic is highly relevant, got a whole mountain of comments (by my standards of an unknown blog writer).
Decided to continue.
1. binfmt and binfmt-support
This used to be a kernel module, but now it's a mechanism built right into the kernel. It lets you associate files with their execution environment without ugly constructs like “#!/usr/bin/bash” inside the file. You can associate them by “magic numbers” inside the file or by extension. So - the interface for this thing is very weird (for the uninitiated). You have to output (echo) numbers 1 or 0 or settings into “pseudofiles” in a special place in the file system. And on top of that, after a reboot all these settings disappear, and without a thick tome on "Linux administration" you can't figure it out . To solve this, there is a separate package called binfmt-support, written, judging by everything, by a different person, but you still have to guess that it even exists.
2. apache “order deny,allow”
In apache configs there's a command “order deny,allow”, used to determine the order of evaluating access rights. So, from the point of view of the config parser, “deny,allow” is a single word. From the point of view of any normal person, you have to put a space after a comma. But Linux fans don't give a damn about rules, don't give a damn about how a human intuitively perceives language constructs. Meaning, “deny,allow” would be parsed separately even in any programming language. The apache config parser, of course, considers “deny, allow” to be two separate meaningless expressions separated by a comma.
3. bugzilla
I installed the bugzilla bug tracker. (It turned out to be inconvenient and incomprehensible, and it also spams by default, but oh well). Either I searched poorly, or there are no Debian instructions included. On the site they say "install ours, we're not responsible for Debian". With great difficulty I found some random posts from a poor soul who struggled, managed to configure the one installed from the package, and copied his config. "Install ours" is a great idea. You have to install a hundred other pieces of software like that, subscribe to the security mailing list, and then spend your whole life installing patches and updates. Well, or pray that hackers don't need your miserable server. (Which is unlikely, because any server is good enough for a botnet). Generally, Linux impressively destroys the brain — even with updates installed (well, rather software from the package), our admin demands closing access from unauthorized IPs. Then the point of worrying about updates is unclear, if the convenience of logging in from any computer disappears.
Bonus: to assign a bug to someone, you have to know the person's email by heart! You can't do it by login, there's no dropdown list, no autocomplete. Darkness and horror, nothing more to say.
4. bugzilla again
During installation this popped up.
Software error:
Error in tempfile() using /etc/bugzilla3/sites/bugzilla.izvne.com/params.XXXXX: Parent directory (/etc/bugzilla3/sites/bugzilla.izvne.com/) is not writable
at /usr/share/perl5/Bugzilla/Config.pm line 266bugzilla add to favs
Now tell me, would normal software write to the /etc/ config folder? I've never seen such a thing in Linux, nor in Windows. In Windows, for example, a .net application wouldn't be able to and wouldn't want to write to its app.Config if launched under a user rather than an admin, which is logical. app.Config is edited either by an admin, or the application writes to user settings.
5. apf-firewall
We have a firewall wrapper called apf installed to make administration easier. And then people write to me saying they can't access the site. Well, my solutions are always simple – temporarily disabled the firewall until the admin arrived in the evening. Here is the dialogue that took place.
[22:02:55] rk13: curie:~# iptables -L -n | grep 95
DROP all -- 95.0.0.0/8 0.0.0.0/0
DROP all -- 0.0.0.0/0 95.0.0.0/8
[22:03:52] Vladislav Kugelevich: and what is this?
[22:15:26] rk13: this is what our fire considers unassigned space
[22:15:32] rk13 Unassigned/reserved address spaceIt turned out that a certain range of IP addresses was blocked because it was listed as "unassigned". In theory, the list auto-updates itself, but Linux fans despise auto-updating, so it's understandable why it was disabled. The reason why an unassigned subnet needs to be blocked at all remains murky.
4. ncftp
Seems to be considered a good (or rather, the best) command line FTP client. If you put the parameters in the ncftpput command in the wrong order, it can't connect. The default timeout is very long, it doesn't output any error messages until it expires. It's impossible to guess why it's not working. Where have you ever seen a normal program that cares about the order of flags in the command line?
5. Trac
After the failures with mozilla I decided to install the trac bug tracker. The official site says that “setup is simple”. This is a somewhat ironic remark. The setup isn't very complicated, that's true. But, to add a new project, you have to issue a command from the console!
Meaning, while the whole progressive world is striving for web interfaces, for Linux fans everything is still like in the old days: console, and don't you dare show off! Not even a non-ajax web UI? Look what you've dreamt up, you'll manage without!
6. Midnight Commander
The attempt to give the console a human face remained just an attempt. It can't do chmod and chown recursively. You try to calculate the size of directories – no progress bar, it just hangs and that's it, until it finishes. You enter an FTP address – it doesn't understand the ftp:// protocol prefix. If it couldn't connect, it closes the window and you have to open the menu item again, enter the address again. To edit menu items, you have to look for a special file with its own format, instead of clicking "edit", like, for example, is done in far manager (I think it was the same in norton commander).
A good example, by the way, for those who love the C language where it's needed and where it's not. The speed of a file manager in a high-level language wouldn't differ from the speed in C. But thanks to using C, you can write so slowly and buggily that elementary features aren't added for years.
7. Mono
I don't want to scold the ray of light in the dark kingdom of Linux, but I have to. I haven't found a way to disable the warnings that Mono outputs to the apache log. It would be fine if they were rare, but my situation is such that there's a warning every minute, and not just one. As a result, the log is unreadable, the admin writes angry emails (to the bug tracker, fortunately, and not to me)