Реанимация файловой системы 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 и т.д.


Создаём базу mysql

9 02 2009

Итак, пароль рутовый восстановили, переходим к созданию БД…

  1. Логинимся рутом к базе в шелле: mysql -uroot -pВАШ_ПАРОЛЬ mysql
  2. Создаём базу данных: create database ИМЯ_БАЗЫ_ДАННЫХ;
  3. Даём привилегии (доступ и право управления) пользователю, если его нет – он создастся:
    grant all on ИМЯ_БАЗЫ_ДАННЫХ.* to ИМЯ_ПОЛЬЗОВАТЕЛЯ identified by ‘ПАРОЛЬ’;
    Тут есть подводные камни: один и тот – же пользователь не может получить разные пароли для доступа к разным БД. Если такой пользователь уже есть – ему пропишется новый пароль
  4. Сбрасываем во внутенний кеш mysql данные по юзеру и доступу: flush privileges;

Вроде всё, если есть вопросы или что – то не пашет – пишите в комменты :)


Опять квоты

1 02 2009

В дополнение к статье о квотах.

Итак…:

  1. Редактирование файла квот осуществляется командой edquota USERNAME
    где USERNAME – сами знаете что. Это для беспамятливых и убогих типа меня ремарка :)
  2. Большинство команд Linux не являются командами ОС или баша, это обычные исполняемые файлы, бинарники. Соответственно если вы вводите из без путя к ним – они не запускаются (еврика блин :) ). Т.е., если у вас выходит вот это:
    [root@server user]# edquota user
    bash: edquota: command not found

    Не отчаивайтесь. Для начала сделайте вот это:
    [root@server sbin]# find / -iname edquota

    /usr/sbin/edquota
    О чудо – данная програмулина у нас есть! только путь к ней в системе не прописан :)

  3. Далее, запускаем редактор квот, а он….
    [root@server user]# /usr/sbin/edquota user
    edquota: Can’t exec /usr/bin/nano

    … хостер забыл поставить редактор nano, а он в конфиге сервера забыл подправить чтоб другой вызывался. Не отчаиваемся, ставим нано:
    [root@server user]# yum install nano
    Loading “fastestmirror” plugin
    Loading mirror speeds from cached hostfile
    * epel: ftp.uni-koeln.de
    * base: centos.intergenia.de
    * updates: centos.intergenia.de
    * addons: centos.intergenia.de
    * extras: centos.intergenia.de
    Setting up Install Process
    Parsing package install arguments
    Resolving Dependencies
    –> Running transaction check
    —> Package nano.i386 0:1.3.12-1.1 set to be updated
    –> Finished Dependency Resolution

    Dependencies Resolved

    =============================================================================
    Package Arch Version Repository Size
    =============================================================================
    Installing:
    nano i386 1.3.12-1.1 base 476 k

    Transaction Summary
    =============================================================================
    Install 1 Package(s)
    Update 0 Package(s)
    Remove 0 Package(s)

    Total download size: 476 k
    Is this ok [y/N]: y
    Downloading Packages:
    (1/1): nano-1.3.12-1.1.i3 100% |=========================| 476 kB 00:00
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing: nano ######################### [1/1]

    Installed: nano.i386 0:1.3.12-1.1
    Complete!

  4. Ура :) теперь всё запускается как надо (не забываем пути указывать).