Linux

Jun 17, 2009 00:46

Сразу хочу предупредить: этот пост совершенно не относится к основной тематике этого журнала (пьянки/гулянки/истории). Тем, кто читает меня только ради этого, дальше читать не стоит. Много занудного текста с картинками.

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

Существует множество разнообразных дистрибутивов. Я пользуюсь Федорой и по этой причине буду рассказывать, как настраивать именно её. В большинстве случаев для пользователей других систем разницы не будет.

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



Инструментарий
Бытует мнение, что производить какие-либо настроечные манипуляции с системой можно исключительно в консоли (терминале). Это не так: в 90% случаев одно и тоже действие можно сделать как с помощью командной строки, так и с помощью оконных утилит. Тут, как говорится, на вкус и цвет. Я в основном работаю с консолью, посему все дальнейшие примеры будут консольными.

Оконная среда
Оконная среда в Линуксе - вечная священная война, которая в основном проходит между сторонниками KDE (википедия, оф. сайт) и Gnome (википедия, оф. сайт). Ну, и, как фанат KDE (в простонародье "кеды") не могу не заявить: гном - хуйня. :)

Консоль
Моя любовь - эмулятор терминала под названием "konsole", входящий в состав KDE. Для запуска жмём Alt+F2 и пишем в появившемся окне "konsole", либо из меню "K/System/Konsole Terminal".



Режим бога

Идеология безопасности unix-систем подразумевает, что действия в системе можно производить двумя разными способами: от имени пользователя и от имени суперпользователя (root). Обычные пользователи могут читать многое (но не все) на файловой системе, но писать фактически имеют возможность только в свою домашнюю папку (/home/<имя_пользователя>) + /tmp. Root же может абсолютно все. Поэтому для настройки системы (правки конфигурационных файлов), запуска служб, установки софта и т.д. нужно действовать от имени суперпользователя. Для того, чтобы в терминале перейти в режим root, необходимо набрать "su" и ввести пароль суперпользователя, который был задан при установке системы.

Далее будет предполагаться, что любые действия конфигурационного порядка производятся под root'ом.

Помощь

Детальной описание любой из команд можно получить так:

man <имя_команды>

Сеть
Итого: мы поставились и загрузились первый раз. Первое, что нам нужно - это сеть, ибо Линукс без интернета это печально (хотя сейчас без него везде печально).
Самый простой случай, когда интернет у нас раздаётся через шнурок по DHCP. Тогда для поднятия сети нам нужно выполнить всего лишь:

ifconfig eth0 up
dhclient eth0

Если сетевых карт несколько, тогда вместо eth0 нужно использовать eth1 и т.д. Чтобы каждый раз не писать это при загрузке можно воспользоваться консольной программой 'setup'. После этого сетевые службы будут при загрузке подниматься автоматически.



Если у нас предопределенный IP, маска подсети, шлюз и DNS, также можно воспользоваться программой 'setup' (для задания адреса и маски), либо пробить в консоли что-то вроде этого:

ifconfig eth0 inet 192.168.10.15 netmask 255.255.255.0
ifconfig eth0 up

Для задания шлюза (gateway) пишем, например, вот так:

route add default gw 192.168.10.1

Данные о серверах DNS хранятся в файле /etc/resolve.conf. Мой выглядит так (у меня DNS - роутер):

; generated by /sbin/dhclient-script
nameserver 192.168.1.1

Вам, соответственно, подправить на свой вкус.
Еще один удобный способ настройки сети - команда 'system-config-network', с помощью которого, кстати, лучше всего настраивать VPN.

Если у вас дома, как у меня стоит роутер, тогда нам понадобится настраивать wifi. Для открытой точки все предельно просто:

ifconfig wlan0 up
iwconfig wlan0 essid <имя_точки_доступа>
dhclient wlan0

Настроить автоподнятие поможет программа 'Wireless Assistant' (wireless).
С шифрованной точкой все гораздо интересней. Для нее нам понадобится установить (как это сделать смотри в одном из следующих разделов) пакет под названием wpa_supplicant. Далее создать/подправить файлик /etc/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant USER=<ваш_пользватель>
network={
ssid="<имя_точки_доступа>"
scan_ssid=1
key_mgmt=WPA-PSK ; либо ваш метод шифрования
psk="<ключевая_фраза>"
}

А потом файлик /etc/sysconfig/wpa_supplicant привести к подобному виду:

INTERFACES="-iwlan0"
DRIVERS=""
OTHER_ARGS="-u -f /var/log/wpa_supplicant.log -c /etc/wpa_supplicant.conf"

Ну, и далее весь подъём сети сводится к:

service wpa_supplicant start
dhclient wlan0

У меня автоподъёмом wifi занимается красивый скрипт, прописанный в /etc/rc.local:

#should be run as root

SCRIPT_NAME=`basename "$0"`
echo "[$SCRIPT_NAME]: Searching for home wi-fi hotspot..."

#enable interface

echo "[$SCRIPT_NAME]: Enabling wlan0 interface..."
ifconfig wlan0 up

WLAN0_ENABLED=`ifconfig | grep wlan0`
if [ -z "$WLAN0_ENABLED" ]; then
echo "[$SCRIPT_NAME]: Error enabling wlan0."
exit 1;
fi

echo "[$SCRIPT_NAME]: Interface wlan0 is now active."
echo "[$SCRIPT_NAME]: Scaning for home hotspot..."

HOTSPOT_FOUND=`iwlist scan 2>&1 | grep 'phantom-wifi'`
if [ -z "$HOTSPOT_FOUND" ]; then
echo "[$SCRIPT_NAME]: Hotspot not found."
exit 1;
fi

echo "[$SCRIPT_NAME]: Hotspot found."
echo "[$SCRIPT_NAME]: Connecting to access point..."

service wpa_supplicant start &> /dev/null
if [ "${?}" -ne "0" ]; then
echo "[$SCRIPT_NAME]: Couldn't connect to access point."
exit 1;
fi

echo "[$SCRIPT_NAME]: Connected."
echo "[$SCRIPT_NAME]: Obtaining IP-address information..."

dhclient wlan0 &> /dev/null
if [ "${?}" -ne "0" ]; then
echo "[$SCRIPT_NAME]: Couldn't get IP-address from access point."
exit 1;
fi

echo "[$SCRIPT_NAME]: Done."
exit 0

Установка и удаление программ. Управление пакетами.

Рано или поздно нам перестанет хватать того, что шло из коробки, и нам захочется что-то доставить (а потом скорей всего еще и что-то удалить).
Для Федоры (и всех RedHat'ов) программы распространяются в виде rpm-файлов (пакетов). RPM - RedHat Package Manager (википедия). Далее несколько примеров работы с командой rpm.

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

rpm -ivh package.rpm

Обновление пакета:

rpm -Uvh package.rpm

Удаление пакета:

rpm -e package

Проверка наличия пакета в системе:

rpm -q package

Проверка наличия пакета в системе:

rpm -q package

Получение информации об установленном пакете:

rpm -qi package

Получение списка файлов установленного пакета:

rpm -ql package

Получение имени пакета, к которому принадлежит файл:

rpm -qf <полное_имя_файла>

Получение списка всех установленных пакетов:

rpm -qa

Репозитории

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

По умолчанию в нашей системе есть информация о двух репозиториях: fedora и fedora-updates. Для полного счастья нам не хватает еще парочки:

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Теперь у нас есть все необходимое. Для работы с репозиториями в Федоре используется конольный менеджер пакетов под 'yum'. Для того, что бы оценить прелесть работы с этой штукой достаточно просто привести пример. Итак, нам понадобился Firefox:

yum install firefox

Всё! Дальше система отследит все зависимости, скачает всё сама и произведет установку. Соответственно дальше, если я буду говорить что-то типа "поставьте skype", то буду иметь ввиду именно этот способ. И упоминать я буду программы, доступные в репозиториях.

Ещё одним громадным преимуществом использования yum'а является возможность обновления. Для того, чтобы обновить все ваши пакеты, установленные в системе, до самой свежей версии достаточно выполнить одну единственную команду:

yum update

Музыка

Теперь мы умеем ставить программы - пора обустраиваться. Начнем с музыки. Для проигрывания mp3 в линукс-дистрибутивах есть довольно больше многообразие программ, в чем можно легко убедиться самому, набрав:

yum search player mp3

Выбирайте то, что понравится вам. Я пользуюсь штукой, под названием 'audacious'.



Видео

Здесь, в принципе, тоже есть из чего выбрать, но на мой взгляд упоминания достойны 'vlc' и 'mplayer'.

yum install vlc mplayer

И вперед.

Файлы

Для выполнения абсолютно любого типа задач необходим файловый менеджер. Можно, конечно, пользоваться встроенными (например, konqueror'ом), но мне всегда симпатизировали панельные программы, похожие на старый добрый Norton Commander. Поэтому я польюсь консольной програмулиной по имени 'Midnight Commander' (пакет 'mc').

Konqueror:



Midnight Commander:



Фотографии

Для просмотра разнообразных картинок также существует куча софта. От себя могу порекомендовать проверенный 'gqview'.



ICQ и т. д.

Pidgin, Kopete, licq. Много еще чего. Мой выбор - 'pidgin'. Настраивается легко и просто. Относительно стабилен, не заброшен, развивается.



Кстати, любителям поизвращаться могу посоветовать консольный клиент 'finch'. Что самое смешное, он вполне юзабельный.

Почта

Тут, на мой взгляд, без вариантов - 'kmail'. Но это, конечно, сильно субъективно, ибо вариантов масса.

Резюме

Для начала все. По мере необходимости статья будет дописываться и расширяться. На все вопросы тоже готов ответить либо в комментариях, либо в качестве дополнительного раздела. Донесение до интересующихся лиц вполне себе приветствуется, потому что надеюсь, что потратил уйму времени не зря. За сим откланяюсь.

статьи, it

Previous post Next post
Up