Реанимация файловой системы Linux

10 01 2011

В винде это делают ndd и chkdisk, но что делать если у вас Linux (Centos)? Не переживайте, тут тоже есть штатное средство для проверки и исправления ошибок файловой системы.

Итак:

  1. При загрузке переходим в однопользовательский режим
  2. umount /, дабы не повредить чего полезного
  3. fsck -y -f -c /dev/hda1
  4. fsck -y -f -c /dev/sdaN

Параметры:

  • /dev/hda1 – ваш первый раздел,
  • /dev/hdaN – ваш последний раздел,
  • -y – отвечать Да на все вопросы,
  • -f – проверять диск даже если он “хороший”,
  • -с – искать и помечать bad blocks, если винт начал сыпаться – это нужно.

Рекомендую проверить все разделы. Мне помогло отсрочить покупку нового винта (авось надолго).


Сброс пароля root в Linux (Centos)

10 01 2011

Итак, исходные данные: вы забыли root пароль. ОС: Centos. Что делать… надо перейти в однопользовательский (single) режим. Если есть grub – пляшите. Если нет… не будем об этом…

Итак:

  1. При загрузке останавливаем загрузчик на GRUB нажатием любой кнопки.
  2. Выбираем нужную строчку и нажимаем e.
  3. Выбираем строчку с kernel (kernel  /vmlinuz-2.6.18-92.el5  ro  root=LABEL=/)
  4. Дописываем в конец строки single и нажимаем Enter
  5. Нажимаем b для загрузки системы
  6. После загрузки меняем пароль (passwd)

В том или ином виде это работает для всех Linux систем.

Что делать если у вас нет GRUB? Ставить GRUB.


Whereis

11 03 2010

На днях надо было добавить пользователя на сервер для теста скриптов набираю useradd и чуток в ступор погружаюсь:
[user@localhost home]$ useradd
-bash: useradd: команда не найдена

Гавно вопрос, как грится, счас засетапим! :)
[root@localhost backlinker]# yum install useradd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror.yandex.ru
* base: mirror.yandex.ru
* centosplus: mirror.yandex.ru
* epel: mirror.yandex.ru
* extras: mirror.yandex.ru
* rpmforge: ftp-stud.fht-esslingen.de
* updates: mirror.yandex.ru
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
No package useradd available.
Nothing to do

уже хуже… Может она называется по другому?… Вряд – ли, скорее всего входит в состав какого – нить пакета, а какого – х.з…. Что делать?

Уже хотел гуглить, но вспомнил что есть замечательная команда whereis! Набираем:
[user@localhost home]$ whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz

Ура! Занавес :)


Установка модуля geoip в апач, centos

29 01 2010

Эта – же инструкция подойдёт для RHEL и Fedora.

При скачке всех файлов проверяйте чтобы они были последних версий. На момент произведения действий считается что апач уже установлен и работает (проверьте).

Итак, первое:
bash# yum install GeoIP GeoIP-devel httpd-devel
затем
bash# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
bash# gunzip GeoIP.dat.gz
bash# mv GeoIP.dat /var/lib/GeoIP/GeoIP.dat
bash# wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
bash# tar xzf mod_geoip2_1.2.5.tar.gz
bash# cd mod_geoip2_1.2.5

Если у вас стоит 64 битная OS – меняем /usr/lib -> /usr/lib64
bash# apxs -i -a -L/usr/lib -I/usr/include -lGeoIP -c mod_geoip.c

Открываем конфиг апача
bash# nano /etc/httpd/conf/httpd.conf
и проверяем наличие загрузки модуля и указания местоположения базы, если чего – то не хватает – добавляем.
LoadModule geoip_module /usr/lib64/httpd/modules/mod_geoip.so
GeoIPEnable On
GeoIPDBFile /var/lib/GeoIP/GeoIP.dat

Рестарт апача:
bash# /sbin/service httpd restart
В вашей системе это может быть service или /bin/service, проверяйте командой whereis service.

Должно показать [OK], если что – то другое – читаем ошибку и правим конфиг апача.


Добавляем юзера

16 02 2009

Взяли сервак, получили рута. Но работать под рутом нельзя, он только для настройки, нужно создать юзера. Сделать это просто:

useradd LOGIN

Создастся папка /home/LOGIN/ с правами этого юзера. Далее, чтобы присвоить ему пароль делаем:

passwd LOGIN

Вводим новый пароль и подтверждаем его. Затем:

su LOGIN

passwd

Меняем пароль, подтверждаем изменения. (Не спрашивайте зачем это надо).

Пользователь готов. Он имеет ssh вход (если установлен ssh) и ftp, если установлен ftp и т.д.


Управление квотами

26 01 2009

Итак, добавили пользователя… и опа, он не может ничего сохранить. В чём дело? Не угадали, не в шляпе, дело в квотах. Если квотирование включено, пользоователю позволяется сохранить очень мало всего (чтоб своим хламом винт не забивал :) ), необходимо указать квоты. В некоторых системах, если квотирование не включено… оно включено :) , странно но факт. Приступим к экзекуции:

  1. Внимательно читаем документацию.
  2. Чуток пояснений. Вот так выглядит файл квот, читать его следует “блочно”:

    В каждом блоке первая колонка означает текущее значение (для ориентира), если вы его поменяете – пофиг, оно пересчитается. Вторая колонка означает мягкую границу (можно переходить кратковременно, на 7 дней. Третья – жёсткую. Если доходите до неё – дальше нельзя ничего записать. Колонки разделены любым кол -вом пробелов, не важно чтобы цифры находились в соответствубщем столбце, при сохранении система сделает это за вас.

  3. После внесения изменений надо перегрузить систему квот (если изменения не подействовали), вот так:/sbin/quotaoff -a
    /sbin/quotacheck -cavugm
    /sbin/quotaon -a

Данная статья полностью справедлива для CentOS, пункт 1 выполнять обязательно и тщательно!

А теперь об интересном :) Я думал HYP’ы уже давно умерли, ан – нет, живут! В своё время знакомый поднимал неплохие деньги на них. Кто не знает что такое HYP – читать форум о заработке в сети. Маловероятно что вы что – то заработаете, но кто знает…? :)

Помните мой эксперимент по продвижению сайтов в Пензе? Эксперимент глупый, так как в Пензе нет конкуренции по данному запросу (SEO в Пензе). Продвинуть сайт в Санкт-Петербурге гораздо сложнее, так – что обращайтесь к профессионалам! :)


Добавляем IP (alias)

22 01 2009

Итак, взяли сервер – дали 3 IP. Пингуется только один, основной. Как сделать так, чтобы сервер так – же откликался и на остальные?

(Данная статья тестировалась на CentOs 5.2)

Приступим:

  1. Идём в папку: cd /etc/sysconfig/network-scripts/
  2. Смотрим какие интерфейсы там уже подняты (на всякий): ls -1 | grep ifcfg-ethВидим только сам интерфейс (айлисов нет):
    ifcfg-eth0
  3. Делаем алиас, создаём файл ifcfg-eth0:0 (если в выводе предыдущей команды уже есть подобные файлы – продолжаем список (ifcfg-eth0:1, ifcfg-eth0:2…. и т.д.). В него пишем:
    DEVICE=eth0:0
    BOOTPROTO=static
    IPADDR=89.49.102.56
    NETMASK=255.255.255.255
    ONBOOT=yes
    Выделенные жирным пишем исходя из своих данных (свой IP и свой номер айлиса)
  4. Делаем рестарт сети: service network restart или sh /etc/init.d/network restart
  5. Проверяем интерфейс: ifcfgДолжно добавиться что – то типа:eth0:0 Link encap:Ethernet HWaddr 00:0D:56:CF:04:8A
    inet addr:89.49.102.56 Bcast:89.49.102.56 Mask:255.255.255.255
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    Base address:0xdf40 Memory:feae0000-feb00000
  6. Пингуем IP должно работать. Если нет… пишите комменты :)