На написание этой статьи меня побудило неудачное обновление Fedora 14 -> Fedora 15. Неудачное потому, что в результате привычный GNOME 2 обновился до GNOME 3, который оказался до безобразия сырым, кривым, глючным и неудобным. Поскольку откатить это безобразие не удалось, пришлось ставить и настраивать систему с нуля. Тут я собрал информацию о тех действиях, которые приходится выполнять каждый раз при установке системы, чтобы не гуглить все это каждый раз.
Система ставилась на два жестких диска - SSD (50 GB) и HDD (2 TB). На SSD было создано три раздела - корневой (40Gb)- для размещения там системных файлов, загрузочный /boot (500 MB) для хранения загрузочных файлов и копий ядра и раздел /media/ssd (~10Gb) для хранения там пользовательских программ. На HDD были созданы разделы для частоменяющихся и временных файлов - /tmp, /var, swap-раздел (все три раздела по 10GB), пользовательский раздел /home (500 GB)и файловое хранилище /media/storage (все оставшееся свободное пространство). Для загрузочного раздела выбрана файловая система ext3, для всех остальных - ext4. В принципе, можно было отказаться от swap-раздела и создать разделы /tmp и /var в оперативной памяти, но я на всякий случай все-таки создал их на диске, благо места там предостаточно.
После разбиения диска выбираются пакеты для установки. Можно либо поставить сначала только предлагаемый набор пакетов, а остальное доставить потом (это существенно ускоряет процесс установки) либо же сразу выбрать и установить все необходимые пакеты (это может занять несколько часов, но все rpm-зависимости будут сразу автоматически разрешены инсталлятором, что предотвратит ряд возможных проблем). Выбираем пакеты, и ждем окончания установки.
Чтобы продлить срок службы SSD накопителя (а заодно и еще немного ускорить работу системы) имеет смысл отключить обновление меток времени последнего доступа к файлам и включить функцию TRIM.
Для выполнения всех дальнейших действий, описанных тут заходим root-ом:
su
Редактируем файл /etc/fstab
vi /etc/fstab
У меня этот файл имеет следующий вид:
UUID=72d1cf85-691e-42e8-a1b8-5b0d56e7216d / ext4 defaults 1 1 UUID=ae79d095-d803-4396-8cbc-69f7a688db23 /boot ext3 defaults 1 2 UUID=2843db3f-eb65-4bcd-a72c-bf0d7a347615 /home ext4 defaults 1 2 UUID=d9445445-afb2-47c7-9e37-e6d34714c946 /media/ssd ext4 defaults 1 2 UUID=29ff6d89-47a6-4684-baeb-72a412324257 /media/storage ext4 defaults 1 2 UUID=d5e3bbf3-8757-4e03-a838-5c73fc110e59 /tmp ext4 defaults 1 2 UUID=e944182d-56ec-472f-8761-a7896d9be01a /var ext4 defaults 1 2 UUID=47b59274-007e-4ffb-8e4b-4d0d02604d5e swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
Для трех SSD-разделов заменяем defaults на discard,noatime,nodiratime.
Т.е., в моем случае должно быть так:
UUID=72d1cf85-691e-42e8-a1b8-5b0d56e7216d / ext4 discard,noatime,nodiratime 1 1 UUID=ae79d095-d803-4396-8cbc-69f7a688db23 /boot ext3 noatime,nodiratime 1 2 UUID=2843db3f-eb65-4bcd-a72c-bf0d7a347615 /home ext4 defaults 1 2 UUID=d9445445-afb2-47c7-9e37-e6d34714c946 /media/ssd ext4 discard,noatime,nodiratime 1 2 UUID=29ff6d89-47a6-4684-baeb-72a412324257 /media/storage ext4 defaults 1 2 UUID=d5e3bbf3-8757-4e03-a838-5c73fc110e59 /tmp ext4 defaults 1 2 UUID=e944182d-56ec-472f-8761-a7896d9be01a /var ext4 defaults 1 2 UUID=47b59274-007e-4ffb-8e4b-4d0d02604d5e swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
Далее, для оптимальной работы все разделы SSD-диска должны быть выровнены так, чтобы они начинались с сектора, номер которого кратен 4096. Невыполнение этого условия приводит к некоторому замедлению работы с диском и его преждеременному износу. Определить номера первых секторов разделов можно с помощью следующей команды: (тут /dev/sdb - мой SSD диск )
fdisk -l -u /dev/sdb
в результате будет отображен список разделов, в моем случае получилось следующее
Disk /dev/sdc: 50.0 GB, 50020540416 bytes 255 heads, 63 sectors/track, 6081 cylinders, total 97696368 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ca777 Device Boot Start End Blocks Id System /dev/sdc1 * 2048 2099199 1048576 83 Linux /dev/sdc2 2099200 60819455 29360128 83 Linux /dev/sdc3 60821504 97685503 18432000 83 Linux
Т.е., в каждой "дорожке" на "диске" содержится 63 "сектора" и чтобы получить номер начального сектора, надо умножить номер дорожки в столбце "Start" на 63, В случае правильного выравнивания результат должен делиться на 4096. Проверяем:
2048*63 / 4096 = 31.5 - не делится
2099200*63 / 4096 = 32287.5 - не делится
60821504*63 / 4096.0 = 935487.0 - делится
В результате видим, что первые два раздела не выровнены и их желательно переместить. Трогать /boot раздел я не стал, чтобы не слетел загрузчик. Благо, запись в этот раздел него происходит довольно редко. Т.е., остаётся выровнить раздел /dev/sdc2. Для выравнивания можно воспользоваться утилитой gparted. Скачивам образ, создаем загрузочный диск или флешку, загружаемся. Уменьшаем размер выравниваемой партиции на 1 Мб и перемещаем так, чтобы перед ним оказалось пустое пространство в 1 мегабайт. При этом включаем режим выравниваения на мегабайты (Align to: MiB). После выполнения операции еще раз проверяем выравнивание.
fdisk -l -u /dev/sdb
Disk /dev/sdb: 50.0 GB, 50020540416 bytes 255 heads, 63 sectors/track, 6081 cylinders, total 97696368 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ca777 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 2099199 1048576 83 Linux /dev/sdb2 2101248 60819455 29359104 83 Linux /dev/sdb3 60821504 97685503 18432000 83 Linux
Теперь 2101248*63/4096 = 32319.0, раздел выровнен.
В репрозиториях Fedorы содержится огромное множество различных пакетов, однако все равно придется добавить несколько репрозиториев для установки проприетарного (и не только) софта.
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
vi /etc/yum.repos.d/fedora-chromium.repoи копируем туда следующие строки:
[fedora-chromium] name=Chromium web browser and deps (trunk checkout) baseurl=http://repos.fedorapeople.org/repos/spot/chromium/fedora-$releasever/$basearch/ enabled=1 gpgcheck=0 [fedora-chromium-source] name=Chromium web browser and deps - Source (trunk checkout) baseurl=http://repos.fedorapeople.org/repos/spot/chromium/fedora-$releasever/SRPMS/ enabled=1 gpgcheck=0
wget -P /etc/yum.repos.d/ http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
Послу установки репрозиториев выполняем
yum check-update
yum install gstreamer-plugins-ugly audacious-plugins-freeworld-mp3
yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl
yum install nspluginwrapper.i686 AdobeReader_enuПосле установки запускать командой
acroread
yum install chromium
yum install virtualbox
yum install lm_sensors*
sensors-detectПосле чего можно подключить соответствующий GNOME апплет на панель и наблюдать за температурой CPU.
Перед установкой драйвера необходимо установить исходники ядра и удостовериться, что версия исходников в точности совпадает с версией ядра (в моем случае они почему-то оказались отличающимися и пришлось вручную откатить ядро к предыдущей ревизии). Затем устанавливаем драйвер:
yum install akmod-nvidia xorg-x11-drv-nvidia-libs
Далее правим файл /etc/X11/xorg.conf
vi /etc/X11/xorg.conf
и в случае 32-битной системы добавляем туда секцию
Section "Files" ModulePath "/usr/lib/xorg/modules/extensions/nvidia" ModulePath "/usr/lib/xorg/modules" EndSection
Section "Files" ModulePath "/usr/lib64/xorg/modules/extensions/nvidia" ModulePath "/usr/lib64/xorg/modules" EndSection
В завершении редактируем файл /boot/grub/grub.conf и убеждаемся, что в параметрах загрузки ядра присутствует строка
rdblacklist=nouveau nouveau.modeset=0
.
Также я добавил туда параметр vga=0x317
(устанавливает графический режим 1280x1024, 16 бит при загрузке)
vi /boot/grub/grub.conf
В результате, в моем файле секция выглядит так:
title Fedora (2.6.35.13-92.fc14.i686.PAE) root (hd0,0) kernel /vmlinuz-2.6.35.13-92.fc14.i686.PAE ro root=UUID=72d1cf85-691e-42e8-a1b8-5b0d56e7216d rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet nouveau.modeset=0 rdblacklist=nouveau vga=0x317 initrd /initramfs-2.6.35.13-92.fc14.i686.PAE.img
По умолчанию в системе установлены не самые красивые шрифты и придется выполнить ряд действий по исправлению ситуации.
Свободные шрифты устанавливаются командой
yum install freetype-freeworld *inconsolata-font* google-droid*fonts* dejavu*fonts* liberation*fonts* bitstream-vera*
Несвободные - командой
yum install larabie-uncommon-fonts larabie-straight-fonts larabie-fonts-common larabie-decorative-fonts
Также можно установить Microsoft-овские шрифты, для их скачивания и создания RPM выполните следующие команды:
yum install rpm-build ttmkfdir cabextract mkdir -p ~/rpmbuild/SOURCES wget http://fenris02.fedorapeople.org/msttcore-fonts-2.0-4.spec wget http://fenris02.fedorapeople.org/09-msttcorefonts.conf -O ~/rpmbuild/SOURCES/09-msttcorefonts.conf rpmbuild -bb msttcore-fonts-2.0-4.spec
Для установки:
rpm -Uvh ~/rpmbuild/RPMS/noarch/msttcore-fonts-2.0-4.noarch.rpm
В завершении установки шрифтов надо выполнить команду
fc-cache
Все, на этом начальная установка заканчивается и можно доставлять и настраивать оставшийся софт.