CentOS — дистрибьютив Linux, совместимый с RedHat Linux. По сути CentOS Linux это RedHat Enterprise Linux, из которого удалены только коммерческие закрытые программы. Мы постарались протестировать все приводимые примеры и собрать документацию, необходимую для практического применения системными администраторами. Все сказанное в этом разделе относится к CentOS Linux 4.4 и выше, так же с лёгкостью может быть отнесено к RedHat Linux, и возможно будет актуально для других основанных на RedHat или совместимых с ним дистрибьютивов.
Оффициальная документация по Centos
Установка и настройка
Управление пакетами
Система сервисов
Дисковая подсистема
CentOS Hardware RAID — работа с аппаратным RAID
CentOS Software RAID — работа с программным RAID
перенос CentOS — перенос системы на другой компьютер
LVM — работа с LVM
Сетевая подсистема
iptables — встроенный Брандмауэр
centos-netdriver — установка драйверов сетевой платы
Диагностика проблем
программы для диагностики CentOS
tcpdump — перехват сетевого трафика
tail — просмотр логов в реальном времени
Если CentOS не грузится
Grub механизм работы загрузчика
Обновления системы
зарегистрироваться для доступа к обновлениям
up2date --register
обновление ПО
su -c 'yum update' (all)
автоматическое обновление ПО
su -c '/sbin/chkconfig --level 345 yum on; /sbin/service yum start'
уровни запуска CentOS
CentOS runlevels:
0 - halt
1 - single user
2 - not used
3 - full multi user
4 - not used
5 - full multi user (with X-login)
6 - reboot
Сервисы
[stop start restart]
service httpd restart
добавление сервиса iptables в автозапуск
/sbin/service iptables restart
/sbin/chkconfig --level 345 iptables on
services
ntsysv
chkconfig --list
/sbin/service crond status
/sbin/service iptables restart
/sbin/chkconfig --level 345 iptables on
управление разделами диска
fdisk -l
parted
parted print
parted cp /dev/hda1 to /dev/hdb1
lvdisplay
vgdisplay
pvdisplay
mkfs
e2label
tune2fs
e2fsck -y
cat /proc/swaps
swapoff -v /dev/VolGroup00/LogVol01
lvm lvresize /dev/VolGroup00/LogVol01 -L +256M
lvm lvreduce /dev/VolGroup00/LogVol01 -L -256M
lvm lvremove /dev/VolGroup00/LogVol01
mkswap /dev/VolGroup00/LogVol01
swapon -va
dd if=/dev/zero of=/swapfile bs=1024 count=65536
mkswap /swapfile
swapon /swapfile
дисковые квоты
repquota -a
mount -t ext3 -o acl <device> <partition>
setfacl -m <rules> <files>
setfacl -m u:andrius:rw /project/file
setfacl -x u:500 /project/file
getfacl /project/file
информация о происходящем в системе
free
ps aux | less
ps ax
top
df
du -sh
lsof
lspci
lsusb
netstat
tcpdump
инсталляция ПО, управление пакетами
(as root) yum install mc
su -c 'yum install tsclient'
su -c 'yum groupinstall "MySQL Database"'
su -c 'yum update tsclient'
su -c 'yum groupupdate "MySQL Database"'
su -c 'yum remove tsclient'
su -c 'yum groupremove "MySQL Database"'
поиск ПО
su -c 'yum list tsclient' (поиск по имени пакета)
su -c 'yum search PalmPilot' (поиск по описанию пакета)
su -c 'yum provides libneon' (поиск по файлу, содержащемуся в пакете)
su -c 'yum list tsc\*' (regexp)
rpm -q -f /usr/bin/telnet #какому пакету принадлежит файл /usr/bin/telnet
yum list 'perl*' #посмотреть полный список пакетов в репозиториях со словом Perl
ручная установка пакетов из RPM
rpm -qd lvm # describe lvm
rpm -Uvh foo-1.0-1.i386.rpm
rpm -ivh kernel-some.rpm
rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
rpm -ivh --replacefiles foo-1.0-1.i386.rpm
(опасная установка без зависимостей) --nodeps
деинсталляция
rpm -e foo.rpm
обновление
rpm -Uvh foo-2.rpm
(force) rpm -Uvh --oldpackage foo.rpm
fresh
rpm -Fvh foo.rpm
rpm -Fvh *.rpm
поиск
rpm -q foo
rpm -q --redhatprovides bar.so.2
rpm -q -a (все)
rpm -q -f file (пакет, содержащий файл)
rpm -q -l (список файлов в пакете)
verify
rpm -Vf /usr/bin/vim
rpm -Va
rpm -Vp foo-1.0-i386.rpm
rpm -K nosignature <rpmfile> (check md5)
keys
rpm --import /usr/share/rhn/RPM-GPG-KEY
rpm -qa gpg-pubkey*
rpm -R file.rpm (check sign)
конфигурации Centos
network
netconfig
system-config-network-cmd -e > /tmp/network-config
system-config-network-cmd -i -c -f /tmp/network-config
network profile
system-config-network-cmd --profile <name> --activate
/etc/sysconfig/
# net.ipv4.ip_forward 1
/sbin/sysctl -p /etc/sysctl.conf
system-config
system-config-authentication
system-config-network-druid
system-config-samba
system-config-date
system-config-network-gui
system-config-securitylevel
system-config-httpd
system-config-network-tui
system-config-securitylevel-tui
system-config-keyboard
system-config-nfs
system-config-services
system-config-language
system-config-packages
system-config-soundcard
system-config-lvm
system-config-printer
system-config-time
system-config-mouse
system-config-printer-gui
system-config-users
system-config-network
system-config-printer-tui
system-control-network
system-config-network-cmd
system-config-rootpassword
Управление пользователями
useradd <name> -d /home/user -g users -m
passwd <user>
groupadd -g <gid>
groupadd -r (gid less 499)
chage -d 0 user (expire now)
usermod -L user (lock)
Установка нового ядра
/sbin/mkbootdisk `uname -r`
rpm -qa | grep kernel
rpm -ivh newkernel-i686.rpm
ls -l /boot (sure initrd-newkernel.img exist)
/boot/grub/grub.conf (exist title section for new)
конфигурация модулей ядра
/etc/rc.modules (force boottime load)
/etc/modprobe.conf (all available)
/sbin/lsmod
/sbin/modprobe e100
/sbin/modprobe -v e100
/sbin/modinfo
(warning, force) insmod, rmmod
названия жёстких дисков и логических устройств
/dev/mapper/VolGroup00-LogVol02
/dev/sda /dev/sdb
/dev/hda /dev/hdb
альтернативные версии программ
(в одну строчку)
/usr/sbin/alternatives --install /usr/bin/java java
/usr/lib/jvm/jre-1.4.2-gcj/bin/java 1
(в одну строчку)
/usr/sbin/alternatives --install /usr/bin/java java
/usr/java/j2re1.5.0_06/bin/java 2
/usr/sbin/alternatives --config java
/usr/sbin/alternatives --display java
SELinux
/var/log/audit/audit.log
/usr/bin/id - показывает Context
setsebool -P httpd_enable_cgi 1
man httpd_selinux
man chcon
не забыть дополнить про
parted & lvm options
quotas
at
cron