Первичная настройка FreeBSD

Странно, но многие до сих пор считают, что FreeBSD — система исключительно для серверов. Как-то люди привыкли, что Linux нормально живёт на десктопах, а вот FreeBSD — мрак, консоль, Израиль.

ПрограммыFreeBSDНастройки

Странно, но многие до сих пор считают, что FreeBSD — система исключительно для серверов. Как-то люди привыкли, что Linux нормально живёт на десктопах, а вот FreeBSD — мрак, консоль, Израиль.

Во времена FreeBSD 8.2 (где-то 2011-ый год) я уже проводил эксперимент с «жизнью» во фряхе. Эксперимент удачный. Сейчас ситуация ещё улучшилась. Могут быть проблемы с совместимостью с железками, хотя всё решается, если взяться за это.

Ниже — описание моего приключения из 2011-го. Уверен, что и сейчас эти рецепты работают, если заменить pkg_add на pkg install.

Первый запуск FreeBSD, настраиваем консоль

Ядрёная консоль делает меня сильней!

Первое, что замечает линуксоид, попадая во FreeBSD-шную среду: что-то не так с консолью. А именно: автокомплит (дописывание пути по нажатию tab) отсутствует. А штука была полезная. Глядим, что у нас в качестве оболочки:

FreeBSD# echo $SHELL
/bin/csh

Теперь понятно, в чём дело: вместо bashа у нас csh. Значит надо поставить баш!

Предположим, что сеть мы настроили ещё на этапе установки (я это сделал именно там), а доступ в интернет у нас есть, например через Linux, на машине рядом.

Установка пакетов

От куда мы можем взять баш? Во FreeBSD есть 2 кошерных варианта: порты и пакеты. Если мы устанавливаем из портов, то нам придётся качать исходники и компилировать. Это не сложно, но долго. Делается это, например, так:

FreeBSD# cd /usr/ports/shells/bash
FreeBSD# make
FreeBSD# make install

Как можно было заметить, порты лежат в /usr/ports. Далее они разложены по тематике. Bash это оболочка, значит положено ей лежать в shellsmake — собрали, make install — положили по нужным местам. Всё как в линуксе, когда мимо пакетного менеджера программы ставишь.

Второй вариант установка пакетов (package) вариант проще и быстрее: всё собрано за нас, осталось только скачать и установить.

FreeBSD# pkg_add -r bash

Разницу между этими способами ощутить вряд ли получится, если только вам не требуется какая-то кастомизация на этапе сборки. Поэтому, когда есть возможность, я выбираю пакеты.

Ладно, ставить мы умеем, а вот искать как-то не очень По правде сказать, искать по пакетам я пока не научился. Логичного продолжения pkg_add  — команды pkg_search в системе нет. Однако, названия пакетов почти всегда совпадают с названием портов. А вот вариантов поиска в портах предостаточно. Люди на сайтах советуют

FreeBSD# make search name="package-name"

но что-то у меня и с этим не заладилось, поэтому, пользуясь тем, что порты это папки, пользуюсь простым поиском пути, содержащего искомую подстроку:

FreeBSD# find /usr/ports -name '*package*'

Этот способ мне нравится даже больше, чем aptitude search, ибо можно задать хороший шаблон и не грепать потом весь выхлоп пакетного менеджера.

Меняем csh на bash

Собственно, нам нужно, чтобы пользователь заходил после логина в bash а не в csh. Порядка ради замечу, что csh в качестве shell-а стоит по умолчанию только для root-а, остальным раздаётся обычный sh.

Итак, сделать это можно, изменив настройки пользователя. Почти все действия с пользователем во FreeBSD идут через команду pw. Не будет исключением и смена оболочки. Опытный линуксоид сразу вспомнит команду usermod и будет почти прав:

FreeBSD# pw usermod root -s /usr/local/bin/bash

Теперь нужно перелогиниться, чтобы начал использоваться bash. Добро пожаловать в родную среду!

Ставим файловый менеджер

Перемешаться по файловой системе из консоли (а нам придётся это делать часто) можно в консоли, а можно и в нормальном двухпанельном файловом менеджере. К тому же редактировать файлы нам тоже придётся, а vim любят не все, поэтому советую поставить Midnight Commander.

[root@FreeBSD ~]# pkg_add -r mc
[root@FreeBSD ~]# /usr/local/bin/mc

Кстати, почти всё ставится в /usr/local. Там и конфиги искать (/usr/local/etc) и бинарники.

Графическая оболочка во FreeBSD

Сколько user-а консолью не корми,
он всё равно на GUI смотрит.

Консоль это, безусловно, хорошо, но многие (я в их числе) привыкли к использованию графических оболочек. А значит, стоит, как минимум, описать способ поднятия графического интерфейса в сей замечательной ОСи.

Ставим Xorg

Ставится xorg сервер опять же просто:

[root@FreeBSD ~]# pkg_add -r xorg-server
[root@FreeBSD ~]# pkg_add -r xorg

Все зависимости выкачаются сами, оставим это на пакетный менеджер. Ещё нам понадобится драйвер для нашей видео-карты. У меня nvidia, ставлю nvidia-driver (нашёл, пользуясь всё тем же find /usr/ports/ -name '*nvidia*'):

[root@FreeBSD ~]# pkg_add -r nvidia-driver

Дабы не возиться с устройствами, подключим hald и dbus. Для этого пропишем их, а заодно и slim (о нём будет написано ниже), в /etc/rc.conf

[root@FreeBSD ~]# mcedit /etc/rc.conf
hald_enable="YES"
dbus_enable="YES"
slim_enable="YES"

Ставим desktop environment

Иксы мы поставили, теперь можно установить какую-то графическую среду. Мне нравится lxde, её и буду ставить:

[root@FreeBSD ~]# pkg_add -r lxde-meta

Ещё нам потребуется login manager. Опять же, руководствуясь своими предпочтениями, ставлю SLiM (Simple login manager):

[root@FreeBSD ~]# pkg_add -r slim

Теперь нужно его настроить. Конфигурация slim-а находится в файле /usr/local/etc/slim.conf

[root@FreeBSD ~]# mcedit /usr/local/etc/slim.conf

Ищем строку описания возможных сеансов:

sessions        xfce4,icewm,wmaker,blackbox

Удаляем всё ненужное (мы же их не ставили их и нет), пишем туда lxsession программу запуска сеансов для lxde:

sessions        lxsession

Там же заменяем команду входа:

login_cmd    exec /usr/local/bin/bash -login ~/.xinitrc %session

А в файле ~/.xinitrc прописываем запуск lxde сессии:

exec lxsession

Сохраняем, перезагружаемся, дабы изменения, записанные в /etc/rc.conf (hald и dbus) вступили в силу.

После перезапуска запустится slim и предложит нам войти в систему.

Вот мы и настроили графический интерфейс во FreeBSD. По-моему, неплохо для первичной настройки.

А мне остаётся только пожелать Вам успехов в освоении новой unix системы!

Фото Надежное удаление файлов в Linux, FreeBSD и MacOS

Надежное удаление файлов в Linux, FreeBSD и MacOS

Вы когда-нибудь задумывались, куда пропадают файлы, после того, как вы их удалили? Есть ли «рай» и «ад» файлов, что с ними там делают? Вообще, гуманно ли удалять файлы?

Фото Программист на Drupal против программиста на ЯП. История одного программиста

Программист на Drupal против программиста на ЯП. История одного программиста

Недавно меня нашёл один программист и спросил, не хочу ли я писать с ним сайты. Мол есть заказчики (забугорные), есть наработки, нужны программисты.