Архив категории ‘Администрирование’

CentOS EPEL — Extra Packages for Enterprise Linux

centos epel

http://fedoraproject.org/wiki/EPEL

EPEL включает в себя большое количество пакетов совместимых с RHEL/CentOS, хотя цели на полную совместимость не имеет и не является частью стандартных RedHat и CentOS репозитариев. В нем имеется много пакетов для системного администрирования, мониторинга и программирования. Плохо совместим с другими сторонними репозиториями, поэтому при установке соблюдаем осторожность.

Установка Epel CentOS 6 i386

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum update

Установка Epel CentOS 6 x86_64

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum update

После установки пакета проверяем список репозиториев:

yum repolist

(далее…)

Linux: Backup and Restore Mysql

mysql_backup_restore

Мой небольшой скрипт, который переходит у меня по наследству с сервера на сервер.

1. Бекап mysql.

Бекап будет жить в «/opt/backup/mysql/» папки с именами баз создаются автоматически. В зависимости от целей и размеров базы, необходимо решить, как мы будем бекапиться:

«month day» — создаст архивы с затиркой по дням месяца
«week day» — создаст архивы по дням недели.

#!/bin/sh

mysqldump="mysqldump"
mysqlparam="-u <user_from_backup> -p<password_from_backup>"

bzip2="bzip2"

mysqlcheck -Ao ${mysqlparam}

databases=`echo "show databases" | mysql ${mysqlparam} | grep -v "^D"`

dstdir="/opt/backup/mysql/"

# back it up
for dbs in $databases
do
mkdir ${dstdir}/$dbs
#month day
mysqldump $mysqlparam $dbs | gzip > ${dstdir}/$dbs/`date +%d.$dbs.sql`.gz
#week day
#mysqldump $mysqlparam $dbs | gzip > ${dstdir}/$dbs/`date +%u.$dbs.sql`.gz
done

Восстановление из бекапа:

Дописываем в начало выгрузки строчку

CREATE DATABASE IF NOT EXISTS `mydatabase`;

mysql -u <user_from_backup> -p  < sql_file.sql
В приглашении вводит пароль.

Или если у нас архив:
gunzip -c дамп.gzip | mysql -u <user_from_backup> -p

FFmpeg базовые команды

FFmpeg базовые команды

В прошлом посте я рассказал как установить FFmpeg на CentOS 6.4.

В данном посте я рассмотрю базовые команды, которые существенно облегчат работу с FFMpeg.  Огромное количество информации содержится в мануалах, они как известно рулез, так что если какая-то информация оказалась за пределами поста, «man ffmpeg» вам в помощь.

Для понимания, более простых конструкций, например такой:


ffmpeg -ss 5 -i a.mp4 -aspect 4:3 -f image2 -r 1 -vframes 300 a%2d.jpg

чуть ниже я перечислю наиболее часто используемые опции.

(далее…)

FFmpeg на CentOS 6.4

ffmpeg linux centos 6.4

UPD 22.07.2018: Для CentOS 7 существует более простой способ установки описанный в knowledgebase: https://shurshun.ru/knowledgebase/ustanovka-ffmpeg-na-centos-7/

На одном из своих проектов, возникла необходимость работы с видео файлами. Прорешерстив Интернет, выбор пал на FFmpeg, который по сути является удобной «оберткой-конвертером» к существующим видео и аудио кодекам, с интерфейсом командной строки. В репозитариях необходимого пакета не оказалось, те что оказались, вызывали некоторые нарекания в работе, поэтому сам кодировщик и сопутствующие библиотеки были собраны из дистрибутивов.

На сервере — свежая СentOS 6.4, правда почему-то 32-битная. В моем случае (тестирование) это особо роли не сыграло.


[root@test /]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m

[root@test /]# uname -a
Linux shurshun 2.6.32-358.6.1.el6.i686 #1 SMP Tue Apr 23 18:13:20 UTC 2013 i686 i686 i386 GNU/Linux

Оговорюсь сразу. Я нашел как минимум 2 подхода к установке FFmpeg.

(далее…)

$ svn update. Conflict discovered…

Conflict discovered in 'services.html'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: p
C    services.html
Обновлено до редакции 11.
Summary of conflicts:
  Text conflicts: 1

При обновлении был обнаружен конфликт в файле. Нам предложено выбрать действие для его решения:

  • (e) edit — редактировать файл с изменениями;
  • (df) diff-full — показать все конфликтующие изменения;
  • (r) resolved — принять файл, содержащий маркеры слияния конфликтующих изменений;
  • (dc) display-conflict — показать все конфликты;
  • (mf) mine-full — принять свою версию и игнорировать полученные изменения;
  • (tf) theirs-full — принять полностью полученную версию файла и отказаться от своих изменений;
  • (p) postpone — отметить конфликт и разрешить его позднее;
  • (l) launch — использовать внешние средства для разрешения конфликта.

Поставить статус разрешенного конфликта:

svn resolved

Рекурсивное добавление всех файлов и папок в систему контроля версий svn: svn add –force *

Linux: локальная 0-day уязвимость

Тролинг дня «а как собрать ядро, что бы запускался експлойт?» (c) aztec

 

linux

В ядре Linux обнаружена ранее неизвестная 0-day уязвимость (CVE-2013-2094), позволяющая получить root-доступ произвольному пользователю. Проблему усложняет то, что ошибка существовала на протяжении последних 2-3 лет и присутствует во всех ядрах, начиная с 2.6.37 и включая 3.8.8 (ядра 3.9.x проблеме не подвержены).

Уязвимость вызвана ошибкой в коде подсистемы PERF_EVENTS, которая должна быть активирована для успешной эксплуатации уязвимости (в большинстве дистрибутивов ядро собрано поддержкой PERF_EVENTS). Пользователи RHEL 6 и CentOS 6, несмотря на использование ядра 2.6.32, не застрахованы от данной ошибки — проблемный код был успешно бэкпортирван Red Hat в пакет с ядром, поставляемом в RHEL.

Патч с устранением проблемы был принят в состав ядра 3.8.9 в апреле, без уведомления о том, что он связан с устранением уязвимости. В дистрибутивах уязвимость пока остаётся неисправленной.

(далее…)

Synology: восстановление шифрованных данных

У линейки NAS Synology есть возможность шифрования пользовательских директорий. С точки зрения  пользователя и производительности данный процесс проходит незаметно. С точки зрения восстановления данных в случае физического выхода из строя непосредственно Synology возникают вопросы.

Решение достаточно простое.

Попробуем зашифровать данные на synology и восстановить их на другом компьютере под управлением linux.

1. Создаем папку «test»

syn1

В консоли она выглядит как:

DiskStation> mount
/volume2/@test@ on /volume2/test type ecryptfs (rw,ecryptfs_sig=d1a01d50c3f21e00,ecryptfs_fnek_sig=d1a01d50c3f21e00,ecryptfs_cipher=aes,ecryptfs_key_bytes=32)
DiskStation>

(далее…)