Для получения gif-анимации из mp4 видео понадобится установить пакеты ffmpeg и imagemagick:
sudo apt-get install ffmpeg imagemagick
Затем превратить видео в последовательность jpg кадров:
ffmpeg -i video.mp4 -r 10 'frames/frame-%03d.jpg'
Параметр -r обозначает кол-во кадров в секунду (FPS). Затем конвертируем jpg-файлы в gif-анимацию:
cd frames convert -delay 10 -loop 0 *.jpg myimage.gif
По материалам ответа на askubuntu.com.
Для обновления (перевыпуска) StartSSL сертификатов понадобится csr-файл сгенерированный из приватного ключа. Запрос подписи сертификата можно сгенерировать заново:
openssl req -new -sha256 -key ~/domain.key -out ~/domain.csr
Получив новый сертификат, нужно убедиться, что в цепочке сертификатов удостоверяющего центра не произошло изменений. Например, один из сертификатов мог быть отозван. Если это произошло, надо скачать новый корневой и промежуточный сертификат, затем собрать эти сертификаты в файл:
cat ca.crt startssl-ca-intermediate.crt > unified-ca-certs.pem
nginx:
У StartSSL скачиваются уже готовые для использования в nginx сертификаты. Нужно только разместить их в соответствующих местах:
ssl_certificate /etc/ssl/domain.crt; ssl_certificate_key /etc/ssl/private/server.key; ssl_trusted_certificate /etc/ssl/unified-ca-certs.pem;
postfix:
smtpd_tls_cert_file = /etc/ssl/domain.crt smtpd_tls_key_file = /etc/ssl/private/server.key smtpd_tls_CAfile = /etc/ssl/unified-ca-certs.pem
courier:
Для courier нужно скачать сертификат в формате pem и добавить туда приватный ключ:
cat /etc/private/server.key >> domain.pem
Затем прописать в конфиге параметры:
TLS_CERTFILE=/etc/ssl/private/domain.pem TLS_TRUSTCERTS=/etc/ssl/unified-ca-certs.pem
Чтобы проверить текущие лимиты на открытые файлы, надо найти pid php-fpm процесса:
ps aux | grep php5-fpm
Затем просмотреть:
cat /proc/<pid>/limits
Если там выставлено слишком малое значение (менее 4096), нужно увеличить в конфиге php5-fpm значение ключа:
rlimit_files = 8192
Для упорядочивания primary ключей в таблице можно использовать следующий запрос:
UPDATE table_name
SET
id=(SELECT @a:=@a+1)
WHERE
(SELECT @a:=-1)=-1
ORDER BY id ASCУстанавливаем зависмости:
sudo dpkg --add-architecture i386 sudo apt-get install build-essential gcc-multilib g++-multilib checkinstall sudo apt-get build-dep wine-development sudo apt-get install libx11-dev:i386 libfreetype6-dev:i386 libxcursor-dev:i386 libxi-dev:i386 libxxf86vm-dev:i386 libxrandr-dev:i386 libxinerama-dev:i386 libxcomposite-dev:i386 libglu1-mesa-dev:i386 libosmesa6-dev:i386 libdbus-1-dev:i386 libpcap0.8-dev:i386 libncurses5-dev:i386 libsane-dev:i386 libv4l-dev:i386 liblcms2-dev:i386 libcups2-dev:i386 libfontconfig1-dev:i386 libgsm1-dev:i386 libcapi20-dev:i386 libmpg123-dev:i386 libopenal-dev:i386 libldap2-dev:i386 libxslt1-dev:i386 libgnutls28-dev:i386 ocl-icd-opencl-dev:i386 opencl-headers:i386
Подготавливаем папку для билда:
mkdir -p /opt/src cd /opt/src sudo -i
Скачиваем исходники:
git clone git://source.winehq.org/git/wine.git
Конфигурируем инсталляцию в локальную польовательскую папку:
./configure --prefix=/home/user/.local/share/wine
Компилируем:
CFLAGS="-O3 -msse4.2 -pipe -fomit-frame-pointer" CXXFLAGS="-O3 -msse4.2 -pipe -fomit-frame-pointer" make
Далее собираем пакет:
checkinstall