Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
linux:centos:centos_tnt
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
linux:centos:centos_tnt [2020/03/31 04:45] – внешнее изменение 127.0.0.1 | linux:centos:centos_tnt [2022/08/04 02:29] (текущий) – dx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== CentOS советы ====== | ||
+ | ===== HowTo - Как сделать xyz? ===== | ||
+ | |||
+ | ==== CentOS 8 > Stream ==== | ||
+ | |||
+ | Ошибка | ||
+ | |||
+ | < | ||
+ | Error: Failed to download metadata for repo ' | ||
+ | Exited with code exit status 1 | ||
+ | </ | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | sed -i ' | ||
+ | sed -i ' | ||
+ | </ | ||
+ | |||
+ | Говорят лучше использовать vault.epel.cloud вместо vault.centos.org | ||
+ | |||
+ | ==== Очистить файлы btmp и wtmp ==== | ||
+ | |||
+ | Сломалась ротация логов, что привело к переполнению диска из-за файла ''/ | ||
+ | |||
+ | Быстро очистить файл можно командой | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== killall: command not found ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Как надежно удалить файл ==== | ||
+ | |||
+ | Через утилиту [[https:// | ||
+ | |||
+ | ==== Обновление до 6.x_latest версии с CentOS 6.4/ | ||
+ | |||
+ | Посмотреть версию ОС | ||
+ | |||
+ | < | ||
+ | # cat / | ||
+ | CentOS release 6.5 (Final) | ||
+ | </ | ||
+ | |||
+ | Обновить | ||
+ | |||
+ | < | ||
+ | # yum clean all | ||
+ | # yum update glibc* yum* rpm* python* | ||
+ | # yum update | ||
+ | </code | ||
+ | |||
+ | ==== Где взять свежую версю Git для CentOS? ==== | ||
+ | |||
+ | Собрать из Git! Ха-ха-ха! | ||
+ | |||
+ | Действительно, | ||
+ | |||
+ | < | ||
+ | [dx@dx ~]# git --version | ||
+ | git version 1.7.12.4</ | ||
+ | |||
+ | Свежую версию Git можно установить из репозитория [[http:// | ||
+ | |||
+ | CentOS 5 | ||
+ | < | ||
+ | |||
+ | CentOS 6 | ||
+ | < | ||
+ | |||
+ | CentOS 7 | ||
+ | < | ||
+ | |||
+ | < | ||
+ | [dx@dx ~]## yum provides git | ||
+ | |||
+ | git-1.7.1-3.el6_4.1.i686 : Fast Version Control System | ||
+ | Repo : base | ||
+ | Matched from: | ||
+ | |||
+ | git-2.6.0-1.gf.el6.i686 : Fast Version Control System | ||
+ | Repo : installed | ||
+ | Matched from: | ||
+ | Other : Provides-match: | ||
+ | </ | ||
+ | |||
+ | P.S. WTF, зачем мне может понадобиться новая версия git?! Всё что надо есть в EPEL! | ||
+ | Оказывается может. В CentOS, как и в Debian древний софт, как бивни мамонта, | ||
+ | |||
+ | ==== Как распаковать содержимое rpm-пакета? | ||
+ | |||
+ | via http:// | ||
+ | |||
+ | Обычный rpm-пакет - это архив формата cpio вместе с некоторым набором метаданных. | ||
+ | |||
+ | Распаковать его можно | ||
+ | |||
+ | < | ||
+ | |||
+ | Параметры и флаги: | ||
+ | * имя rpm-файла, | ||
+ | * -i - распаковать архив, | ||
+ | * -d - сохранить структуру директорий. | ||
+ | * -v - вывести список распакованных файлов, | ||
+ | * -m - наследовать даты модификаций извлекаемых файлов. | ||
+ | |||
+ | ==== Как рестартнуть все сервисы без перезагрузки OS ==== | ||
+ | |||
+ | via http:// | ||
+ | |||
+ | Если требуется перезагрузить все сервисы на CentOS без ребута самого сервера, | ||
+ | |||
+ | < | ||
+ | |||
+ | Посмотреть список сервисов, | ||
+ | |||
+ | < | ||
+ | |||
+ | //P.S. будьте осторожны, | ||
+ | |||
+ | ==== Запустить скрипт через каждые 30 минут ==== | ||
+ | |||
+ | Каждые 30 минут | ||
+ | |||
+ | < | ||
+ | |||
+ | Запускать в XX:00 и XX:30 | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Открываем crontab в nano ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | Делаем nano редактором по-умолчанию (добавляем в '' | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Red Hat Enterprise Linux Release Dates ==== | ||
+ | |||
+ | via https:// | ||
+ | |||
+ | ==== Проверить скорость диска ==== | ||
+ | |||
+ | Проверить скорость записи диска. Данная команда пишет 512 МБ на диск и потом показывает скорость. Важным ключом является conv=fdatasync. Она заставляет dd сделать sync и убедится что все данные действительно записаны на диск. Если не использовать этот ключ, то dd будет писать в память и бенчмарк получится неверный | ||
+ | |||
+ | < | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ==== Как создать swap файл? ==== | ||
+ | |||
+ | Создаём swap-файл размером 256MB | ||
+ | |||
+ | < | ||
+ | # отключаем swap | ||
+ | swapoff -a | ||
+ | # создаём swap-файл размером 256 МБ | ||
+ | dd if=/ | ||
+ | # инициализируем созданный swap-файл | ||
+ | mkswap /swap | ||
+ | # включаем swap | ||
+ | swapon -a | ||
+ | </ | ||
+ | |||
+ | Не забываем про chmod иначе будет **insecure permissions 0644, 0600 suggested**. | ||
+ | |||
+ | < | ||
+ | |||
+ | Добавляем информацию о swap в файл ''/ | ||
+ | |||
+ | < | ||
+ | |||
+ | Вариант для ленивых - https:// | ||
+ | |||
+ | < | ||
+ | # wget https:// | ||
+ | # sh swap 1G | ||
+ | </ | ||
+ | |||
+ | Если возникла ошибка **msgid " | ||
+ | |||
+ | Неправильно | ||
+ | < | ||
+ | < | ||
+ | Правильно | ||
+ | < | ||
+ | |||
+ | fallocate НЕ НАДО использовать для создания swap | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | < | ||
+ | Note that a swap file must not contain any holes. Using cp(1) to create the file is not acceptable. Neither is use of fallocate(1) on file systems that support preallocated files, such as XFS or ext4, or on copy-on-write filesystems like btrfs. It is recommended to use dd(1) and /dev/zero in these cases. Please read notes from swapon(8) before adding a swap file to copy-on-write filesystems. | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | < | ||
+ | You should not use swapon on a file with holes. This can be seen in the system log as | ||
+ | |||
+ | swapon: swapfile has holes. | ||
+ | |||
+ | The swap file implementation in the kernel expects to be able to write to the file directly, without the assistance of the filesystem. This is a problem on preallocated files (e.g. fallocate(1)) on filesystems like XFS or ext4, and on copy-on-write filesystems like btrfs. | ||
+ | </ | ||
+ | |||
+ | ==== Как очистить swap и кэш памяти (cached memory) ==== | ||
+ | |||
+ | **Очистить swap** | ||
+ | |||
+ | < | ||
+ | |||
+ | Куда исчезают при этом данные? | ||
+ | |||
+ | **Очистить кэш памяти** | ||
+ | |||
+ | Начиная с Linux ядра 2.6.16 у администраторов системы появилась возможность принудительной очистки системных кэшей (https:// | ||
+ | |||
+ | Очистить pagecache | ||
+ | |||
+ | < | ||
+ | |||
+ | Очистить dentrie и inode кэши | ||
+ | |||
+ | < | ||
+ | |||
+ | Очистить pagecache, dentrie и inode кэши | ||
+ | |||
+ | < | ||
+ | |||
+ | Бытует мнение, | ||
+ | |||
+ | ==== Вывести список установленных rpm из определенного репозитория ==== | ||
+ | |||
+ | via http:// | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Изменить hostname в CentOS ==== | ||
+ | |||
+ | В файл ''/ | ||
+ | |||
+ | < | ||
+ | |||
+ | Выполнить команду | ||
+ | |||
+ | < | ||
+ | |||
+ | В файл ''/ | ||
+ | |||
+ | < | ||
+ | 127.0.0.1 | ||
+ | 192.168.13.77 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Количество соединений с одного IP ==== | ||
+ | |||
+ | Количество соединений с одного IP | ||
+ | |||
+ | < | ||
+ | netstat -ntu | awk ' | ||
+ | netstat -plan|grep :80|awk {' | ||
+ | netstat -an | grep 80 | wc -l | ||
+ | </ | ||
+ | |||
+ | ==== Есть ли аналог --no-install-recommends в CentOS? ==== | ||
+ | |||
+ | Нет. | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== В CentOS старый PHP и он не обновляется ==== | ||
+ | |||
+ | Joomla требует минимум 5.3.10 | ||
+ | |||
+ | < | ||
+ | # View the Changelog | ||
+ | |||
+ | # Because CentOS and the upstream vendor have backported security patches, the version numbers can often be misleading when you look for CVE fixes. Checking the changelog of a package is a good way to see if the fix has been implemented. Once again, rpm comes to the rescue. | ||
+ | |||
+ | rpm -q --changelog < | ||
+ | |||
+ | # Using less isn't necessary, but for some packages like the kernel, the changelog can be quite long. Using less helps to make things more readable. | ||
+ | </ | ||
+ | |||
+ | ===== Ошибки ===== | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | <code bash>yum install logcheck</ | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | Узнать где доступна либа | ||
+ | |||
+ | < | ||
+ | # yum provides ld-linux.so.2 | ||
+ | glibc-2.17-260.el7.i686 : The GNU libc libraries | ||
+ | Repo : base | ||
+ | Matched from: | ||
+ | Provides | ||
+ | </ | ||
+ | |||
+ | Установка пакета | ||
+ | |||
+ | < | ||
+ | |||
+ | Для старых систем | ||
+ | |||
+ | < | ||
+ | |||
+ | Для Debian | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Another app is currently holding the yum lock ==== | ||
+ | |||
+ | Ошибка **Another app is currently holding the yum lock; waiting for it to exit...** | ||
+ | |||
+ | < | ||
+ | # ps aux | grep yum | ||
+ | # kill yum-PID | ||
+ | </ | ||
+ | |||
+ | Если не помогло | ||
+ | |||
+ | < | ||
+ | # rm / | ||
+ | # yum update | ||
+ | </ | ||
+ | |||
+ | ==== iptables: line 268: restorecon: command not found ==== | ||
+ | |||
+ | Ошибка | ||
+ | |||
+ | < | ||
+ | iptables: Saving firewall rules to / | ||
+ | </ | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== error: cannot open Packages database in / | ||
+ | |||
+ | Ошибка | ||
+ | |||
+ | < | ||
+ | rpmdb: Thread/ | ||
+ | error: db3 error(-30974) from dbenv-> | ||
+ | error: cannot open Packages index using db3 - (-30974) | ||
+ | error: cannot open Packages database in / | ||
+ | CRITICAL: | ||
+ | |||
+ | Error: rpmdb open failed | ||
+ | </ | ||
+ | |||
+ | Как починить | ||
+ | |||
+ | < | ||
+ | # db_recover -h / | ||
+ | # yum clean all | ||
+ | </ | ||
+ | |||
+ | Или так | ||
+ | |||
+ | < | ||
+ | # mv / | ||
+ | # rpm --rebuilddb | ||
+ | # yum clean all | ||
+ | </ | ||
+ | |||
+ | ==== Из Mac OS (Linux?) нет доступа к Samba (CentOS 7) ==== | ||
+ | |||
+ | **Ошибка** | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | **Как исправить** | ||
+ | |||
+ | Установить предыдущую версию Samba через '' | ||
+ | |||
+ | Либо берем RPMы здесь ftp:// | ||
+ | |||
+ | Список необходимых пакетов | ||
+ | |||
+ | < | ||
+ | libsmbclient-4.2.3-12.el7_2.x86_64.rpm | ||
+ | libwbclient-4.2.3-12.el7_2.x86_64.rpm | ||
+ | samba-4.2.3-12.el7_2.x86_64.rpm | ||
+ | samba-client-libs-4.2.3-12.el7_2.x86_64.rpm | ||
+ | samba-common-4.2.3-12.el7_2.noarch.rpm | ||
+ | samba-common-libs-4.2.3-12.el7_2.x86_64.rpm | ||
+ | samba-common-tools-4.2.3-12.el7_2.x86_64.rpm | ||
+ | samba-libs-4.2.3-12.el7_2.x86_64.rpm | ||
+ | </ | ||
+ | |||
+ | ==== yum, curl, php, java, etc не работают, | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | |||
+ | Ошибка возникает если | ||
+ | * Установлен RHEL/CentOS 6.8 | ||
+ | * Виртуальная машина Xen | ||
+ | * Установлен флаг AES | ||
+ | |||
+ | К примеру Wordpress при этом в режиме nginx+php-fpm падает с ошибкой 502 Bad Gateway. | ||
+ | |||
+ | Как исправить работу Wordpress (nginx+fpm) | ||
+ | |||
+ | Добавить строку | ||
+ | |||
+ | < | ||
+ | |||
+ | в файлы | ||
+ | |||
+ | < | ||
+ | index.php | ||
+ | wp-cron.php | ||
+ | wp-load.php | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Либо добавляем в конфиг fpm пуля переменную | ||
+ | |||
+ | < | ||
+ | |||
+ | http:// | ||
+ | |||
+ | ==== 3.10.0-327.el7 crashes on every boot ==== | ||
+ | |||
+ | initcall_blacklist=clocksource_done_booting | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | | ||
+ | Передать ядру при загрузке параметр '' | ||
+ | |||
+ | Добавить в файл ''/ | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | GRUB_CMDLINE_LINUX=" | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Выполнить | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== -bash: netstat: command not found ==== | ||
+ | |||
+ | Опа, netstat выпилили из дефолта | ||
+ | |||
+ | < | ||
+ | # yum whatprovides netstat | ||
+ | |||
+ | net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools | ||
+ | Repo : @base | ||
+ | Matched from: | ||
+ | Filename | ||
+ | </ | ||
+ | |||
+ | Окэй < | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again ==== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | Ошибка **Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again** | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Куда пропало место на диске? ==== | ||
+ | |||
+ | Если '' | ||
+ | |||
+ | * [[https:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | ==== atomic-release, | ||
+ | |||
+ | < | ||
+ | warning: rpmts_HdrFromFdno: | ||
+ | Retrieving key from file:/// | ||
+ | |||
+ | The GPG keys listed for the " | ||
+ | Check that the correct key URLs are configured for this repository. | ||
+ | </ | ||
+ | |||
+ | Скачиваем новый GPG ключ | ||
+ | |||
+ | < | ||
+ | # wget https:// | ||
+ | # mv RPM-GPG-KEY.atomicorp.txt / | ||
+ | # rpm --import / | ||
+ | </ | ||
+ | |||
+ | либо так | ||
+ | |||
+ | < | ||
+ | |||
+ | Редактируем файл ''/ | ||
+ | |||
+ | < | ||
+ | gpgkey = file:/// | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Если не помогло, | ||
+ | |||
+ | < | ||
+ | |||
+ | либо доверяем настроить .repo скрипту Atomic | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== su mysql - account is currently not available ==== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Это происходит из-за того, что у этих пользователей в качестве шела указан / | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | Ошибка **/ | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | |||
+ | Ошибка **/ | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | |||
+ | Ошибка ''/ | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Не запускается sshd: / | ||
+ | |||
+ | Ошибка | ||
+ | |||
+ | < | ||
+ | # service sshd start | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Решение | ||
+ | |||
+ | < | ||
+ | # chown root:root / | ||
+ | # chmod 711 / | ||
+ | # / | ||
+ | </ | ||
+ | |||
+ | ==== Another MySQL daemon already running with the same unix socket ==== | ||
+ | |||
+ | < | ||
+ | # service mysqld stop | ||
+ | # rm -rf / | ||
+ | # service mysqld start | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Решение такое: | ||
+ | 1) Удаляем сокет (решение выше по ссылке) | ||
+ | 2) Меняем chmod 777 -R /tmp | ||
+ | 3) Перезагружаем сервер. | ||
+ | Если после этого сервер баз данных поднялся сразу, значит проблема решена</ | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ==== Warning: SuexecUserGroup directive requires SUEXEC wrapper ==== | ||
+ | |||
+ | Появилось после установки prefork вместо itk | ||
+ | |||
+ | < | ||
+ | # chown root: | ||
+ | # chmod 4755 / | ||
+ | </ | ||
+ | |||
+ | ===== Ссылки ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * https:// | ||
+ | * Artwork: https:// | ||
+ | |||
+ |