Вопросы по CentOS-6
Contents
- Раньше для сетевой установки я использовал образ boot.iso. Куда он делся?
- Почему для того, чтобы моя сетевая Ethernet-карта заработала, мне необходимо залогиниться и самому её задействовать?
- Но мне просто надо, чтобы все работало и чтобы я имел возможность ручного изменения конфигурационных файлов
- Почему CentOS отказывается устанавливатся на мой CPU i686?
- Как отключить IPv6?
- Почему при импортировании GPG-ключа для репозитория возникает ошибка?
- Почему у меня не выходит установить KVM на 32-х разрядный CentOS?
- Какие группы пакетов входят в каждую из опций, перечисленных во время установки?
- Как задействовать два монитора на своей системе? Надо ли для этого использовать проприетарные драйверы?
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. Как задействовать два монитора на своей системе? Надо ли для этого использовать проприетарные драйверы?
Вопреки одному из самых распостранённых заблуждений, поддержка двух мониторов не требует каких-либо пропиетарных драйверов и осуществляется "из коробки". Вот краткая инструкция для этого случая:
- Подключите ваши мониторы, включите их;
- Запустите обнаружение:
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, поэтому ты настоятельно рекомендуем воспользоваться ими.