Вопросы по CentOS-6

1. Раньше для сетевой установки я использовал образ boot.iso. Куда он делся?

Начиная с EL6, поставщик ПО принял решение убрать boot.iso из директории /images и поставлять его, как отдельный независимый носитель. Из-за большого размера этого образа мы решили сделать тоже самое. На текущий момент образ диска сетевой установки называется netinstall.iso и располагается в директории isos/ вместе с остальными установочными образами.

2. Почему для того, чтобы моя сетевая Ethernet-карта заработала, мне необходимо залогиниться и самому её задействовать?

.. и почему, если сравнивать с распостранённой практикой, имена сетевых интерфейсов названы "неверно"? Ведь это нарушает правило Unix "не изменять ожиданиям".

Поставщик ПО добавил NetworkManager к конфигурации по умолчанию, и сетевые интерфейсы (каким-то необъяснимым образом) по умолчанию неактивны. Это можно исправить во время процесса установки на этапе, когда установщик предлагает вам настроить язык/клавиатуру/устройство хранения/ПО в основном окне установщика, сделав вашу сетевую карту активной. Для этого вам необходимо нажать "Network & Hostname" ("Сеть и имя хоста"), выбрать то сетевое Ethernet соединение, которое вы хотите изменить, и нажать кнопку "Off" в верхнем правом углу. Если исходить из того, что вы можете использовать DHCP, то ваше сетевое соединение перейдёт в состояние получение сетевого адреса. Если же вам необходимо вручную задать сетевые настройки, нажмите "Configure", после чего введите и сохраните нужные значения. Для того, чтобы изменения вступили в силу, скорее всего будет необходимо отключить, а потом включить только что настроенный сетевой интерфейс. Нажмите "Done". Помимо вышеуказанного способа, сетевое соединение после установки можно настроить при помощи "NetworkManager" (располагается в "System; Preferences; Network Connections", либо нажмите ПКМ по маленькому значку сети в области уведомлений, после чего - "Edit Connections").

Если же вы не используете NetworkManager, то аналогичный результат можно достигнуть, измененив файл конфигурации соответствующего сетевого интерфейса (как правило это /etc/sysconfig/network-scripts/ifcfg-eth0): "ONBOOT=no" на "ONBOOT=yes". В случае использования DHCP может потребоваться добавить строку "BOOTPROTO=dhcp". Для статического IP потребуется "BOOTPROTO=static".

Если предположить, что имя сетевого устройства - eth0, то изменение строчки ONBOOT может быть осуществленно (от имени root) следующим образом:

# cd /etc/sysconfig/network-scripts/
# sed -i -e 's@^ONBOOT="no@ONBOOT="yes@' ifcfg-eth0 

Касательно "изменённых ожиданий": в предыдущем примере используется "традиционное" именование сетевого интерфейса: eth0. Однако возможны и другие названия, как например em1, p3p1 и пр. Нравится это или нет, но эта концепция именования - дальнейший пусть развития Linux. Это было описано раннее в "тестовом дистрибутиве" вендора ПО. Смотрите так же Dell's writeup и blog post

3. Но мне просто надо, чтобы все работало и чтобы я имел возможность ручного изменения конфигурационных файлов

Большинству вариантам установки не требуется чрезмерная сложность, обусловленная взаимодействия с NetworkManager, достаточно ручного изменения конфигурационых файлов. Ниже приведён фрагмент настройки сетевого интерйеса с использованием DHCP без участия NetworkManager: {{{[root@example ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO=dhcp NM_CONTROLLED="no" PERSISTENT_DHCLIENT=1 ONBOOT="yes" TYPE=Ethernet DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME="eth0" [root@none ~]#}}}

или обычная настройка с использованием 'статики':

[username@hostname]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:21:70:10:7E:CD"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
# BOOTPROTO=dhcp
IPADDR=10.16.1.106
NETMASK=255.255.255.0
#
#   the GATEWAY is sometimes in: /etc/sysconfig/network
GATEWAY=10.16.1.1

после чего можно добавить другие распостранённые свойства, как например hostname или DNS-сервера:

[username@hostname]$ cat /etc/sysconfig/network
HOSTNAME=acme.example.com
DNS1=10.16.1.112
DNS2=8.8.8.8
## DNS2=76.242.0.28
SEARCH=example.com

Эти параметры являются опциональными, т.к. DHCP-сервер сам может оперировать ими. Initscript-ы могут определять такие параметры как Имя компьютера при помощи PTR-записей в правильно настроенной DNS-среде, но некоторым пользователям может потребоваться вручную изменять параметры. Полную документацию по initscript-ам можно найти при помощи:

rpm -qd initsсripts

даже в той среде, где отсутствует man-пакет и его зависимости.

4. Почему CentOS отказывается устанавливатся на мой CPU i686?

Вендор ПО принял решение не поддерживать CPU без поддержки PAE. Если ваш CPU не поддерживает PAE, то во время установки вы увидите следующую ошибку: This kernel requires the following features present on the CPU pae cx8 Однако вы всё ещё можете установить CentOS-5.

5. Как отключить IPv6?

Один из работников Вендора ПО рекомендует оставлять модуль IPv6 включенным, т.к. отключение может повлиять на работу SELinux и других компонентов. Вместо этого предлагается добавить следующие строки в /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

, а чтобы отключить 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

Замечание 1: При отключенном IPv6 могут возникнуть проблемы с пробросом X-ов через ssh. Для решения этого необходимо изменить /etc/ssh/sshd_config следующим образом: либо измениить

#AddressFamily any

на

AddressFamily inet

("inet" соответствует "ipv4 only", "inet6" - ipv6)

,либо удалить значёк "#" перед строчкой

#ListenAddress 0.0.0.0

и перезапустить ssh

Замечание 2: Если при отключенном IPv6 наблюдаются проблемы запуска Postfix, то либо измените /etc/postfix/main.cf - закомментируйте часть с 'localhost' и замените на ipv4 loopback:

#inet_interfaces = localhost
inet_interfaces = 127.0.0.1

либо уберите строку с ipv6 localhost из файла /etc/hosts.

Замечание 3: Для того, чтобы отключить RPCBIND ipv6 (rpc, rpc.mountd, rpc,statd), закомментируйте строки с "udp6" и "tcp6" в файле /etc/netconfig:

udp        tpi_clts      v     inet     udp     -       -
tcp        tpi_cots_ord  v     inet     tcp     -       -
#udp6       tpi_clts      v     inet6    udp     -       -
#tcp6       tpi_cots_ord  v     inet6    tcp     -       -
rawip      tpi_raw       -     inet      -      -       -
local      tpi_cots_ord  -     loopback  -      -       -
unix       tpi_cots_ord  -     loopback  -      -       -

6. Почему при импортировании GPG-ключа для репозитория возникает ошибка?

Во многих инструкциях по настройке репозиториев 3ей стороны присутствует импортирование GPG-ключа при помощи rpm --import .... Если при этом у вас возникла ошибка:

error: http://apt.sw.be/RPM-GPG-KEY.dag.txt: key 1 import failed.

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

rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE} \n %{SUMMARY} \n" gpg-pubkey

7. Почему у меня не выходит установить KVM на 32-х разрядный CentOS?

Т.к. вендор обеспечивает поддержку KVM только на 64х разрядной версии, то CentOS действует аналогичным образом. Для установки KVM необходимо использовать 64х разрядную версию.

8. Какие группы пакетов входят в каждую из опций, перечисленных во время установки?

Если судить по файлу /usr/lib/anaconda/installclasses/rhel.py из images/install.img, то следующие:

Desktop: base, core, debugging, directory-client, java-platform, network-file-system-client, server-platform, fonts, print-client, basic-desktop, desktop-debugging, desktop-platform, general-desktop, graphical-admin-tools, input-methods, legacy-x, x11, internet-applications, internet-browser, office-suite, remote-desktop-clients

Minimal Desktop: base, core, debugging, directory-client, java-platform, network-file-system-client, server-platform, fonts, print-client, basic-desktop, desktop-debugging, desktop-platform, input-methods, legacy-x, x11, internet-browser, remote-desktop-clients

Minimal: core

Basic Server: base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform

Database Server: base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform, mysql-client, mysql, postgresql-client, postgresql, system-admin-tools

Web Server: base, console-internet, core, debugging, directory-client, java-platform, network-file-system-client, performance, perl-runtime, server-platform, web-server, web-servlet, php, turbogears, mysql-client, postgresql-client

Virtual Host: base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform, virtualization, virtualization-client, virtualization-platform

Software Development Workstation: base, core, debugging, directory-client, java-platform, network-file-system-client, performance, perl-runtime, server-platform, fonts, print-client, basic-desktop, desktop-debugging, desktop-platform, general-desktop, graphical-admin-tools, input-methods, legacy-x, x11, internet-browser, graphics, emacs, tex, remote-desktop-clients, virtualization, virtualization-client, virtualization-platform, desktop-platform-devel, development, eclipse, server-platform-devel, technical-writing, additional-devel

Состав каждой группы, в свою очередь, можно узнать при помощи:

yum groupinfo <groupname>

9. Как задействовать два монитора на своей системе? Надо ли для этого использовать проприетарные драйверы?

Вопреки одному из самых распостранённых заблуждений, поддержка двух мониторов не требует каких-либо пропиетарных драйверов и осуществляется "из коробки". Вот краткая инструкция для этого случая:

  1. Подключите ваши мониторы, включите их;
  2. Запустите обнаружение:

xrandr -q

Вывод этой команды будет приблизительно следующим:

[wolfy@wolfy ~]$ xrandr -q
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 2560
 DFP1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0*+   75.0
   1152x648       60.0 +
   1280x960       75.0     60.0
   1280x800       75.0     60.0
   1152x864       75.0     60.0
   1280x768       74.9     59.9
   1280x720       60.0
   1024x768       75.0     70.1     60.0
   800x600        72.2     75.0     70.0     60.3     56.2
   720x480        60.0
   640x480        75.0     72.8     60.0
 DFP2 disconnected (normal left inverted right x axis y axis)
 CRT1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0 +   75.0*
   1280x960       75.0     60.0
   1280x800       75.0     60.0
   1152x864       75.0     60.0
   1280x768       74.9     59.9
   1280x720       60.0
   1024x768       75.0     70.1     60.0
   800x600        72.2     75.0     70.0     60.3     56.2
   720x480        60.0
   640x480        75.0     72.8     60.0

Самое главное, что там указано - то, что у нас есть монитор, подключённый по цифровому интерфейсу DFP1 и поддерживающий разрешение 1280x1024, а так же ещё один, аналоговый монитор, подключённый по интерфейсу CRT1 и так же поддерживающий разрешение 1280x1024. Другие общепринятые названия, которые так же можно встретить - VGA, DVI, HDMI и LDVS (зависит от типа устройства вывода и видео-драйвера). То, что оба монитора имеют одно и то же разрешение - простое совпадение.

3. При помощи полученной информации необходимо снова запустить xrandr для активации и задания желаемого расположения вывода информации на 2х экранах:

xrandr --output DFP1 --auto --left-of CRT1 

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

ru/FAQ/CentOS6 (last edited 2019-12-09 09:11:14 by anonymous)