id: Гость   вход   регистрация
текущее время 16:36 28/03/2024
Владелец: Konstantine редакция от 25/04/2013 00:15 (автор: Konstantine) Печать
Категории: операционные системы
создать
просмотр
редакции
ссылки

Заметки на полях


Оглавление документа:


Скачать дистрибутив CentOS текущей основной версии (сейчас это 6.4 c поддержкой до 2020 года).

Подготовка SSD


Из-за особенностей этого дистрибутива нужно предварительно забить SSD псевдорандомом с любого Live-CD(USB) или со второго жесткого диска с установленной системой:
dd if=/dev/urandom bs=8M of=/dev/sda
Размер блока в dd для оптимального быстродействия можно установить равным размеру аппаратного кэша диска SSD.


Если позволяет Live-USB или используется второй жесткий диск с системой, то для визуализации процесса забивки удобно применять прогресс-бар, реализуемый с помощью утилиты pv из репозитория RPMforge. Для этого нужно:


1. Подключить репозиторий RPMforge установкой текущего актуального пакета
rpmforge-release-X.X.X-X.el6.rf.x86_64.rpm.


2. Установить утилиту pv:
su -
yum install pv


3. После установки утилиты нужно отключить репозиторий RPMforge и не держать его подключенным если не установлен один из yum-плагинов: priorities или protectbase во избежание перезаписи базовых пакетов системы из основных репозиториев обновлениями из сторонних репозиториев.


4. Забить диск псевдорандомом с визуализацией процесса:
dd if=/dev/urandom bs=8M | pv -s64G | cat – > /dev/sda
Параметр -s нужно установить равным емкости диска.

Особенности установки дистрибутива


Из-за различий в реализации графического и текстового инстоллеров anaconda вендор рекомендует проводить установку в графическом режиме (в текстовом режиме не будут доступны: нестандартные схемы хранения данных (LVM, RAID); изменение стандартной схемы разделов; изменение конфигурации загрузчика; выбор пакетов в процессе установки; настройка установленной системы с помощью Firstboot).


1. Из-за наличия дискретной видеокарты и во избежание установки неполноценного драйвера nouveau нужно запускать установку со второй строки меню
Install system with basic video driver.


2. Обязательно запустить тест целостности установочного носителя.


3. Нарезать следующие разделы:
/sda1 под /boot (ext2) (его требуется выделить на отдельный раздел при использовании полного дискового шифрования).
/sda2 под / (ext4) (корневой системный раздел).
/sda3 под /home (ext4) (для последующей безболезненной переустановки системы в будущем если это потребуется).
swap не нужен.
При нарезке /sda2 и /sda3 нужно установить чекбокс "Зашифровать".
Ввести стойкий пароль по Diceware.


4. Исключить все ненужные пакеты на стадии установки (anaconda позволяет).
Выбор наборов программ
Выбрать Desktop
Отметить чекбокс Настроить сейчас набор пакетов


Набор Базовая система
Поднабор Java – отключить
Поднабор Клиент каталогов – отключить
Поднабор Клиент печати – отключить
Поднабор Клиент сетевой файловой системы – отключить
Поднабор Средства отладки – отключить
Поднабор Основные
Дополнительные пакеты:
Все пакеты с именем abrt- – отключить
b43-fwcutter – отключить если нет WiFi Broadcom
dmraid – отключить
dos2unix – включить
fprintd-pam – отключить
kexec-tools – отключить
lvm2 – отключить
mdadm – отключить
mtools – включить
openssh – отключить
pcmciautils – отключить
rdate – отключить
unix2dos – включить
virt-what – отключить
wireless-tools – отключить
все пакеты yum-plugin- – включить


Набор Приложения
Поднабор Офисный комплект
Дополнительные пакеты:
отключить все, кроме libreoffice-writer
Поднабор Приложения Интернета – отключить


Набор Рабочие столы
Поднабор Графические средства администрирования
Дополнительные пакеты:
audit-viewer – включить
policycoreutils-gui – включить
setroubleshoot – включить
system-config-kdump – отключить
wireshark-gnome – включить
Поднабор Клиенты удаленного рабочего стола – отключить
Поднабор Методы ввода – отключить
Поднабор Рабочий стол
Дополнительные пакеты:
gdm-plugin-fingerprint – отключить
openssh-askpass – отключить
orca – отключить
vino – отключить
Поднабор Совместимость с устаревшей системой X Window – отключить
Поднабор Средства отладки и поддержки производительности рабочего стола – отключить
Поднабор Стандартный рабочий стол
Дополнительные пакеты:
alacarte – включить
gconf-editor – включить
gedit-plugins – включить
gnome-bluetooth – отключить
seahorse-plugins – включить
vim-x11 – включить


Набор Серверы
Поднабор Платформа сервера – отключить


Набор Языки
Включить поднаборы поддерки языков: корейского, лаосского, тайского, японского.


5. Отключить Kdump.


6. Сразу после завершения установки запустить полное обновление системы:
su -
yum update

Разрешение команды sudo


Для разрешения команды sudo нужно в файл /etc/sudoers в секцию
## Allow root to run any commands anywhere
root ALL=(ALL) ALL


добавить следующую строку для пользовательской учетной записи
<USRNAME> ALL=(ALL) ALL

Добавление, удаление, изменение пароля зашифрованного раздела


1. Проверить используемые слоты с паролями (это будет слот 0):
su -
cryptsetup luksDump /dev/sda2


Выдача команды:
Key Slot 0: ENABLED
Key Slot 1: DISABLED
...
Key Slot 7: DISABLED


2. Установить второй пароль во второй слот (это будет слот 1):
# cryptsetup luksAddKey /dev/sda2
Enter any passphrase:
Enter new passphrase for key slot:
Verify passphrase:


3. Проверить слоты с паролями:
# cryptsetup luksDump /dev/sda2


Выдача команды:
Key Slot 0: ENABLED
Key Slot 1: ENABLED
...
Key Slot 7: DISABLED


4. Удалить первый пароль из первого слота (это слот 0)
# cryptsetup luksKillSlot /dev/sda2 0
Enter any remaining LUKS passphrase:


5. Проверить слоты с паролями:
# cryptsetup luksDump /dev/sda2


Выдача команды:
Key Slot 0: DISABLED
Key Slot 1: ENABLED
...
Key Slot 7: DISABLED

Установка драйверов


Установка видеодрайвера
Скачать с сайта вендора NVIDIA-Linux-x86_64-XXX.XX.run последнюю стабильную версию драйвера и скопировать его в каталог /tmp.


1. Установить необходимые дополнительные пакеты:
su -
yum install gcc kernel-devel


2. Остановить X-сервер и перейти на многопользовательский консольный уровень выполнения (runlevel) с поддержкой сети:
# telinit 3


3. Войти от рута на виртуальную консоль:
login: root
Password:


4. Перейти в каталог с установщиком драйвера и запустить его установку:
# cd /tmp
# sh NVIDIA-Linux-x86_64-XXX.XX.run


5. Разрешить установку 32-bit совместимых библиотек OpenGL.


6. Разрешить запуск утилиты самоконфигурирования nvidia-xconfig.


7. Запустить Х-сервер:
# exit
login: user
Password:
$ startx


8. Удалить установщик драйвера из каталога /tmp.


Установка драйвера NTFS-3G (монтирование NTFS с возможностью записи).


1. Подключить репозиторий RPMforge установкой текущего актуального пакета
rpmforge-release-X.X.X-X.el6.rf.x86_64.rpm.


2. Установить драйвер:
su -
yum install fuse-ntfs-3g


3. После установки драйвера нужно отключить репозиторий RPMforge и не держать его подключенным если не установлен один из yum-плагинов: priorities или protectbase во избежание перезаписи базовых пакетов системы из основных репозиториев обновлениями из сторонних репозиториев.

Установка TrueCrypt


Скачать последнюю стабильную версию программы truecrypt-7.1a-linux-x64.tar.gz и скопировать ее в каталог /tmp.


1. Перейти в каталог с установщиком программы и запустить установку:
su -
cd /tmp
sh truecrypt-7.1a-setup-x64


2. Удалить установщик программы из каталога /tmp.


3. После установки TrueCrypt в файле /etc/sudoers задизаблить шарпом # следующую строку:
#Defaults requiretty

Настройка /etc/fstab для SSD


Добавить в файл /etc/fstab после параметра defaults следующие параметры noatime,nodiratime,discard (discard включает TRIM):
/dev/mapper/luks-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults,noatime,nodiratime,discard 1 1
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /boot ext2 defaults,noatime,nodiratime,discard 1 2
/dev/mapper/luks-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home ext4 defaults,noatime,nodiratime,discard 1 2

Отключение лишних служб


Просмотреть параметры запуска служб.
Через консоль:
$ chkconfig --list
Через GUI:
$ system-config-services
# ntsysv


Посмотреть, запущена ли конкретная служба:
$ service <service-name> status


Остановить, запустить, перезапустить службу:
# /sbin/service <service-name> stop
# /sbin/service <service-name> start
# /sbin/service <service-name> restart


Отключить запуск службы после перезагрузки:
$ chkconfig <service-name> off


На дефолтном уровне исполнения (файл /etc/inittab строка id:5:initdefault:) по умолчанию включены следующие службы (каталог /etc/rc5.d):

Службы, необходимые для нормальной работы


acpid
Демон усовершенствованного интерфейса конфигурации и управления питанием. Крайне рекомендуется оставлять его включенным, только когда это действительно нужно. Если вы запускаете современные графические среды (Gnome, KDE) то многие функции использующие ACPI будут доступны с демоном acpid. Попробуйте выключить его, если испытываете проблемы с управлением питанием (спящий режим, уход в спящий режим, пробуждение после него), либо перезапустите его. При работе в runlevel 3 некоторые функции использующие ACPI могут быть недоступны.


blk-availability
Availability of blok devices.


haldaemon
Hardware Abstraction Layer. Критичный сервис для сбора информации об оборудовании из разных источников. Рекомендуется оставить его включенным.


iptables
Стандартный простой брандмауэр Linux, основанный на списках; имеет смысл только при должной настройке. Очень рекомендован при непосредственном соединении с сетью Интернет (по кабелю, DSL, T1). Не рекомендован при использовании аппаратного фаервола (D-Link, Netgear, Linksys, и прочих).


irqbalance
Занимается распределением прерываний между процессорами в многопроцессорных системах. Пользователи не имеющие многопроцессорных компьютеров/ноутбуков, могут выключить данный сервис. На новых компьютерах с более чем одним процессором (Intel Core 2 Duo, AMD X2) этот сервис должен быть включен. Включение этого сервиса на одно процессорном компьютере не даст никакого эффекта.


messagebus
Сервис межпроцессного взаимодействия для Linux. Критичный компонент поскольку связан с D-BUS. Крайне рекомендуется оставить его включенным.


NetworkManager
Сервис для управления устройствами сети и сетевыми соединениями. Он пришел на замену старому сервису network. Рекомендуется оставить его по умолчанию включенным, а network выключенным. Если вы испытываете какие-либо проблемы, либо предпочитаете предыдущий сервис network, то выключите NetworkManager и включите сервис network. Убедитесь, что ваши настройки сети были сделаны через system-config-network для сервиса network, и/или через nm-connection-editor для сервиса NetworkManager. При использовании новых беспроводных технологий как GPRS, Bluetooth и WiFi, NetworkManager является наиболее рекомендуемым средством.


spice-vdagentd
Together with a per X-session agent process the spice agent daemon enhances the spice guest user experience with client mouse mode, guest <-> client copy and paste support and more.


udev-post
Системный менеджер устройств, использующийся udev. По умолчанию udev поддерживает множество правил, прав и поведений для устройств. Этот сервис позволяет безопасно управлять правилами простому пользователю. Очень рекомендуется оставить его включенным. Необходим для работы с подключаемыми устройства типа флэшек.


cpuspeed
Изменяет частоту ЦПУ с целью экономии энергии. Многие современные ноутбуки и настольные ПК поддерживают эту технологию. Его могут использовать пользователи с процессорами Pentium-M, Centrino, AMD PowerNow, Transmetta, Intel SpeedStep, Athlon-64, Athlon-X2, Intel Core 2. Пользователям ноутбуков рекомендуется оставить сервис включенным. Выключите его, если вы хотите, чтобы ваш CPU использовал фиксированную величину частот.

Не нужные службы


abrtd
Инструмент для автоматического сбора информации о "падающих" приложениях. Также имеется возможность отправки сообщений в Bugzilla, на почтовый ящик и т.д.


abrt-ccpp
Автоматизированый регистратор ошибок (ABRT). Проверяет и собирает информацию про ошибки в программах на языках С и С++.


atd
Планировщик задач, требуется для выполнения разовых задач. Например, выполнить su -c "yum -y update" в два часа ночи.


bluetooth
Нужен для беспроводных переносных устройств (НЕ wifi,802.11). Небольшое количество ноутбуков поставляется с поддержкой bluetooth. Например bluetooth мыши, наушники и сотовые телефоны. В противном случае – отключить.


crond
Планировщик задач для сервера с аптаймом 24х7. Не запускает просроченную задачу. Для выполнения задач, которые не были выполнены cron, требуется anacron. Для выключения anacron надо удалить его вручную: su -c "yum remove anacron".


cups
Используется для печати. Если нет CUPS совместимого принтера, который подсоединён непосредственно к ПК или используется по сети, то должен быть выключен.


ip6tables
Сервис iptables работающий по IPv6 протоколу. Если выключена поддержка IPv6, то этот сервис должен быть отключен.


lvm2-monitor
Демон для мониторинга LVM (Logical Volume Management). Нужен, если используется LVM.


mdmonitor
Используется для мониторинга программного RAID или LVM. Не критичен и может быть выключен.


netfs
Используется для автоматического монтирования во время загрузки файловых систем доступных по сети (NFS, Samba и прочих).


network
Служба включения и отключения сетевых интерфейсов; в некоторых случаях может заменить NetworkManager, но последняя более универсальна, потому предпочтительнее использовать ее.


portreserve
Утилита предотвращающая доступ различных RPC служб к реальным портам и отдающая приоритет зарезервированным приложениям.


postfix
Отвечает за запуск SMTP-сервера Postfix.


rsyslog
Служба ведения разнообразных логов.


sshd
Разрешает другим пользователям входить в систему по сети с другого компьютера и запускать приложения на вашем компьютере. Это может стать потенциальной угрозой для безопасности.


sysstat
Мониторинг активности системы и системных параметров, статистика потребления ресурсов системы.

Способы отключения не нужных служб


Через GUI
# system-config-services
# ntsysv


Через символические ссылки, находящиеся в каталоге /etc/rc5.d:


1. Заменить от рута для каждой отключаемой службы в имени соответствующей ссылки литеру S (от start) на литеру K (от kill), например:
S01sysstat > K01sysstat
S02lvm2-monitor > K02lvm2-monitor
S08ip6tables > K08ip6tables
S10network > K10network
S11portreserve > K11portreserve


2. Перезагрузить систему.


Чтобы проверить, какие службы слушают сеть:
$ netstat -pan --inet


Чтобы посмотреть список распространенных портов, используемых службами:
$ cat /etc/services

Удаление лишних системных пользователей


Эти системные пользователи как правило предназначены для запуска от их имени соответствующих служб и не нужны в системе после удаления этих служб.


1. Удалить пользователя вместе с одноименной группой, включающей только его одного:
# userdel <USERNAME>
# groupdel <GROUPNAME>


abrt
apache
avahi-autoipd
ftp
games
gopher
ntp
postfix
saslauth
sshd
uucp


2. Удалить пользователя без удаления группы, включающей не только его одного:
# userdel <USERNAME>


lp


Примечание. При удалении некоторых системных пользователей не будут удалены их домашние каталоги:


/etc/abrt
/etc/ntp
/usr/games
/var/empty/sshd
/var/spool/lpd
/var/spool/postfix
/var/www

Отключение поддержки IPv6


1. Добавить в файл /etc/sysctl.conf следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1


Примечание. Разработчики рекомендуют не отключать IPv6-модуль ядра, наличие которого можно проверить командой:
lsmod | grep ipv6
а применять указанный метод, чтобы избежать получения ошибки от SELinux и других компонентов.


2. Перезагрузить систему.


3. Проверить отсутствие поддержки IPv6 любым из нижеуказанных способов:
$ ifconfig | grep inet6
$ ip a | grep inet6
Если эти команды ничего не возвращают, значит поддержка IPv6 выключена на всех интерфейсах.


Примечание. Чтобы выключить IPv6 на работающей системе без ее перезагрузки нужно дать следующие команды:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
Или такие команды:
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

Затруднение идентификации используемой ОС


Нужно внести в файл /etc/sysctl.conf следующие строки.


1. Для игнорирования бродкастовых ICMP пакетов:
net.ipv4.icmp_echo_ignore_broadcasts = 1


2. Для блокировки TCP SYN атак:
net.ipv4.tcp_syncookies = 1


3. Для блокировки ICMP редиректов:
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0


4. Для отключения uptime:
net.ipv4.tcp_timestamps = 0


5. Для изменения TTL (Time to live) с 64 на 128:
net.ipv4.ip_default_ttl = 128


6. Для изменения скорости генерации ICMP:
net.ipv4.icmp_ratelimit = 70


Чтобы применить сделанные изменения нужно перезагрузить компьютер или дать команду:
# sysctl -p

Отключение автоматически запускаемых программ


Через GUI:
Система – Параметры – Запускаемые приложения


1. Нужно снять чекбоксы как минимум со следующих строк:
Менеджер Bluetooth
GNOME Login Sound
Апплет уведомлений ABRT
Визуальная поддержка
Общий доступ к личным файлам
Удалённый рабочий стол
Хранитель экрана


Закрыть окно программы.


2. Чтобы проверить запущен ли, например, менеджер Bluetooth, нужно дать команду:
# netstat -lpn | grep bluetooth
unix 2 [ ACC ] STREAM LISTENING 18066 2745/bluetooth-appl /tmp/orbit-XXXXX/linc-XXX-X-XXXXXXXXXXXXX


3. Перезагрузить систему.


4. Чтобы проверить отключен ли автозапуск нужно дать команду:
# netstat -lpn | grep bluetooth
Вывод команды должен быть пустой.


5. Чтобы посмотреть полный список того, что само стартует при старте системы, нужно дать команду:
# netstat -lpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 13856 2339/Xorg /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 16033 2581/seahorse-agent /tmp/seahorse-3Wsobz/S.gpg-agent

Настройка автоопределения кодировок в текстовом редакторе Gedit


Для комфортной работы с текстовыми файлами, созданными как в юникоде UTF-8, так и в виндовой кодировке cp-1251, нужно:


1. Запустить gconf-editor командой:
$ gconf-editor


Если gconf-editor не установлен, то установить его командой:
su -
yum install gconf-editor


2. Открыть ветку реестра apps/gedit-2/preferences/encodings.


3. Кликнуть правой клавишей мыши по ключу auto_detected.


4. Выбрать параметр "Изменить ключ".


5. Кнопкой Вверх поднять кодировку WINDOWS-1251 на второе место после кодироки UTF-8.

Эскизы файлов (миниатюры)


Эскизы файлов генерируются вне зависимости от точки монтирования, что приводит к сохранению эскизов с примонтированных зашифрованных файловых систем и сменных носителей. По эскизу можно получить представление о содержимом файла оригинала. При определенных настройках вместо эскизов в кэш попадают полные копии оригиналов. Чем больше в кэше эскизов, тем медленнее происходит их чтение. Чем больше в каталоге файлов с эскизами, тем медленнее этот каталог открывается и просматривается в наутилусе.


1. Чтобы запретить создание эскизов наутилусом нужно запустить:
$ gconf-editor
И задать значение 0 для следующего ключа:
/apps/nautilus/preferences/thumbnail_limit
Описание ключа. Максимальный размер изображения для построения эскизов.
Для изображений, чей размер превышает заданный здесь (в байтах), эскизы создаваться не будут. Цель этого параметра – избежать построения эскизов для больших изображений, для которых может потребоваться много времени на загрузку или много памяти.
Побочный эффект. При просмотре каталогов в наутилусе все файлы одного типа выглядят одинаково не давая представления о содержимом без открытия файла.


2. Чтобы запретить создание эскизов программами генерирования эскизов нужно поднять чекбокс для активации задизабливающего ключа:
/desktop/gnome/thumbnailers/disable_all
Описание ключа. Отключить все внешние миниатюризаторы. Установить этот ключ, чтобы отключить все внешние программы миниатюризации, независимо от того, включены они или отключены другими способами.


Альтернатива. Можно отключить создание эскизов только для определенных типов файлов задизабливанием ключа для этого типа. Например, снять чекбокс с ключа:
/desktop/gnome/thumbnailers/video@x-avi/enable


Варианты. Можно изменить параметры кэширования вместо отключения эскизов.
Примечание. Структура кэша. Каталог для каждого юзера /.thumbnails содержит три подкаталога с эскизами: fail, large и normal. Основной каталог – normal. Формат эскиза – PNG, имя эскиза – md5-хэш от URI исходного файла.


3. Задать срок жизни кэша можно с помощью следующего ключа:
/desktop/gnome/thumbnail_cache/maximum_age
Описание ключа. Максимальная давность миниатюр в кэше в днях. Установить в -1 для выключения очистки кэша.


4. Задать размер кэша можно с помощью следующего ключа:
/desktop/gnome/thumbnail_cache/maximum_size
Описание ключа. Максимальный размер кэша в мегабайтах. Установить в -1 для выключения очистки кэша.


5. Чтобы очищать эскизы при выходе из системы нужно создать файл /sbin/halt.local и добавить в него следующую командную строку:
# echo 'rm -rf /home/USERNAME/.thumbnails/*' >> /sbin/halt.local
Нужно задать права на исполнение созданного файла.


6. Чтобы очищать эскизы при запуске системы нужно добавить в файл /etc/rc.local командную строку:
# echo 'rm -rf /home/USERNAME/.thumbnails/*' >> /etc/rc.local