Настройка Ubuntu. Пилим и обживаем

Сегодня не будет особых сложностей. Мы поговорим о Linux’e для дома, но с различными фиксами и современными фишками. Надо сказать что я долго и безуспешно пытался пересадить своих друзей на данную операционную систему, но им не хватало пыла и… игрушек. Сейчас ситуация с играми для пингвина понемногу выправляется, ну а по количеству фишек она давно обогнала Windows. Я предлагаю вам установить и настроить систему хотя бы на переносной жетский диск, и у вас будет убойная, защищенная мобильная система, которая всегда поможет вам в случае необходимости.

Данный текст является компилянтом различных советов относительно Linux семейства убунтовых. Все вы могли бы их нагуглить по отдельности сами, я просто свел это воедино и объединил своим опытом использования.

Текст пока находится в варианте черновика и будет дополняться примерами конфигов и иллюстрациями, но в целом, уже жизнеспособен и готов к употреблению. Так что приятного изучения, друзья!

Да, чуть не забыл, что касается выбора дистрибутива, то я вам рекомендовал бы Linux Mint, Elementary OS, Ubuntu, именно вот в такой последовательности бы.

Рекомендации по разбивке диска

1-й вариант (*nix — вариант)

100 МБ на /boot  (файловая система ext2, загрузчик+ядра)
XX  ГБ на /             (это, собственно, и будет сама наша система)
XX  ГБ на /home (домашняя папка пользователей, аналог профилей в Windows)
2 ГБ – /swap-раздел

2-й вариант (Windows-вариант)

100 МБ на /boot (загрузчик+ядра
XX  ГБ на /            (система)
2 ГБ – /swap-раздел

3-й вариант (самый простой)
XX  ГБ на /            (система+загрузчик)
2 ГБ – /swap-раздел

layout

Выбор файловой системы

Среди актуальных на сегодняшний день файловых систем, на мой взгляд, подчеркиваю, на мой взгляд, стоит упомянуть о трех: ext4, btrfs и zfs, каждая из которых хороша по-своему, и в тестах на скорость чтения/запись где-то побеждает одна, где-то другая, выбор лишь за вами. Но вот пара ремарок:

  1. Если вы выберете btrfs, то с большей долей вероятности вам придется применить исправление описанное здесь http://admin-to-admin.info/blog/izbavlyaemsya-ot-oshibki-sparse-file-not-allowed-v-grub2-na-btrfs/
  2. Безусловно, интересна установка на zfs, файловую систему будущего, подробное описание которой можно найти здесь http://goo.gl/d2tX5E , но если вы ставите Ubuntu 13.10, то стоит помнить, что в репозитории ppa:zfs-native/grub нет загрузчика под саламандру и нужный пакетик необходимо выкачать заранее ручками

Визуальная составляющая

  • Шрифты

Самым важным моментом о котором стоит упомянуть при настройке визуально приятного для глаза декстоп-окружения – это шрифты. До недавнего времени в Linux это было большой проблемой. Но лишь до недавнего времени
Первым делом устанавливаем шрифты от Microsoft (таким образом во многом решается проблема отображения документов в MS Office):

apt-get install ttf-mscorefonts

После этого в системе будут доступны MS шрифты:

  • Arial
  • Comic Sans
  • Times New Roman
  • Verdana
  • Webdings

Для лучшего рендеринга дадим команду:

Далее инсталлируем Infinality.

Infinality представляет собой набор патчей Freetype, которые пытаются обеспечить улучшенный рендеринг шрифтов для Linux, а также предоставляет возможность легко сконфигурировать различные варианты отображения шрифтов в Linux. С помощью этого проекта вы можете установить стиль шрифта для эмуляции OSX , Windows 98, Windows XP или Windows 7 или Вы можете использовать «Linux» или «Infinality» (по умолчанию) стиль.

sudo add-apt-repository --yes ppa:no1wantdthisname/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fontconfig-infinality

Примечание: фикс для Infinality + MDM LinuxMint вы найдете здесь http://admin-to-admin.info/blog/infinality-i-mdm-linuxmint-ispravlenie-problemyi-zapuska/

  • Видеодрайверы

Если вы являетесь обладателем обладателем видеокарты фирмы NVIDIA, то мы с вами в одной лодке и я расскажу вам где взять последние версии видеодрайверов для оной:

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-current nvidia-settings
  • Исправление консоли

Данный баг тянется с какой-то седой версии Ubuntu чуть ли не 2008 года, и почему его до сих пор не могут исправить непонятно. Выражается он в том, что при установке проприетарных драйверов у вас перестает нормально работать framebuffer, то есть говоря доступным языком в консоли вы получаете ужасно низкое разрешение и заставка при загрузке (plymouth) тоже выпадает в ультра низкие настройки.

Будем исправлять:

sudo apt-get install v86d hwinfo
sudo mcedit /etc/default/grub

Измените

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" на GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap"

Раскомментируйте строку

GRUB_GFXMODE=1280x1024-24
sudo mcedit /etc/initramfs-tools/modules

В конце файла добавьте строку

uvesafb mode_option=1280x1024-24 mtrr=3 scroll=ywrap
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-grub
sudo update-initramfs -u

Перезапуск компьютера

Включение ipv6

Зачем это надо?

  • Протокол IPv6 позволяет: увеличить скорость скачивания и раздачи торрентов (на трекерах, поддерживающих IPv6);
  • запустить публичный веб-, FTP-сервер, любые другие сервера, даже не имея «белого» IPv4-адреса и находясь за провайдерским NAT;
  • подключаться к своему компьютеру из любой точки Интернета без необходимости «пробрасывать порты» на роутере;
  • пользоваться различными IPv6-only сервисами.

Однако стоит помнить, что Ваш IPv6-адрес будет меняться при каждой смене вашего IPv4-адреса. Если вы хотели бы получить статический IPv6 (это возможно, и более того – бесплатно), воспользуйтесь одним из туннельных брокеров.

Однако если, это Вас не смущает смена вашего ip, то ipv6 настраивается в Linux (deb-distro) всего лишь одной командой:

apt-get install miredo

Вуа ля! Теперь и вы можете пользоваться любыми из доступных по IPv6 сервисов (среди более близких отечественному пользователю сервисов скорее стоит напомнить об ipv6 версиях популярных торрент-трекеров), и вообще, наслаждаться принадлежностью вашего компьютера к Интернету будущего.

Необходимый софт

  • Актуальные видеоплееры

Таковыми на данный момент я считаю VLC и ROSA-Media-Player, каждый является многофункциональным комбайном с кучей возможностей, о который вы можете почитать на сайтах этих проектов.

Итак, VLC:

sudo add-apt-repository --yes  ppa:videolan/master-daily
sudo apt-get update
sudo apt-get install vlc browser-plugin-vlc

И/или Rosa-Media-Player:

sudo add-apt-repository --yes  ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install rosa-media-player

Если вам интересно самим скомпилировать ROSA-Media-Player, или достаточно скачать просто скачать deb-пакеты, то Вам сюда http://admin-to-admin.info/blog/rosa-media-player-v-ubuntu-sobiraem-iz-ishodnikov/

Хотя в репозитории nilarimogard  находятся более новые версии кодеков, что несомненный плюс.

Примечание: ROSA-Media-Player обладает функцией записи с экрана (звук с микрофона или линейного выхода, что и является его киллер-фичей, на мой взгляд). После того как вы нажмете “запись с экрана – начать” в трее появится красный кружок, говорящий о том что ведется запись, чтобы остановить запись нужно будет кликнуть в этот кружок.  Программе может понадобится какое-то время для кодирования записи, поэтому будьте терпеливы и дождитесь диалогового окна для сохранения файла с записью. Запись будет сохранена в формате webm

Примечание 2: Не забываем поставить дополнительные кодеки:

sudo apt-get install ubuntu-restricted-extras
  • Медиацентр

Здесь, все просто, предпочтение я отдаю XBMC. Ставится он легко:

sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get install xbmc

Могу лишь поделиться недавним открытием для меня, как XBMC может прикреплять обложки к коллекции ваших фильмов….

  • Локальный RSS-агрегатор

Когда относительно недавно компания Google закрыла свой замечательный Google Reader многие задумались о своей независимости в облачных сервисов и обратили внимание на замечательный RSS-агрегатор новостей Tiny Tiny RSS. С его установкой мы и познакомимся в следующем абзаце. Вообще на сайте есть прекрасное руководство пользователя позволяющее с нуля поставить и настроить эту программу, однако, мы немного сократим дорогу и воспользуемся подготовленными пакетами:

  1. Инасталлируем сопутствующее ПО:
sudo apt-get install mysql-server mysql-client apache2 libapache2-mod-php5
  1. Устанавливаем сам RSS-агрегатор:
sudo add-apt-repository -- yes ppa:webupd8team/tt-rss
sudo apt-get update
sudo apt-get install tt-rss
  1. В мастере установки выберите тип базы данных — MySQL; тип веб-сервера — Apache2; полный путь к сайту http://localhost/tt-rss/

Если вы выбрали что-то неправильно, вы можете внести изменения с помощью команды sudo dpkg-reconfigure tt-rss

  1. Следующие команды вроде как необязательные, но мне они понадобились, корректируем ссылки:
sudo ln -s ../conf-available/50-tt-rss.conf /etc/apache2/conf.d/
  1. и перезапускаем веб-сервер:
    sudo service apache2 restart
  2. sudo mcedit /etc/tt-rss/config.php

    , заменяем значение переменной SELF_URL_PATH с  http://example.org/tt-rss/ на http://localhost/tt-rss/

  3. sudo mcedit /etc/default/tt-rss

    , меняем у параметра DISABLED триггер с “1” на “0”, это необходимо для получения наших подписок.

  4. И наконец, запускаем
    sudo service tt-rss start

Теперь наш личный веб RSS-агрегатор новостей доступен по ссылке http://localhost/tt-rss/

Для входа используйте:

  • username: admin
  • password: password
  • Установка Steam

Самый простой момент в нашем повествовании:

wget http://media.steampowered.com/client/installer/steam.deb
sudo dpkg –i steam.deb

Вопросы безопасности

  • Обмен файлами посредством BTSync

BTSync (BitTorrent Sync) — программа синхронизаций файлов (локально/интернет) между несколькими компьютерами. Не является облачным хранилищем, потому, объемом ограничен только вашими локальными носителями. Надо заметить, что синхронизируемые данные шифруются закрытым ключем. Базовая установка BTSync в Ununtu очень проста:

sudo add-apt-repository ppa:tuxpoldo/btsync
sudo apt-get update
sudo apt-get install btsync

Ура. Установка закончена. Управляем BTSync-ом через браузер по адресу: http://localhost:8888

Домашнее задание, скачайте у меня файлы телефонных звонков, мой ключ …

  • Шифрование TrueCrypt

TrueCrypt — компьютерная программа для шифрования «на лету» (On-the-fly encryption) для 32- и 64-разрядных операционных систем семейств Microsoft Windows NT 5 и новее (GUI-интерфейс), Linux и Mac OS X. Она позволяет создавать виртуальный зашифрованный логический диск, хранящийся в виде файла. С помощью TrueCrypt также можно полностью шифровать раздел жёсткого диска или иного носителя информации, такой как флоппи-диск или USB флеш-память. Все сохранённые данные в томе TrueCrypt полностью шифруются, включая имена файлов и каталогов. Смонтированный том TrueCrypt подобен обычному логическому диску, поэтому с ним можно работать с помощью обычных утилит проверки и дефрагментации файловой системы.

Программа замечательная и в свете новых реалий нашей жизни под бдительным оком Большого брата как никогда актуальная. Самый простой пример: кино… кино не из магазина (от друзей J), на такой случай с помощью данной программы можно сделать зашифрованный раздел, или допустим в папке Video файлик типа data.bin, который будет зашифрованным контейнером в котором будут храниться наши фильмы. Удобно? Безусловно.

Можно воспользоваться опять-таки репозиториями, но в данном случае я рекомендую скачать программу просто с сайта http://www.truecrypt.org/downloads и запустить скрипт для инсталляции из архива. Интерфейс программы интуитивен и вызовет затруднений, как мне кажется. Единственное, что в отличие от Windows-версии у него нет русского языка.

  • Настройка i2p

I2P (сокр. от англ.  «Invisible Internet Project», рус. «Проект Невидимый Интернет») — открытое программное обеспечение, созданное для организации сверхустойчивой анонимной, оверлейной, зашифрованной сети и применимое для веб-сёрфинга, анонимного хостинга (создания анонимных сайтов, форумов и чатов, файлообменных серверов и т. д.), систем обмена мгновенными сообщениями, ведения блогов, а также для файлообмена (в том числе P2P — Torrent, eDonkey, Kad, Gnutella и т. д.), электронной почты, VoIP и многого другого. Адреса сайтов в сети I2P находятся в псевдо-доменном пространстве .i2p.

Опять-таки, из-за ужесточения цензуры в рунете многие не совсем светлые сайты, вроде известных онлайн библиотек уходят в данную зашифрованную сеть, поэтому иметь в нее доступ, на мой взгляд, актуально:

Как пользоваться?

Прежде всего, следует выполнить установку пакета i2p:

sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-get update
sudo apt-get install i2p

Затем необходимо произвести запуск программного роутера для подключения к сети I2P. Если планируется редкое использование данной сети, то запуск можно произвести командой в консоли (от имени Вашего пользователя, без sudo):

i2prouter start

если же доступ к сети I2P требуется постоянно, то, возможно, следует запускать I2P-роутер как демон. Для этого необходимо выполнить в консоли команду перенастройки пакета i2p:

sudo dpkg-reconfigure -plow i2p

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

Если I2P-роутер был запущен от имени пользователя, то через некоторое время в браузере по умолчанию откроется локальный адрес http://127.0.0.1:7657/home — «Консоль маршрутизатора I2P».

Теперь объясним системе (и браузеру в том числе), что на адреса вида example.i2p нужно ходить через прокси localhost:4444. Создаём новый proxy.pac текстовым редактором, вставляем туда:
function FindProxyForURL(url, host) {
if (dnsDomainIs(host, «.i2p»)) {
return «PROXY 127.0.0.1:4444»;
} else {
return «DIRECT»;
}
}
Сохраняем. Открываем «Параметры системы» → «Сеть» → «Прокси-сервер», в «URL автоматической настройки» указываем только что созданный файл. Всё. Но стоит помнить, что из-за особенностей архитектуры сети I2P не сразу начинает работать, нужно подождать, пока Ваш компьютер более-менее интегрируется в сеть (несколько минут или более).

Сайты в I2P имеют псевдо-TLD «i2p», например, http://echelon.i2p. Сайтов пока немного, сеть используется в основном для файлообмена.

Если ваш браузер довольно часто не находит сайты, то необходимо увеличить список подписок. Для этого нужно зайти на главную страницу вашего роутера(консоль), затем в «Сервисы I2P» → «Адресная книга». Потом перейдите в раздел «Подписки» и добавляем туда все известные подписки:

http://www.i2p2.i2p/hosts.txt
http://inr.i2p/export/alive-hosts.txt
http://dream.i2p/hosts.txt
http://bl.i2p/hosts2.txt
http://www.i2p2.i2p/hosts.txt
http://trevorreznik.i2p/hosts.txt
http://cipherspace.i2p/addressbook.txt
http://stats.i2p/cgi-bin/newhosts.txt
http://rus.i2p/hosts.txt
http://tino.i2p/hosts.txt
http://i2host.i2p/cgi-bin/i2hostetag

Информация о подписках взята с http://serverzona.ru/index.php/menu-i2p.html там же есть список полезных сайтов

  • Двухфакторная аутенификация на вход

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

Установим Google Authenticator PAM-module:

sudo apt-get install libpam-google-authenticator

После этого запустим в командной строке:

google-authenticator

Далее следуйте инструкциям на экране и вы получите ваши коды. На телефоне должна быть установлена программа Google Authenticator (доступна для iOS и Android)

Для активации входа в систему с использованием Google Authenticator загляните в директорию /etc/pam.d/

Если вас интересует вход через openssh, то вам необходим файл sshd, если же в графический интерфейс, то lightm. В данные файлы в конце нужно добавить строку auth required pam_google_authenticator.so nullok:

# echo «auth required pam_google_authenticator.so nullok» | sudo tee -a /etc/pam.d/lightdm

Примечание: мне удалось добиться работы с lightdm только в Ubuntu, в Kubuntu и Elementary OS аутенификация проходит через пароль и уже не трубет гуглового кода. Подозреваю что это как-то свзяано либо с языком системы, либо с lightdm-greeter.

Примечание 2: Если ваша домашня папка шифруется с помощью encryptfs, то есть вы поставили галочку при установке на пункт “Шифровать домашнюю папку”, то вам необходимо обеспечить чтение конфигурации Google Authenticator PAM-модулем:

auth required pam_google_authenticator.so secret=/home/.ga/${USER}/.google_authenticator

# sudo install -g $(id -rgn) -o $USER -m 700 -d /home/.ga/$USER

# google-authenticator

# mv $HOME/.google_authenticator /home/.ga/$USER

  • Настройка файерволла ufw

В глазах пользователя, потребителя возможностей операционной системы unix группа надежна, как Форт Нокс. Чтобы ее представители из категории официальных релизов дали сбой, демонстрируя страптивый характер, как минимум должны возникнуть существенные проблемы с железом. Одним словом, виртуозно уложить любой linux дестребутив на лопатки, не имея так скажем весьма специфических навыков, практически невозможно. Все они (и mint это тоже касается) не нуждаются в антивирусной защите. Вместе с тем, каждый достаточно опытный разработчик чего угодно вовсе не покривит душой утверждая, что стопроцентная безопасность, — такой же миф, как вечный двигатель, поэтому контроль трафика всех направлений никак не будет лишним.
Достаточно просто (в соответствии с предпочтениями обычного пользователя) эту задачу способен решить UFW. Вне всякого сомнения, он имеет более простой синтаксис команд на фоне признанного гигантом-гарантом защиты IPTables (который к тому же не может запускать уже созданные правила без специального скрипта) что смущает новичков. Им ближе Uncomplicated FireWall, к которому прилагается графический интерфейс gUFW (gnome), либо kcm-ufw (KDE):

sudo apt-get install gufw

kcm-ufw amd64 (749.7 KB) ,
kcm-ufw i386 (748.8 KB)

Работа в командной строке:

sudo ufw enable

— включить

sudo ufw disable

-выключить

sudo ufw logging on

— включить логирование

sudo ufw logging off

— отключить логирование

sudo ufw status verbose

— проверить статус

По умолчанию достаточно дать команды:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Что закроет все входящие соединения кроме необходимых служебных и будет открывать исходящие те которые вы инициализируете запуском необходимого приложения.

Пример настроек моего файерфолла вы можете увидеть ниже:

Удаление всех старых ядер

В процессе обновления Ubuntu в системе накапливается большое количество старых редакций ядер, которые не используются в текущее время. В случае, если Вы установили Ubuntu полностью в директорию «/», особой проблемы это не вызывает. Однако, если в процессе установки системы Вы создали отдельную директорию «/boot» с объемом 100-200Мb как мы рассматривали это в одном из вариантов разбивки диска, то в какой-то момент при очередном автоматическом обновлении системы Вы получите сообщение об отсутствии свободного места, и обновление будет прервано.

В этом случае необходимо удалить устаревшие ядра со всеми сопутствующими дополнениями. Полностью автоматический способ очистки системы:

sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1) --assume-yes

После выполнения команды остаются только текущая и предыдущая версии ядра системы. Остальные вычищаются.
Советую сохранить данную команду в файл и сделать его исполняемым как программу (в свойствах файла). В этом случае операцию можно будет проводить простым запуском данного файла.
Обновлено Начиная с Ubuntu 16.04 в репозиторий добавлен пакет byobu, в котором имеется скрипт purge-old-kernels, предназначенный для очистки старых ядер http://www.opennet.ru/tips/2980_ubuntu_apt_clean_kernel_packet.shtml
Также вы можете ознакомиться со способом опубликованным на Хабре: http://habrahabr.ru/post/116336/

  • Алексей Фуфаев

    Иногда старые ядра могут быть полезны, если на новом Linux Kernel 3.13 например не поддерживаются пока что никакие проприетарные видеодрайверы. А разделение на несколько разделов по моему сейчас уже неактуально. например можно целиком SSD в 64гб отдать системе и будет только проще быстрее процесс установки и работы потом.

    • Tom Emv

      Согласен на счет ядер, но я писал статью, когда о 3.13 еше не было известно ) Сейчас же например не стоит баловаться и с добавлением репозитория xorg-edgers/ppa, который ставит xorg-server крушащийся в связке с nvidia-драйверами. Со временем все меняется, не всегда в лучшую сторону.