среда, 17 августа 2016 г.

VMWare 12.1.1. на ядре 4.6.4 и 4.7


Для запуска VMWare на Ubuntu 16.04 на ядрах выше 4.2 необходимо пропатчить ядро.
Для 4.6.4 нашел в сети вот этот патч


#!/bin/bash
usr=`whoami`
if [ "$usr" != "root" ]; then
    echo "Run $0 ar superuser"
    exit 1
fi

WORKDIR=/tmp/vmw
SRCDIR=/usr/lib/vmware/modules/source
MODDIR=/lib/modules/`uname -r`/kernel/misc
mkdir $WORKDIR
mkdir $MODDIR
cp $SRCDIR/vmmon.tar $WORKDIR/
cp $SRCDIR/vmnet.tar $WORKDIR/
cd $WORKDIR
tar -xf vmmon.tar
tar -xf vmnet.tar
cd vmnet-only
# cat netif.c | sed -r 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' > netif.c1
# mv netif.c1 netif.c
cat userif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > userif.c1
mv userif.c1 userif.c
make
cp *.ko $MODDIR/
cd ../vmmon-only/linux
cat hostif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > hostif.c1
mv hostif.c1 hostif.c
cd ../
make
cp *.ko $MODDIR/
depmod -a
modprobe vmnet
modprobe vmmon
rm -R $WORKDIR
Скрипт сохранить в любой каталог, дать права на исполнение и запустить под root.
Для ядер 4.6.7 этот патч не работает.

Для ядра 4.7 запускаем этот патч:
#!/bin/bash
usr=`whoami`
if [ "$usr" != "root" ]; then
  echo "Run $0 ar superuser"
  exit 1
fi
WORKDIR=/tmp/vmw
SRCDIR=/usr/lib/vmware/modules/source
MODDIR=/lib/modules/`uname -r`/kernel/misc
mkdir $WORKDIR
mkdir $MODDIR
cp $SRCDIR/vmmon.tar $WORKDIR/
cp $SRCDIR/vmnet.tar $WORKDIR/
cd $WORKDIR
tar -xf vmmon.tar
tar -xf vmnet.tar
cd vmnet-only
cat netif.c | sed -r 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' > netif.c1
mv netif.c1 netif.c
cat userif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > userif.c1
mv userif.c1 userif.c
make
cp *.ko $MODDIR/
cd ../vmmon-only/linux
cat hostif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > hostif.c1
mv hostif.c1 hostif.c
cd ../
make
cp *.ko $MODDIR/
depmod -a
modprobe vmnet
modprobe vmmon
rm -R $WORKDIR

пятница, 25 марта 2016 г.

Установка Transmission 2.92 в Thecus NAS

Вышла новая версия демона торрент клиента Transmission под номером 2.94.
Предыдущий релиз 2.90 был скомпрометирован тем, что в сборке под MacOS X был обнаружен вирус вымогатель. Этому было посвящено недавнее обсуждение на форуме tansmission
Про сборки под другие ОС информации нет, но на всякий случай я бы их удалил.
Разработчики сразу выпустили версию 2.92.

Скачать: transmission for Thecus N4800eco.

После установки нужно поправить файл конфигурации. У меня на Thecus N4800eco он находится здесь:
/raid0/data/MOD_CONFIG/transmission/settings.json Нужно прописать пути закачки:
    "download-dir": "/raid/Nas4d0/transmission",
    "incomplete-dir": "/raid/Nas4d0/transmission/00_incomplete",
и белый список ip адресов с которых разрешен вход на transmission:
    "download-dir": "/raid/Nas4d0/transmission",
    "incomplete-dir": "/raid/Nas4d0/transmission/00_incomplete",
Полностью конфиг выглядит так:
{
    "alt-speed-down": 1000,
    "alt-speed-enabled": true,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 62,
    "alt-speed-time-enabled": true,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 300,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=mcvxsnihddgutbjfbghy&fileformat=p2p&archiveformat=gz",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/raid/Nas4d0/transmission",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/raid/Nas4d0/transmission/00_incomplete",
    "incomplete-dir-enabled": true,
    "lpd-enabled": false,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-id-ttl-hours": 6,
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 50,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": true,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": true,
    "rename-partial-files": true,
    "rpc-authentication-required": false,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "{278f607764923e503ac7c3b8c1f88890db4e2e63nBqhB/sz",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "",
    "rpc-whitelist": "127.0.0.1 192.168.1.*",
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 200,
    "speed-limit-down-enabled": true,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": true,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true
}

вторник, 1 марта 2016 г.

Устанавливаем PyQt в Ubuntu

Если вы не знаете, что такое PyQt то отправлю Вас в википедию. Там все коротко и по существу.
Если Вы не знаете, что такое Python, то может и к лучшему. Ну, или опять в википедию.

Вернулись?
Ну тогда вперед!

Сначала подготовим место, где будем проводить работу с пакетами. Я обычно делаю это в директории ~/tmp

Устанавливаем пакеты, необходимые для установки и работы PyQt

sudo apt-get install build-essential python3-dev python3-pyqt5 pyqt5-dev-tools

Скачиваем и устанавливаем SIP

wget http://sourceforge.net/projects/pyqt/files/sip/sip-4.17/sip-4.17.tar.gz
tar -xzf sip-4.17.tar.gz
cd sip-4.17
sudo python3 configure.py
make
sudo make install

Скачиваем и устанавливаем PyQT5

wget http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/PyQt-gpl-5.5.1.tar.gz
tar -xzf PyQt-gpl-5.5.1.tar.gz
cd PyQt-gpl-5.5.1
sudo python3 configure.py
sudo make
sudo make install

Вот и все. Установка завершена.
Теперь для проверки создадим небольшую программу на Python. Назовем ее pyqt_test.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
 
import sys
from PyQt5.QtWidgets import QApplication, QWidget
 
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
 
    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('PyQT установлен')
    w.show()
 
    sys.exit(app.exec_())



Дадим файлу pyqt_test.py права на исполнение и запустим:

chmod +x pyqt_test.py
./pyqt_test.py

Если мы увидим такой результат, то это значит, что мы все сделали правильно и установили PyQt.



Полезные ссылки: