linux to freebsd

Šai sadaļā vari iepostēt kādu savu domrakstiņu vai kādu citu materiālu publicēšanai bug.lv.
Arī web norādes, kuras varētu citiem BSD lietotājeim būt noderīgas varat darīt citiem zināmas šeit(iespējams pieliksim arī norāžu sadaļā).

Moderator: pamela

Locked
Vells
Posts: 589
Joined: 11:26 Monday 22 Sep 2003
Contact:

linux to freebsd

Post by Vells » 10:04 Wednesday 7 Apr 2004

cilveeks ar 7 gadu pieredzi straadaajot ar linux to saka !!!

Summary: We've all heard the age old argument second only to the vi vs. emacs religious wars: FreeBSD Vs Linux. As a long time linux user, I decided that is was time I spent some time on the other side of the fence to see if it was any greener. Oh, and by the way, vi rules.

Background

My first experience with Linux was about 7 years ago. I decided to try Linux after a failed attempt to install SCO Unix (eek... really dodged a bullet there). I started with Slackware and over the years I migrated through various other distributions before finally settling down with Gentoo. I have been using Linux as my main OS for about 2 or 3 years. With my background, I felt reasonably confident that I could adapt well to a different unix like operating system. I prefer the BSD license to the GPL, so I saw some potential philosophical advantage in using BSD. For my evaluation, I chose FreeBSD because after a cursory glance, it appeared to have the best hardware support and appeared to be the most popular.

Hardware

The machine I used was my "second in command" machine. It was retired from active duty almost a year ago, so it is rather old, but hasn't hit the stage of seeming painfully slow. Here are the specs:

1Ghz Athlon Thunderbird
FIC AZ11 motherboard with a messed up secondary IDE controller
(it works if I hit reset after powering on)
640Mb PC133 SDRAM
Generic 64Mb Geforce 2 MX400 (with rather blurry 2d graphics)
Sound Blaster Live
Creative 5x dvdrom with dxr2
Mitsumi 4x4x24 CDRW
Tulip based Linksys ethernet card


At this time, I would like to advise all of you girls and boys thinking about building your own system to BUY NAMEBRAND PARTS. You might save a few dollars, but there really is a difference in quality.

Installation

I grabbed the ISOs for FreeBSD 4.8 because it was the most recent stable revision at the time I started. I won't bore you with all of the gory detail of the install. It uses a curses based installation program which should be reasonably comfortable to anybody who has installed Slackware. I made a few mistakes and had to restart a couple of times since you can't always easily back up in the process. Once I finally got the process down, I had a working console system within an hour (I chose to delay installing X until later).

Configuration

Most of the hardware worked without any intervention on my part. The sound card required building a custom kernel, but the kernel building process is well documented and rather painless (roughly on par with building the kernel in linux). Instead of using something like "make menuconfig" under Linux, you edit a moderately sized config file and use it to generate the build parameters. I just had to add the line "device pcm" to the config file, build a new kernel and reboot. BAM! The sound was working. No need to muck with modules or setup aliases or any of that other junk that I frequently forget. I then used ports to install X and also to install the nvidia driver. I noticed some problems with KDE applications dumping core on exit and discovered that it was a problem related to the stock 4.8 kernel and the nvidia drivers. After a few minutes of searching on bsdforums.org, I discovered that there was a kernel patch to fix the problems. The patching process and rebuild of the kernel went off without a hitch.

Ports and Packages

My main interest in investigating BSD was the ports system. As a Gentoo Linux user, I have often heard portage compared to ports. After observing a number of similarities in file layout of ports and portage, I have no doubt that portage was inspired by ports. To install a port, you find the corresponding directory under /usr/ports and enter "make install". I found this to be a bit of hassle compared to portage largely due to having to find the appropriate directory which is not always found in what I would consider a logical location (for instance the nvidia driver is in /usr/ports/x11/nvidia_driver). I later found out that I could use the command "whereis" to locate the correct directory. This is very useful since it finds the location much quicker than running "find" from /usr/ports. For the most part, the ports I installed worked quite well and correctly handled dependencies. There were some minor annoyances such as the openoffice port prompting for user interaction partway through the build process. I was not pleased to get up in the morning and discover that the build was not completed. One advantage of using a port compared to an ebuild is that it you need to kill the build partway through, you can later resume where you left off (there may be a way to due this in portage, but if there is, it is not very obvious). After you have installed a port, you can use "make deinstall" to remove it, however there is a bit of a snag. If you use "make clean" to avoid wasting disk space, "make deinstall" will not work. You must unistall the port as if the program was installed as a package. I found this annoying since I am only interested in installing from source and I did not want to waste my time learning about the package system (used for installing binary packages). Many ports have options that you can pass to the make command in order to enable options, but these have to be dealt with on a port by port basis and not set globally like portage's USE flags. There is a method to globally change the CFLAGS used by ports, but I never bothered to learn it (I trust the defaults).

I noticed a number of things which made ports appear to be more release-oriented than the portage system. The first is that there is no way to upgrade the ports tree without installing an additional port after installation (namely cvsup). I installed cvsup and noticed that I had to modify a config file before I could use it. Example config files were included, but they needed minor alterations before they could be used (mostly just setting the server name). This isn't necessarily bad, but the documentation is extremely thorough and not geared toward newbies. Once configured, it is relatively painless to upgrade the ports tree. Similarly, upgrading an installed port to a newer version is a bit clunky without installing another utility (namely portupgrade). It isn't a big deal, it just leaves me with the impression that the developers expect some people to treat different releases as distinct entities much like many binary Linux distributions. Of course, it is still possible to do a continuous upgrade like I would with Gentoo. Release 4.9 was released in the middle of my evaluation period, and I successfully upgraded the system and kernel to the new version without reinstalling. Overall, the system seems to work well, in spite of some rough edges.

Conclusion

Overall, I found FreeBSD to be a very usable system, but not very newbie friendly. The documentation was generally good, but it could benefit from some additional documentation geared toward beginners. I had to adapt a bit to the command line utilities since some of the parameters are a bit different from the equivalent GNU versions. For instance, "find" requires that the directory be specified whereas with the GNU version, it can be omitted. I also discovered that under BSD, it is bad to edit /etc/passwd directly. I tried to change my shell by editing /etc/passwd, but it seemed to be ignoring it. However, if I used "vipw" as root, I could edit it without any problems. I suspect that the system examines some sort of cached copy of the data in /etc/passwd, so any changes not reflected in the cache are not seen. There is also a handy too "chsh" which will allow any user to change his own default shell. I was a bit disappointed with the ports system, however it is still quite useful. To be fair, I am not currently aware of any package management systems that actually satisfy me (*shameless plug* I am working on a new package management system, and when it is more developed I suspect many people will like it). I did not do extensive performance testing, but X seems more responsive under FreeBSD than it does under Linux, particularly when running CPU intensive tasks in the background. Overall, I would say that FreeBSD is not good for Joe (L)User, but it is definitely worth consideration by hard-core techies. My first few nights using it were rather painful, but within a week I was becoming reasonably comfortable. If you think you are up to it, I would recommend giving it a try, just don't give up too quickly.

About the author
Gabe Yoder is a full-time software engineer and a geek's geek. In spite of work, he enjoys programming and is one the OpenBeos development team. When not chained to the computer, he enjoys collecting swords and shooting people with paintballs.

Jurz
Posts: 522
Joined: 14:28 Saturday 20 Sep 2003
Contact:

Post by Jurz » 10:31 Wednesday 7 Apr 2004

Hm, kaut kur es šo jau biju lasījis, bet interesanti uzrakstīts.

Vells
Posts: 589
Joined: 11:26 Monday 22 Sep 2003
Contact:

Post by Vells » 10:52 Wednesday 7 Apr 2004

droshi vien , inets jau pills ar linkiem )

Vells
Posts: 589
Joined: 11:26 Monday 22 Sep 2003
Contact:

Post by Vells » 15:44 Thursday 8 Apr 2004

sheit veel viens ljoti intresants raxts tipo viedoklis un saliidzinaajumi

Алексей Федорчук (alv@linux-online.ru)

1. Введение

Написав, казалось бы, не так давно книжку про FreeBSD, я не предполагал обращаться в ближайшее время к этой теме. Потому что сказал все, что хотел (и, главное, мог). Однако человек предполагает, а судьба располагает. И выход релиза версии 5.1 - первого полноценного представителя 5-й ветви, - изменил мои намерения. Во-первых, оказалось, что книга была написана ровно год назад (это вследствие всяких перипетий вышла только в начале этой зимой). Во-вторых, оказалось, что в 5-й ветви столько новшеств, что их нужно изучать и осваивать - воспоминаний о прежних версиях явно недостаточно. А поскольку второй самый эффективный способ изучения любой системы (после ее создания, конечно) - это описание, я и решил на этих страницах начинать новый цикл - о FreeBSD 5-й ветки и, по ходу дела, о других BSD-системах, которые все больше и больше попадают (не всегда заслуженно) в тень Linux'а.

Дополнительным стимулом послужили время от времени всплывающие в форуме Linuxshop'а вопросы - а для чего вообще предназначена FreeBSD, и пригодна ли она для использования в качестве десктопа. И потому в качестве введения цикла я хочу осветить свое понимание этой темы.

Не секрет, что если Linux мало-помалу завоевывает место под солнцем, освещающим десктопы конечных (хотя и достаточно специфических) пользователей, то про FreeBSD этого не может сказать даже самый ярко выраженный оптимист. Почему? Главная причина неиспользования FreeBSD как настольных пользователей - в том, что никто ее в этом качестве не использует (есть еще одна причина, о которой я упомяну под занавес). Остальные же - производны от главной, хотя им и пытаются найти рациональное объяснение. Среди них наиболее часто выступают:
большая сложность установки и настройки;
сложность освоения;
худшая (по сравнению с Linux) поддержка современного оборудования;
недостаточная поддержка периферийных устройств;
недостаточное количество приложений общего пользования;
плохая работа приложений наличных.

Есть еще и объяснение иррациональное: FreeBSD - просто плохая (по сравнению с Linux, опять-таки) система, но о нем мы говорить не будем, поскольку это просто не так (пока прошу поверить на слово - доказательства надеюсь представить в последующих заметках цикла). А пока попробуем рассмотреть псевдорациональные объяснения.

Начнем со сложности установки и настройки. Да, FreeBSD не имеет такого красивого графического инсталлятора, как Red Hat, Mandrake или ASPLinux. Free'шный установщик, sysinstall, функционирующий в текстовом, лишь слегка украшенном псевдографикой, режиме выглядит несколько аскетично. Однако он вполне логичен и (по приобретении минимальных навыков) прост в использовании.

К тому же sysinstall - не просто инсталлятор, но еще и универсальный конфигуратор, до которого далеко и панели управления Red Hat, и Mandrake'вским Drake'ам. По универсальности с ним можно поставить в один ряд только Yast из Suse. При этом он отнюдь не препятствует ручному вмешательству в процесс конфигурирования, тогда как от общения с Yast'ом (не говоря уж о Drake) у меня осталось впечатление, что он и ручные настройки - две вещи несовместные.

С противоположной стороны, можно сказать, что sysinstall в своем универсализме проигрывает средствам установки и настройки таких Source Based дистрибутивов Linux, как Gentoo. Где специализированные инструменты установки и настройки просто отсутствуют - в этом качестве выступают командная оболочка bash и текстовый редактор (а что может быть универсальнее в мире Unix?).

Однако и это не вполне верно. FreeBSD можно установить, не прибегая к sysinstall вообще (и в одной из ближайших заметок я это проиллюстрирую). А для постинсталляционной настройки прибегать к нему вообще нет необходимости - того же редактора хватит за глаза. Хотя, in contrario, у пользователя всегда сохраняется sysinstall'ная альтернатива, результаты работы которой никогда не будут идеальными, но - всегда разумны.

Сложность освоения? Бытует мнение, тщательно культивируемое в определенных кругах, что работа во FreeBSD требует более высокой квалификации, чем в Linux. По моему скромному мнению, это в корне не верно. Не то чтобы во Free можно работать, не имея никаких знаний. Просто эффективное использование последней без некоторого минимума подготовки также невозможно. И во Free это становится ясным с первого эе запуска системы, не маскируясь ни теми же графическими инсталляторами, ни пропагандистскими лозунгами о том, что Linux стал проще Windows (на мой-то взгляд, так оно и есть, однако только при понимании специфики).

Относительно поддержки оборудования - вопрос очень и очень спорный. С одной стороны, поддержка существенно нового железа во Free обычно появляется несколько позже, чем в Linux. Однако ьуде она все же появилась - реализация такой поддержки, как правило, сразу вполне на уровне. Чего про Linux, к сожалению, сказать можно не всегда - вспомним не так давно имевшие место проблемы с USB и ныне существующие - с ATA RAID. Во FreeBSD ни тот, ни другой класс устройств не доставляет ни малейших неприятностей.

Часто отдельно встает вопрос о видеокартах. Однако, строго говоря, он не относится к компетенции ни Linux, ни FreeBSD: в текстовом режиме обеих этих операционок поддерживается практически любая когда либо существовавшая карта. Графический же режим - прерогатива оконной системы Икс, которая идентична и в Linux'е, и во FreeBSD. Конечно, драйверы для видеокарт от производителей (в сущности, модули ядра) специфичны для ОС. Однако в последнее время Nvidia выпускает драйверы к своим чипам для FreeBSD столь же исправно, что и Linux, прочие же (а их и осталось-то - ATI да Matrox, не считая встроенных SiS и Intel), как показывает история, будут вынуждены последовать их примеру.

Относительно поддержки периферии, особенно той, что еще недавно считалась за экзотическую (от сканеров и фотореалистических принтеров до цифровых камер) - сказать затрудняюсь. Вполне готов поверить, что печать фотографий в Linux осуществляется лучше (хотя в данном случае уместнее было бы - менее плохо). Однако для профессионалов цифровой фотографии любая Unix-платформа, скорее всего, неприемлема, а на любительском уровне прикрутить цифровую камеру к BSD-машине вряд ли существенно сложнее, чем к Linux-боксу.

Зато тезис о недостаточном количестве приложений опровергнуть очень легко. Ибо база пользовательских программ для Linux и FreeBSD - абсолютно одна и та же, и включает в себя все многообразие открытого и свободного софта, созданного человечеством. Для сравнения: число пакетов, входящих в дистрибутив Debian GNU/Linux, составляет около 8 тысяч, порты же FreeBSD насчитывают в себе более семи с половиной тысяч позиций (и постоянно возрастает). Более того, практически любая программа, не охваченная системой портов, написанная под абстрактный Unix или под Linux, и доступная в исходных текстах, может быть скомпилирована для работы во FreeBSD.

Разумеется, есть некоторое количество Linux-специфичных программ, не имеющих BSD-версий и не доступных в исходных текстах (то есть не принадлежащих к миру Open Sources). Тут обычно называют такие имена, как Kylix или RealPlayer. Однако и для них не все потеряно на платформе FreeBSD. Ибо последняя позволяет запускать бинарные Linux-программы в т.н. режиме совместимости, не только без потери производительности, как при эмуляции Windows-приложений, но даже, как утверждают некоторые, с приращением оной. К слову сказать, эмуляция Windows-программ через Wine во FreeBSD реализована столь же хорошо (или столь же плохо), как и в Linux.

И последнее. Когда речь заходит о плохой работе программ под FreeBSD, упоминается Java. Я с такими упоминаниями столкнулся на нашем же форуме, и был весьма удивлен. По существу вопроса ничего сказать не могу (буду признателен за разъяснения). Однако если это и так - то это, конечно, недоработка... Не Free, разумеется, а Java - зря, что ли, ее именуют кросс-платформенным языком...

Таким образом, все объективные причины к неиспользованию FreeBSD на десктопе на поверку оказываются либо не существенными, либо просто не имеющими место быть. В то же время для FreeBSD можно констатировать некоторые специфичные особенности, не свойственные Linux, которые могут выступать в качестве показаний к такому использованию.

И первым в этом ряду нужно назвать то, что FreeBSD - одна, а Linux'ов - много. И эту фичу первой операционки переоценить трудно. Любой пишущий о Linux вынужден либо делать массу дистрибутив-специфичных оговорок, либо просто делать вид, что других дистрибутивов, кроме им используемого, на свете не существует. А каково при этом читателю, особенно начинающему? FreeBSD же, будучи единой и (пока) неделимой, от этого свободна. Что, к слову сказать, делает ее идеальным объектом для первичного изучения Unix-систем вообще (именно изучения, а не ознакомления).

Вторая особенность FreeBSD, выгодно отличающая ее от Linux'а, вытекает из первой. Это - целостность системы. Если Linux - более или менее удачная попытка синтеза ядра системы с набором системных и прикладных утилит разного (преимущественно GNU'того) происхождения, то во FreeBSD комплекс утилит составляет с ядром неразрывное единство. И потому их совместимость как бы не подвергается сомнению (разумеется, в ветках, классифицированных в качестве стабильных). Именно этим единством обусловлена большая устойчивость FreeBSD - а отнюдь не превосходством ее ядра или утилит обрамления. Впрочем, вопрос сравнительной устойчивости я обсуждать категорически отказываюсь...

Третье мое утверждение может показаться парадоксальным, но оно основано на собственном опыте: FreeBSD устроена существенно проще Linux'а. Чтобы поверить в это, достаточно ознакомиться с системой ее инициализации, то есть стартовыми сценариями каталога /etc. Здесь нам не придется иметь дело ни с загадочными для начинающего пользователя runlevels (кстати, любой русский перевод этого термина способен только еще более ввести этого самого пользователя в заблуждение), ни с кучей подкаталогов типа /etc/init.d/rc.#, содержащих ссылки на скрипты интуитивно не всегда ясного назначения (да еще и разнящимися не только от дистрибутива к дистрибутиву, но от от версии к версии), ни на прочие атрибуты загрузки в стиле System V, характерного для большей части дистрибутивов Linux. Во FreeBSD же для старта системы абсолютно необходим лишь единственный стартовый сценарий (/etc/rc) и пара конфигурационных файлов (/etc/rc.conf и /etc/ttys) очень прозрачной структуры.

Предвижу два возражения: что система инициализации в стиле System V обеспечивает более гибкое управление процессом загрузки, и что BSD-сценарии плохо масштабируемы и теряют эффективность при большом количестве стартовых сервисов. Не могу с этим согласиться. В принципе. Однако у нас сейчас речь идет о настольной системе, а часто ли там возникает необходимость в запуске большого количества стартовых сервисов? Как правило, наоборот - пользователю любого "могучего" Linux-дистрибутива при настройке под себя приходится затрачивать немало усилий по разгрузке инициализационной схемы от излишеств, которые составители посчитали необходимостью. Не случайно же в последнее время ряд Linux-дистрибутивов обнаруживает тенденцию к замене излишне усложненного стиля загрузки, унаследованного от System V, более простым BSD-стилем (правда, сами по себе runlevels'ы от этого в них никуда не деваются).

И последнее. Система управления пакетами FreeBSD, т.н. система портов, выглядит на первый взгляд достаточно специфичной. Однако при внимательном рассмотрении оказывается, что основана она на механизме make-файлов, универсальном для всех Unix-систем. Тогда как управление пакетами в Linux, как правило, настолько дистрибутив-специфично, что виртуозное владение техникой rpm-билдинга мало чем может помочь при работе с deb-пакетами. Опять же показательно, что передовые идеи в Linux-ди&#1089

Jurz
Posts: 522
Joined: 14:28 Saturday 20 Sep 2003
Contact:

Post by Jurz » 23:28 Saturday 10 Apr 2004

Vuj, cik garsh raksts un pie tam veel krieviski(man kaukaa tas leenaak lasaas)..
Man personiigi labaak patiik ka vienaa lapaa smuki raadaas gan latvieshu, gan krievu burti.

Vells
Posts: 589
Joined: 11:26 Monday 22 Sep 2003
Contact:

Post by Vells » 16:58 Thursday 15 Apr 2004

tur iisteniibaa ir divi raksti un abi ir par bsd
Manupraat ljoti saistoshi un argumenteeti!!!

Locked