LINUX.ORG.RU

Linux Considered Harmful


0

1

В оригинале писалось мною для https://dis.4chan.org/prog/ посему преводить лень. Но вот что мне лично не понравилось в Linux

Linux's success may indeed be the single strongest argument for my thesis: The excitement generated by a clone of a decades-old operating system demonstrates the void that the systems software research community has failed to fill. — Rob Pike, original developer of Unix and author of The Unix Programming Environment

Everything in Linux sucks. For example, when I close «Nautilus» file manager window, it doesnt terminate program, but puts it in background. Why? To leak more CPU and memory! The xfce4-menu-plug already ate 140 megabytes of memory, and it's just a toolbar! When I try to `kill -s KILL gnome-screensaver`, it blanks whole screen and only reboot helps. Gedit (a simple notepad) takes whooping 60 megabytes to edit a few lines of text and it loads about 10 seconds! Opening a directory in file browser sometimes takes minutes, due to its file type detection feature (it scans and makes thumbnail of every file). Thousands of thumbnails stored inside ~/.thumbnails slow down image viewer startup by about 20 seconds. Invoking `cat` on a binary file damages terminal font and sometimes crashes bash.

Also, file type detection is extremely glitchy and detects unrelated files as PCX files. It also ignores file extension. So if it detects JPEG file as PCX, it will open it as PCX and crash viewer, despite that it has JPG extension.

Command Line interface is horrible at best! Sometimes a simple typo, like «cp *», can easily mess your files. The only way to be safe with Linux is to do backup every few hours.

Regarding bad design decisions in Linux: there is no sandbox and every program you run has access to all files inside you /home folder and can delete/steal them. Moreover every program gets internet access by default, making you machine a potential botnet node. That is a truly bad design decision, which could have been easily avoided by dropping unmanaged memory access or capability based security with array-bound checking protection, similar to one specified in http://www.cs.ucr.edu/~gupta/teaching/260-08/Papers/TR181.pdf

Super user rights can't be managed precisely and every program requiring them has to be given full super-user account (setuid/setgid). No on/off switches, so a program wanting direct access to SVGA frame buffer also gets access to network connection and whole hard drive content.

Unauthorized program should't be able to access filesystem or internet. Every program should be limited in access only to files and directories provided by the user, while internet access is given only to programs installed under apps.interned_allowed directory. There should be a way to reject privileges given to file/directory handles, so accessing them would produce exception. Users shouldn't see outside of their home directory and all file-sharing should be explicit. User password should be too kept under's home directory, so it could be changed without much fuzz with /etc/passwd.

POSIX API is horrible and includes a lot of undefined behavior. A change to memcpy implementation once broke tons of Linux code that depended on undefined behavior. But Worse is Better, of course (http://www.cygwin.com/ml/glibc-bugs/2011-02/msg00090.html). Production Linux code almost completely consists of ugly hack, like following:

__pid_t __cdecl sub_813C7B8()
{
  __pid_t result; // eax@1
  char command; // [sp+18h] [bp-200h]@2

  result = fork();
  if ( !result )
  {
    sprintf(&command, "/bin/bash -c \"sleep 5; kill -9 %d\" &> /dev/null &", PID);
    system(&command);
    sprintf(&command, "/bin/bash -c \"sleep 8; kill -9 %d\" &> /dev/null &", PID);
    system(&command);
    sprintf(&command, "/bin/bash -c \"sleep 10; kill -9 %d\" &> /dev/null &", PID);
    result = system(&command);
  }
  return result;
}



Последнее исправление: SNV1985 (всего исправлений: 2)
Ответ на: комментарий от gh0stwizard

Grsecurity

И что?

Ты спросил - я ответил.

Он включен по дефолту во всех линуксах?

Совсем недавно ты утверждал, что SELinux поддерживает работу в режиме RBAC. Хотя... SELinux тоже не во всех линуксах включен по умолчанию.

Не понимаю, о чем ты споришь?

Спорю? Я указал на очевидный факт того, что Solaris - это Unix. Странно, что ты этот факт отрицаешь.

Чушь несет автор поста

Автор поста толстый пустоголовый тролль, какие к нему могут быть претензии.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Я указал на очевидный факт того, что Solaris - это Unix. Странно, что ты этот факт отрицаешь.

Мде. А что такое Unix?

Вобщем, я хотел сказать, что ни MLS, ни RBAC в Unix не было. Их добавили во все «неудавшиеся» клоны разные компании и люди в совершенно разных реализациях. Видимо, автору даже не с чем сравнивать.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

А что такое Unix?

1) Семейство ОС, произошедших от общего кода Research Unix System; 2) торговая марка.

Вобщем, я хотел сказать, что ни MLS, ни RBAC в Unix не было.

В Unix - было; в ранних версиях Unix - не было.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

А что такое Unix?

1) Семейство ОС, произошедших от общего кода Research Unix System; 2) торговая марка.
В Unix - было; в ранних версиях Unix - не было.

Мы с тобой говорим о разных Unix'ах видимо. Я о коммерческой реализации, ты о переделанных модификациях. К последним относится и фряха и линукс и еще куча всяких систем.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

Мы с тобой говорим о разных Unix'ах видимо.

Итак, что же такое Unix по-твоему?

Я о коммерческой реализации, ты о переделанных модификациях. К последним относится и фряха и линукс

Вообще-то я говорил именно о коммерческих реализациях - Trusted Solaris и Trusted Irix.

tailgunner ★★★★★
()
Ответ на: комментарий от gh0stwizard

Итак, что же такое Unix по-твоему?

Почитай

Даже убогая в CS/SE-вопросах русская Вики считает, что System V - это ветка Unix.

«размежевание между двумя ветвями UNIX — BSD (университета Беркли) и System V (коммерческая версия от AT&T). Впоследствии, многие компании, лицензировав System V у AT&T, разработали собственные коммерческие разновидности UNIX, такие как AIX, CLIX, HP-UX, IRIX, Solaris».

«разновидности UNIX, такие как [...] Solaris»

Что непонятно?

Trusted Solaris и Trusted Irix.

Их изобрели в AT&T ?

Нерелевантно.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Что непонятно?

А тебе что не понять в слове «разновидности»? Unix-like != Unix.

Нерелевантно.

Так в чем ты пытаешься убедить меня? В том, что раз SunOS был MLS, значит был и в оригинальном Unix'e ? А ниче, что Sun не поделился этой фичей для SVR4 ? Или Irix тоже отдал свои разработки в AT&T в тот самый Unix? Хватит пудрить мозги путая коммерческую ОС Unix и какие-то сторонние Unix-like ОС, хоть и основанные на коде Unix/BSD. Это разные ОС. Точно также как RHEL отличается от твоего любимого дистрибутива, потому что мейнтейнеры твоего дистрибутива забыли включить все патчи от Red Hat. Также они забыли включить насильно SELinux в твоем дистрибутиве и точно также как и не портировали код Trusted Solaris в твой уютный дистрибутив. Так релевантно?

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
Ответ на: комментарий от gh0stwizard

А тебе что не понять в слове «разновидности»? Unix-like != Unix.

Если для тебя Unix - это Research Unix, то прими мои соболезнования.

раз SunOS был MLS, значит был и в оригинальном Unix'e ?

Про «оригинальный Unix» ты начал говорить только что.

tailgunner ★★★★★
()

>a clone of a decades-old operating system

Your not even trying, don't you're, 4chan?

anonymous
()
Ответ на: комментарий от TowTruck

Любой, лучше более очевидный, что бы лучше понять суть того в чем именно ТС ошибается.

Ну вот например:

Command Line interface is horrible at best! Sometimes a simple typo, like «cp *», can easily mess your files. The only way to be safe with Linux is to do backup every few hours.

В любой более-менее юзабельной системе, если у тебя есть доступ на запись к своим данным, ты их можешь относительно просто безвозвратно испортить.

Deleted
()

Как вы можете охарактеризовать человека, который начинает разговор о недостатках линукса с действия на закрытие окна наутилуса? Да я в жизни не поверю, что он писал юникс!

segfault ★★★★★
()

С каких это пор на форчонге так погано кормят, что надо на LOR за добавкой ходить?

Hoodoo ★★★★★
()

Луговский, ты чтоле?

Школоте не понять..

FreeBSD ★★★
()
Ответ на: комментарий от Deleted

В любой более-менее юзабельной системе, если у тебя есть доступ на запись к своим данным, ты их можешь относительно просто безвозвратно испортить.

Ага! Спасибо! Общее направление понял.

TowTruck
()

Не понял текста из-за плохого знания английского языка. Поэтому читаю комментарии.

Насчёт большой жручести к памяти. У меня KDE3, который не тормозит на компьютере со 128 Мб памяти, и работает на 64 Мб. На компьютере с 8 Гб памяти. Потому что KDE4 - отстой.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

Лолшто? Solaris - это ветвь Unix System V R4

Я уже устал повторять. Solaris не является Unix, который продавала AT&T до конца 80х. Наработки компании Sun нельзя причислять к заслугам AT&T. Тот кто считает, что раз Solaris основан на кодовой базе Unix, то это также и значит, что все плюшки Sun, в том числе Trusted Solaris (MLS) является заслугой Unix. Если так считать, то selinux, grsecurity были уже созданы в Unix. Также была создана новая система инициализации и запуска сервисов systemd в системе Unix.

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)

таки да

Почти все правда. К сожалению, по совокупности интересных нам критериев, лучше пока ни у кого не получилось.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.