Skip to main content

Ralsina.Me — Roberto Alsina's website

Posts about linux (old posts, page 12)

The Linux software ecosystem is boring and a little lame (a rant).

Quick, an­swer this:

What was the last time a ba­sic piece of the Lin­ux sys­tem was re­designed and re­placed by ev­ery­one?

And the new piece was not a drop-in re­place­ment or evo­lu­tion­ary de­vel­op­ment for the old garbage?

Please post the an­swers on com­ments, be­cause the best I can come up with is one of the fol­low­ing:

  • Post­­fix re­­plac­ing Send­­mail

  • Ev­ery­thing else re­­plac­ing Wu-ft­pd

  • GRUB re­­plac­ing LILO ? (not that GRUB is all that great, but at least you have a de­­cent chance of fix­ing it when it break­s)

  • OpenSSH re­­plac­ing tel­net and rlogin

There are still dis­tros ship­ping Wu-imap and its off­spring!

There are still dis­tros ship­ping the old sys­log!

Let's con­sid­er a ba­sic, tty Lin­ux first.

  1. GRUB (ok)

  2. Lin­ux ker­nel (ok I guess)

  3. An­­cient SysV init (un­­less you use par­­dus/­­gob­­o/­­some oth­­er rad­i­­cal dis­­tro)

  4. Ser­vices, which prob­a­bly in­­­clude

    1. Sys­log-NG (which is marginal­­­ly less bro­ken than old sys­log)

    2. Send­­­mail (even if on­­­ly for loop­back ad­­­dress­es, it's still lame)

    3. OpenSSH (ok, al­though I think the client sucks be­­­cause I can't fig­ure out how to store pass­­­words and pass­fras­es in KWal­let)

  5. A get­­ty

At least here there is not much room for in­no­va­tion be­cause we are try­ing to start some­thing that is a lot like a 30-year-old Unix box.

So, let's go server-ish. What would you nor­mal­ly use?

  • BIND

    An­­cient soft­­ware with a ter­ri­ble se­cu­ri­­ty his­­to­ry. Yes I know it's rewrit­ten late­­ly. They did that be­­fore, too, you know.

  • Apache

    For all the good things Apache has, it has some bad ones, too.

    • It's overkill for most server­s.

    • As the A in LAMP it has lead peo­­­ple to be­lieve PH­P4 is the right lan­guage to de­vel­op ap­­­pli­­­ca­­­tions in, and MySQL a good place to store their da­­­ta.

    • If it fails to do what you wan­t, you may get an er­ror. Or not.

    • The con­­­fig­u­ra­­­tion is in some sort of pseu­­­do-XML

    Let's get re­al. For most mod­­ern web apps what you want is a de­­cen­t, high per­­for­­mance WS­­GI thingie for python ap­p­s, and what­ev­er you use for Rail­s. Apache may or may not be that or have that in­­sid­e, but who needs the rest of it? What for? PHP pages? mod­­_perl web ap­p­s?

    No, re­al­­ly, I'm ask­ing a ques­­tion here. What pieces of Apache do you use nowa­­days?

  • Sam­­ba

    • It does what it does.

    • Noone else does it.

    • Er­­­go, it's the best at what it does.

    • That does­n't mean that los­ing its TDB ev­ery once in a while while do­ing a "R­PC vam­pire" is not an­noy­ing.

    But ac­­tu­al­­ly, I am pret­­ty hap­py about Sam­­ba. I mean, what's the al­ter­­na­­tive, here? NF­reak­ingS?

  • CUPS

    Ok, not too many new print servers out there, but hey, it's bet­ter than LPRng!

And if I had writ­ten this rant three years ago, I would have used the ex­act same ex­am­ples.

Where's the vi­brant new serv­er ap­p?

Who's go­ing to write a cool, per­form­ing, easy to con­fig­ure HTTP+WS­GI serv­er in D?

Who's go­ing to im­ple­ment a fast, se­cure, sim­ple, ze­ro­con­f-en­abled, file serv­ing dae­mon?

Who's go­ing to re­place BIND?

Who's go­ing to cre­ate a Lin­ux serv­er dis­tro with on­ly de­cent soft­ware in it?

Me? No way, I have di­a­pers to change. And there used to be smarter and more driv­en peo­ple around to do this stuff. Are they all chang­ing di­a­pers now?

Come on, stop re­hears­ing with your band that plays "met­al with me­dieval in­flu­ences"! Stop grow­ing your stamp col­lec­tion! Stop

Come on, it's on­ly go­ing to con­sume at most a year or two of your life. It's not go­ing to harm you more than a bud­ding al­co­holis­m, or a po­et­ry hob­by, or at­tend­ing fur­ry con­ven­tion­s, young man (or wom­an)!

You don't need to be all that knowl­edge­able (look at the BIND4 sources) or bril­liant, all you need is to be in­dus­tri­ous.

Grow a spine and get crank­ing! Show us old hacks what you've got!

Why I use Arch Linux

I have been an Arch Lin­ux for a while now, and I am still lik­ing it.

Here's the good side of it:

  • It's small (one CD)

  • It's sim­­ple (it comes with very lit­tle)

  • It has a de­­cent pack­­age se­lec­­tion (if you con­sid­er AUR, more about that lat­er)

  • It us­es pret­­ty much un­­patched up­­stream soft­­ware

  • It's a bi­­na­ry dis­­tro (ex­­cept for AUR. Again, more about it lat­er)

  • It's pret­­ty sta­ble (no crash­es I can re­mem­ber)

  • It has rolling re­leas­es (un­­like, say, Fe­­do­ra or De­bian)

  • It's easy to keep up­­­dat­ed (like all of them nowa­­days)

  • It's not ide­o­log­i­­cal­­ly dog­­mat­ic, but prag­­mat­ic (yes, there are NVidia driver­s, and test-­­drive games, and what­ev­er)

  • It does­n't seem to be a one-guy joint

And the bad side:

  • Up­­­dates some­­times break things (about twice a year)

  • Ad­min tools are be­tween un­ex­is­­tant and dis­­join­t­ed

And of course, there is the very very good side: AUR

AUR is a co­mu­ni­ty repos­i­to­ry. And there is a rather large com­mu­ni­ty. And pack­ag­ing things for Arch is so easy, and putting things in AUR is so sim­ple, even I find time to con­trib­ute (my pack­ages).

And it's a calm com­mu­ni­ty, and pret­ty much, in­stead of com­pil­ing my ran­dom un­known pack­ages for my­self, I save the steps to build them and stick them in a PKG­BUILD and up­load them. Takes two min­utes for most things.

It's a throw­back to the old days of Lin­ux: qui­et, com­pe­tent (or learn­ing) peo­ple do­ing things, shar­ing, you use them, you give back­... I had not felt that way with a dis­tro for years.

Small software released: RA-WebPass

I just re­leased a wee piece of soft­ware, called RA-Web­Pass which is sim­ply a web­page that you can use to change lin­ux sys­tem pass­word­s.

Ba­si­cal­ly, I wrote it to­day out of my frus­tra­tion with cus­tomers ask­ing me "how can I change the pass­word for the FTP server". Ok, this is how you can.

It's sim­ple and does­n't have too many de­pen­den­cies, so it should be rather se­cure, but don't trust me on that, and you need to run it as root, so be very very care­ful.

RA-Web­Pass home page

On a re­lat­ed note: it's quite sat­is­fy­ing to write some­thing in two hours and just re­lease it :-)

Sometimes I am stupid. Then again, it doesn't matter, because I am lucky!

I am work­ing on chang­ing Bartle­Blog so it can be used from scratch. That may sound odd but be­cause I have been us­ing it since day 2 to post this blog, it has grown very or­gan­i­cal­ly, mean­ing there are things that on­ly work be­cause of the way I used it while de­vel­op­ing it.

So, I cre­at­ed a test user, and cre­at­ed a test blog there, and I am work­ing, and de­cide to do an­oth­er from-scratch test, and...

I delet­ed my pro­duc­tion copy.

Yes. The one that gen­er­ates this blog. So this blog dis­ap­peared. Be­cause I used the wrong ter­mi­nal win­dow.

And I had one-week old back­up­s.

So I felt very very stupid.

Be­cause un­delet­ing in Lin­ux is a joke.

So I was think­ing how to spend a few hours recre­at­ing the last week of post­s, and what­ev­er, when I no­ticed on the taskbar... bartle­blog was still run­ning.

Which means that the DB was still open by a process. Which mean­s...

[ralsina@monty bartleblog]$ ps ax | grep python
17063 pts/1    S     24:33 python bartleblog.py
17161 ?        S      0:04 konqueror [kdeinit] -mimetype text/html http://www.google.com/search?q=python+copy+file&ie=UTF-8&oe=UTF-8
17454 pts/1    D+     0:00 grep python
[ralsina@monty bartleblog]$ su
Password:
[root@monty bartleblog]# cd /proc/17063/fd
[root@monty fd]# ls
0  1  10  11  12  2  3  4  5  6  7  8  9
[root@monty fd]# ls -l
total 0
lrwx------ 1 ralsina users 64 2007-05-13 21:07 0 -> /dev/pts/1
lrwx------ 1 ralsina users 64 2007-05-13 21:07 1 -> /dev/pts/1
lrwx------ 1 ralsina users 64 2007-05-13 21:07 10 -> socket:[159486]
lrwx------ 1 ralsina users 64 2007-05-13 21:07 11 -> socket:[159488]
lrwx------ 1 ralsina users 64 2007-05-13 21:07 12 -> /mnt/centos/home/ralsina/.bartleblog/blog.db (deleted)
lrwx------ 1 ralsina users 64 2007-05-13 21:07 2 -> /dev/pts/1
lr-x------ 1 ralsina users 64 2007-05-13 21:07 3 -> /mnt/centos/home/ralsina/Desktop/proyectos/bartleblog/bartleblog/BartleBlog/ui/bartleblog.py
lr-x------ 1 ralsina users 64 2007-05-13 21:07 4 -> pipe:[159481]
l-wx------ 1 ralsina users 64 2007-05-13 21:07 5 -> pipe:[159481]
lr-x------ 1 ralsina users 64 2007-05-13 21:07 6 -> pipe:[159482]
l-wx------ 1 ralsina users 64 2007-05-13 21:07 7 -> pipe:[159482]
lr-x------ 1 ralsina users 64 2007-05-13 21:07 8 -> pipe:[159485]
l-wx------ 1 ralsina users 64 2007-05-13 21:07 9 -> pipe:[159485]
[root@monty fd]# cp 12 /root/db
[root@monty fd]# ls -l ~/db
-rw-r--r-- 1 root root 3582976 2007-05-13 21:07 /root/db
[root@monty fd]# sqlitebrowser ~/db
[root@monty fd]# cp ~/db /home/ralsina/.bartleblog/blog.db

And I got the data­base back.

If you don't un­der­stand how that worked.... here's the ex­pla­na­tion:

  • On unix, files are re­al­­ly un­linked (re­­moved from di­rec­­to­ries) when no process has them open. Even then, the da­­ta is not delet­ed, but find­­ing it is much hard­er.

  • On /proc/PID you can see the file de­scrip­­tors each process has open.

  • You can ac­­tu­al­­ly copy a file de­scrip­­tor.

So I went and copied the open file. And got it back. And this blog did­n't go away.

So I am luck­y! Stupid. But luck­y!

History of KDE: A generous offer...

Back in oc­to­ber of 1996, when ev­ery­one was sav­ing for the fly­ing car we would buy in 5 years, and KDE was start­ing, slow­ly, to take shape in the minds of a few.... there was a gen­er­ous of­fer­...

Matthias Ettrich (ettr...@ti-ibm03.informatik.uni-tuebingen.de) wrote:*
>         -------------------------------------------
>         New Project: Kool Desktop Environment (KDE)
>         -------------------------------------------
>
>                     Programmers wanted!

Freedom Software would be willing to contribute with
the source code of Freedom Desktop Light for this effort.
Please don't subestimate the task of building a
desktop manager. Several Years have been spent building
Freedom Desktop.  We could also contribute with
other pieces of technology (i.e Freedom Rt - Object oriented
toolkit). For more information about Freedom Desktop,
please visit http://www.fsw.com

Freedom Software is about to announce a free version
of the software for Linux (personal use only). This version
is called Freedom Desktop Light for Linux.

If I were you, I wouldn't restrict the project to a specific
toolkit (at least for now). There are many pieces of public
software that can be reused easily. It could take a long
time to rebuild everything from scratch. Try to reuse
the more you can now. You can standarize on a single
toolkit later.

Also keep in mind that Motif  is the defacto standard.
Most Unix platform ship with Motif. It would be nice
if your desktop work on all the versions of Unix

Edgar Galvis
Freedom Software
http://www.fsw.com/motif.html - Home of Freedom Desktop for Motif
supp...@freedom.lm.com

UP­DATE: I had not both­ered check­ing, but free­dom desk­top's site has been avail­able un­til very re­cent­ly. There is still some­thing in the in­ter­net archive, too.


Contents © 2000-2020 Roberto Alsina