вторник, 23 января 2018 г.

ubuntu, debian pure-ftpd


$ nano ftp.sh

Скопируем из буфера следующий скрипт:

 #!/bin/bash
# Настройка ftp пользователь: test пароль: test
sudo apt install pure-ftpd -y
sudo groupadd ftpgroup
sudo usermod -aG ftpgroup user
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
sudo mkdir /home/user/test
sudo chown -R user:ftpgroup /home/user/test
#sudo pure-pw useradd test -u user -d /home/user/test
# Заведем пользователя ftp test с паролем test
sudo echo -e "test\ntest\n" | sudo pure-pw useradd test -u user -d /home/user/test
sudo pure-pw mkdb
sudo service pure-ftpd restart

Сохранить.
$ chmod +x ftp.sh
$ ./ftp.sh

Как установить Python 3 на Ubuntu 16.04 LTS

python3 -V
3.5.2

Как установить Python 3 на Ubuntu 16.04 LTS

Python wrapper for TA-Lib (http://ta-lib.org/) 

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install python3-pip
$ pip3 install numpy
$ wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
$ tar -xvzf ./ta-lib-0.4.0-src.tar.gz
$ cd ./ta-lib/
$ ./configure --prefix=/usr
make
$ sudo make install
$ pip3 install TA-lib
------------------------------------------
$ pip3 install matplotlib
$ sudo apt install python3-tk
$ sudo apt install python3-openpyx 
MACD 
еще 
Прикручиваем индикатор 
TA-Lib 
 
 
Проверка 
$ screen -S BTC
$ mc
Ctrl + Al + D

$ screen -lst
There is a screen on:
        12997.BTC        (01/24/2018 04:57:51 PM)        (Detached)
1 Socket in /var/run/screen/S-user.

$ screen -r -d 12997
или
$ screen -r BTC

вторник, 16 января 2018 г.

GIMP прозрачный фон

Как сделать прозрачный фон в Gimp
Иногда требуется в документ 1С добавить штамп "Экземпляр ООО ... " с прозрачным фоном в цвете (смотрится очень красиво и люди обращают больше внимания, что это наш экземпляр).
В Linux воспользуемся GIMP:

1. Сканируем в pdf
2. Импортируем в GIMP с разрешением 300 dpi
3. В GIMP выделяем с помощью прямоугольного выделения и копируем в буфер.



4. Файл -> Создать -> Из буфера обмена

Почистить ластиком края изображения:





5. Слой -> Прозрачность -> Цвет в альфа-канал...

Превратить белый цвет в альфа-канал :







6. Файл ->  Экспортировать как -> Изображение PNG (*.png)

7. Созданный файл вставить в документ 1с.




понедельник, 15 января 2018 г.

Игнорирование перенаправления шлюза

Ignoring redirect-gateway

Добавляем в конфигурацию клиента:

route 0.0.0.0 192.0.0.0 net_gateway
route 64.0.0.0 192.0.0.0 net_gateway
route 128.0.0.0 192.0.0.0 net_gateway
route 192.0.0.0 192.0.0.0 net_gateway

Здесь мы просто добавим маршруты, которые переопределяют --redirect-gateway. Это будет работать так же, как и флаг def1 для -redirect-gateway. Это может быть другим, если сервер использует флаг def1 для опции -redirect-gateway или нет (путем проверки журнала при подключении). Обратите внимание: net_gateway является внутренней переменной openvpn и не нуждается ни в каких изменениях. Если вы не знаете, использует ли ваш сервер def1 и не хочет проверять журналы, чтобы понять это, просто предположите, что они используют def1 и используют 4 маршрута.

суббота, 13 января 2018 г.

Windows 10 автозагрузка, автологон

Папка автозагрузки:
Для быстрого доступа к папке Автозагрузка текущего пользователя, запустите диалоговое окно Выполнить (нажав Win+R) и введите команду shell:Startup

Автоматический вход в Windows 10 без ввода пароля

Программа Autologon для Windows (версия 3.10)


пятница, 12 января 2018 г.

Windows 10. Несколько соединений OpenVPN одновременно.

Manual configuration of the TAP-Windows adapter 
Необходимо создать столько адаптеров TAP, сколько возможно разных соединений (одновременных или нет).

Помним, что подсети должны быть разные, например:

10.8.0.X, 10.8.1.X и т.п. !!!


1. Посмотрим адаптеры TAP:
  openvpn --show-adapters


2. Добавим адаптер TAP (от администратора):
 "C:\Program Files\TAP-Windows\bin\addtap.bat"

Добавим столько сколько нужно:





>openvpn --show-adapters
Available TAP-WIN32 adapters [name, GUID]:
'Ethernet 3' {87A61E79-B01E-47EA-8A3B-900EEAE0C706}
'Ethernet 4' {59C051EB-E5DF-4F3D-BBD0-1F37A9B49743}
'Ethernet 2' {86C5EC45-3029-4A92-9AFC-1B60BCF2091F}
'Ethernet 5' {3275574F-2039-45AB-AB52-3E656DA5A425}


Для того что бы не было конфликта, в конфигурационных файлах клиента следует выполнить привязку к конкретному имени адаптера (TAP-Win32 adapter name)

'Ethernet 2', пропускаем для непривязанных.

Пример изменений в конфигурационном файле клиента:


c:\Program Files\OpenVPN\config\client.ovpn


# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap
dev-node 'Ethernet 3'

Сохранить.

После запуска будет сообщение в логе:


Wed May 08 16:30:19 2019 NETSH: C:\WINDOWS\system32\netsh.exe interface ip set address Ethernet 3 dhcp


Каждое соединение привязываем к своему адаптеру!

вторник, 2 января 2018 г.

Настройки ubuntu 16.04


SSH Instructions

пароль miner1
 

Узнать ip в локальной сети:
windows cmd:
> arp -a

Настройка $nvOC без монитора с LOCALorREMOTE="REMOTE"
не лучший вариант, выяснилось что при первом включении не монтируется
флешка, а значит не происходит первый запуск. Тем не менее запустить можно и даже работает. Заодно и другие настройки.

1. sudo apt install mc

2. Монтирование флешки
$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Jan  9 11:54 12D3-A869 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jan  9 11:54 d00dd3f0-c60a-48fc-8ad8-aaec39dffcf4 -> ../../sda2

$ sudo nano /etc/fstab
Добавить:
UUID=12D3-A869 /media/m1/12D3-A869 auto errors=remount-ro 0 0
Сохранить.

$ sudo ./2unix

Ctrl + C
Будет перезагрузка.

3. Изменить timezona
sudo dpkg-reconfigure tzdata

3. Включить журналирование (предыдущих загрузок)
$ sudo nano /etc/systemd/journald.conf
...
[Journal]
Storage=persistent
 
Сохранить.
 
$ sudo systemctl status systemd-journald
$ sudo systemctl start systemd-journald
$ sudo systemctl stop systemd-journald stops the service.
$ sudo systemctl restart systemd-journald restarts the service.
$ sudo systemctl daemon-reload 
 
Или просто
 
$ sudo reboot
 
Просмотреть список предыдущих загрузок можно с помощью команды:

$ sudo journalctl --list-boots
-4 7e4b4a292e224c4b91f75dd3d5e27f90 Wed 2017-04-26 11:41:00 MSK—Wed 2017-04-26 13:14:40 MSK
-3 67b91d39230143d38896bff6cfa275b5 Wed 2017-04-26 13:25:21 MSK—Wed 2017-04-26 14:17:01 MSK
-2 83a94b9974f543089777590f34880167 Wed 2017-04-26 14:51:49 MSK—Wed 2017-04-26 15:36:54 MSK
-1 9f98d47a66b84952ba5ef9d9c7ed0ccd Wed 2017-04-26 15:37:14 MSK—Wed 2017-04-26 15:37:56 MSK
 0 dab2faae33b8461aba00f0a7dac9f2c2 Wed 2017-04-26 15:41:34 MSK—Wed 2017-04-26 15:42:58 MSK
 
Просмотр предыдущей загрузки 
# journalctl -b -1
 
4. Screen
GNU Screen: введение для чайников 
 
Список screen : 
$ screen -list
$ screen -lst 
 
 
Переключение на screen : 
$ screen -r miner 
 
пароль miner1
 
Создние нового экрана
$ screen -S sql
   
 
Отключение screen :
Ctrl + A + D

5. Настройка статического адреса сервера:

$ sudo cp /etc/network/interfaces /etc/network/interfaces.bak
$ sudo nano /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# Моя проводная сеть.
iface enp9s0 inet static
address 192.168.1.13
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1 8.8.8.8
auto enp9s0

Сохранить.

# отключим сетевой менеджер
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service

# перезагрузим сеть
$ sudo systemctl start networking.service
$ sudo systemctl enable networking.service

$ sudo reboot



6. OpenVPN

Сервер что то наподобее, без маршрутизации интернета:
Начальная настройка сервера OpenVPN c Ubuntu 16.04 хостера DO
Установка клиента OpenVPN ubuntu 16.04 desktop

$ sudo apt-get install openvpn -y

Кладем /home/m1/clien9.ovpn по csp (DO)
Переименуем:
!!!$ sudo mv /home/m1/client10.ovpn /etc/openvpn/client.conf
$ sudo cp  /media/m1/12D3-A869/client12.ovpn /etc/openvpn/client.conf
!!!$ sudo cp  /home/m1/client12.ovpn /etc/openvpn/client.conf
$ sudo nano /etc/openvpn/client.conf
!!!$ sudo service openvpn status
!!!$ sudo service openvpn restart
!!!$ sudo service openvpn status
!!!Ручной запуск:
!!!# cd /etc/openvpn
!!!# openvpn --config /etc/openvpn/client.conf
!!!# wget -O - -q icanhazip.com
Автозапуск:
$ sudo nano /etc/default/openvpn
Раскоментировать:
# AUTOSTART="all"
AUTOSTART="all"
Сохранить.

Серврер будет по ssh 10.8.0.13

Узнать внешний ip
$ wget -O - -q icanhazip.com

$ sudo apt install traceroute
$ traceroute -n  eu1.ethermine.org
$ ping eu1.ethermine.org

Перезапуск при падении 
 
$ sudo su - root
# mkdir /etc/scripts/
# nano /etc/scripts/openvpn.sh 
Вставитьв файл: 
#!/bin/bash
# Проверка OpenVPN соединения
ping -c 1 10.8.2.1 || service openvpn stop && service openvpn start
Сохранить:
# chmod +x /etc/scripts/openvpn.sh 
# nano /etc/crontab 
Добавить в конец
*/5 *  *  *  *   root    /etc/scripts/openvpn.sh
 
И теперь каждые 5 мин будет проверяться наличие канала,
и если его нет, то происходит попытка его поднятия.


7. Увеличение раздела
$ sudo parted
(parted) help
(parted) print
Так будет в оргигинале


(parted) print free
(Я уже увеличил до 32 GB)


Подумал, что нужно увеличить еще:
(parted) resizepart 2


(parted) print


$ sudo resize2fs /dev/sda2
$ df -h

8.  Добавим swap file 32G to an Ubuntu 16.04:
$ sudo fallocate -l 32G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ sudo cp /etc/fstab /etc/fstab.bak
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
$ sudo reboot


9. Настройка Xorg
Проверка: 

$ nvidia-smi


$ sudo rm /etc/X11/xorg.conf

$ sudo nvidia-xconfig -a --allow-empty-initial-configuration --cool-bits=28 --use-display-device="DFP-0" --connected-monitor="DFP-0"

или 

$ sudo nvidia-xconfig -a --allow-empty-initial-configuration --cool-bits=31 --use-display-device="DFP-0" --connected-monitor="DFP-0" --enable-all-gpus --separate-x-screens

$ sudo reboot

$ nvidia-smi



Disable apt auto update and upgrade
$ sudo systemctl stop apt-daily.timer
$ sudo systemctl disable apt-daily.timer
$ sudo systemctl disable apt-daily.service
$ sudo systemctl daemon-reload

Были сообщения:
Jan  9 23:57:07 m1-desktop systemd-logind[756]: New session c1 of user m1.
Jan  9 23:57:07 m1-desktop gnome-keyring-daemon[1081]: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory

Лечил:
$ sudo apt purge gnome-keyring

Ручной тюнинг:

$ sudo nvidia-smi -pl 80
$ sudo nvidia-settings -a /GPUMemoryTransferRateOffset[3]=1500
$ sudo nvidia-settings -a [gpu:8]/GPUMemoryTransferRateOffset[3]=1400

Temperature control thread hangs, need to restart miner!


понедельник, 1 января 2018 г.

CentOS 7.4 установка PostgreSQL 9.6.6 от 1С

Установка CentOS 7.4.1708
CentOS 7.5 установка PostgreSQL, версия 9.6.7-1.1C
Новая статья CentOS 7.5 1С:Предприятие 8.3.13.1513 PostgreSQL, версия 10.3-3.1C

CentOS-7-x86_64-NetInstall-1708.iso
Репозитарий
http://mirror.yandex.ru/centos/7.4.1708/os/x86_64/



Не забыть включить сеть!
Узнать сетевой адрес
$ ip addr
Зайдем с помощью MobaXterm по ssh
$ sudo yum -y update
$ sudo yum -y install epel-release
$ sudo yum -y install nano mc wget ssh
$ sudo yum -y install net-tools

Настройка сети
Сетевые настройки в CentOS 7

Узнать имя адаптера
$ ip addr

В примере "enp0s3"
 
Для "enp0s3"
!!!$ sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
 $ sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s3

 Отредактировать:

TYPE="Ethernet"
PROXY_METHOD="none"
DNS1="192.168.0.1"
IPADDR0="192.168.0.62"
PREFIX0=24
GATEWAY0="192.168.0.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"

NAME="enp0s3"
UUID="4618daee-efba-4ae1-97ad-c1dcc03078dc"
DEVICE="enp0s3"
ONBOOT="yes"

Сохранить.

$ netstat -tulnp

Посмотрим, что использует ip6

Отключим ip6

$ sudo nano /etc/sysctl.conf

Добавим в конец:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Сохранить.



$ sudo nano /etc/hostname

Изменить имя

centos

Сохранить.

Вписываем имя хоста (centos) в /etc/hosts:
$ sudo cp /etc/hosts /etc/host.bak

$ sudo nano /etc/hosts

Изменить:

127.0.0.1   localhost
192.168.0.62 centos

Сохранить.

Вписываем (проверяем) имя хоста в /etc/sysconfig/network:

$ sudo nano /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=centos

Сохранить.
$ sudo service network restart
$ ping centos

Настроим netbios name centos

$ sudo yum -y install samba samba-client samba-common
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo nano /etc/samba/smb.conf

Вносим изменения:

[global]
        workgroup = WORKGROUP
        server string = Samba Server %v
        netbios name = centos
        security = user
        map to guest = bad user
        dns proxy = no
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

Добавляем:

[files]
        path = /files
        browsable =yes
        writable = yes
        guest ok = yes
        read only = no

Сохраняем.

Перезапускаем службы:

$ sudo mkdir -p /files
$ sudo chmod -R 2777 /files

$ sudo systemctl enable smb.service
$ sudo systemctl enable nmb.service
$ sudo systemctl restart smb.service
$ sudo systemctl restart nmb.service

!!!Откроем сетевой экран:
!!!# firewall-cmd --permanent --zone=public --add-service=samba
!!!# firewall-cmd --reload

Наша цель что бы сервер откликался по имени, детальная настройка samba по ссылке:
Анонимный доступ средствами samba

Отключить firewall centos 7
Отключаем файрволл (сервер внутри сети, в угоду простоте не будем заморачиваться):
$ sudo systemctl status firewalld
$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

Отключаем SELinux — в файле /etc/sysconfig/selinux присваиваем параметру SELINUX флаг disabled:
$ sudo nano /etc/sysconfig/selinux
SELINUX=disabled
Сохранить.
$ sudo poweroff

Создаем образ centos.ova (существующий образ без выделенного красным)

Зайдем с помощью MobaXterm по ssh
!!!$ sudo yum -y install readline
???$ sudo yum -y install libtermcap
!!!$ sudo yum -y install krb5-libs
!!!$ sudo yum -y install openssl
!!!$ sudo yum -y install libicu50

$ sudo yum -y install libicu-devel
$ sudo yum -y install bzip2
$ cd /files
$ tar -xvf  postgresql_9.6.6_1.1C_x86_64_rpm.tar.bz2
$ cd  postgresql-9.6.6-1.1C_x86_64_rpm
$ sudo yum localinstall -y *.rpm
$ cd /files
$ tar -xvf  postgresql_9.6.6_1.1C_x86_64_addon_rpm.tar.bz2
$ cd postgresql-9.6.6-1.1C_x86_64_addon_rpm
$ sudo yum localinstall -y *.rpm
$ cd /files
$ sudo su - postgres
-bash-4.2$ /usr/pgsql-9.6/bin/initdb -D /var/lib/pgsql/9.6/data --locale=ru_RU.UTF-8
-bash-4.2$ /usr/pgsql-9.6/bin/pg_ctl -D /var/lib/pgsql/9.6/data -l logfile start
-bash-4.2$ /usr/pgsql-9.6/bin/psql
postgres=# ALTER USER postgres WITH PASSWORD 'pass'
postgres=# \q
-bash-4.2$ psql -l
-bash-4.2$$ exit
$ sudo reboot

$ sudo service postgresql-9.6 start
$ sudo chkconfig postgresql-9.6 on
$ sudo service postgresql-9.6 status

$ netstat -tunpl | grep 5432

Добавляем необходимые шрифты и прочие утилиты:

Get Microsoft's Core Fonts for the Web and Cleartype Fonts

$ sudo yum -y install xorg-x11-fonts-Type1 xorg-x11-fonts-truetype
$ sudo yum install -y curl cabextract xorg-x11-font-utils fontconfig
$ sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

 Для 1с
$ sudo yum -y install ImageMagick glib2-devel unixODBC libmspack

Используя  samba положим 8.3.10.2650  в /files

$ cd /files
$ tar xvzf server.rpm64.tar.gz
$ sudo yum localinstall *.rpm
$ sudo chown -R usr1cv8:grp1cv8 /opt/1C
Зададим пароль pass
$ sudo passwd usr1cv8
Запустим сервер
$ sudo service srv1cv83 start
$ sudo chkconfig srv1cv83 on

Чтобы сервер srv1cv83 автозагружался:
$ sudo nano /etc/init.d/srv1cv83

Добавим в начало строчку:
#!/bin/sh

Сохранить.
$ sudo reboot

$ sudo service srv1cv83 status

$ sudo netstat -tlnp | grep :15


Столкнулся с шаманством не запускался ragent
По ссылке ниже помогло
Проблема запуска 1С-сервера под CentOS Linux 6.х

Если сервер всеже не будет загружаться:
$ sudo rm -R /home/usr1cv8/.1cv8
$ sudo reboot
 
$ sudo poweroff

Создаем образ cpost1c.ova


Копировать postgresql.conf
$ sudo cp /var/lib/pgsql/9.6/data/postgresql.conf  /var/lib/pgsql/9.6/data/postgresql.conf.bak
!!!sudo cp /var/lib/pgsql/9.6/data/postgresql.conf.bak  /var/lib/pgsql/9.6/data/postgresql.conf
$ sudo cp /var/lib/pgsql/9.6/data/postgresql.conf  /var/lib/pgsql/9.6/data/postgresql.conf.bak-1

Пример  postgresql.conf  для 32 Gb RAM
$ sudo nano /var/lib/pgsql/9.6/data/postgresql.conf

Заменить:

#----------------------------------------------------------------------
listen_addresses = '*'        # what IP address(es) to listen on;
dynamic_shared_memory_type = posix    # the default is the first option
log_destination = 'stderr'        # Valid values are combinations of
log_rotation_age = 1d            # Automatic rotation of logfiles will
datestyle = 'iso, dmy'
timezone = 'W-SU'
lc_messages = 'ru_RU.UTF-8'            # locale for system error message
lc_monetary = 'ru_RU.UTF-8'            # locale for monetary formatting
lc_numeric = 'ru_RU.UTF-8'            # locale for number formatting
lc_time = 'ru_RU.UTF-8'                # locale for time formatting
default_text_search_config = 'pg_catalog.russian'
#----------------------------------------------------------------------
effective_cache_size = '12288MB'
work_mem = '32MB'
shared_buffers = '12288MB'
maintenance_work_mem = '512MB'
temp_buffers = '32MB'
#temp_tablespaces = 'user_temp'
max_files_per_process = '24576'
autovacuum_max_workers = '4'
autovacuum_analyze_scale_factor = '0.01'
autovacuum_vacuum_scale_factor = '0.02'
random_page_cost = '1.5'
log_statement = 'none'
#----------------------------------------------------------------------
log_filename = 'postgresql-%Y-%m-%d.log'
log_rotation_size = '0'
log_timezone = 'W-SU'
log_truncate_on_rotation = 'on'
logging_collector = 'on'

shared_preload_libraries = 'online_analyze, plantuner, auto_explain'

online_analyze.enable = off
online_analyze.verbose = off
online_analyze.table_type = 'temporary'
online_analyze.scale_factor = 0.3
online_analyze.min_interval = 10000
online_analyze.threshold = 500
online_analyze.local_tracking = on


cpu_operator_cost = 0.0005
plantuner.fix_empty_table = on

autovacuum_naptime = '20' # s
#autovacuum_analyze_threshold = 20

bgwriter_delay = '10' # ms
bgwriter_lru_maxpages = '800'
bgwriter_lru_multiplier = '8'

# storage specific
effective_io_concurrency = '2'
random_page_cost = '2'

checkpoint_completion_target = 0.9
#checkpoint_segments = '128'
max_connections = '1000'

synchronous_commit = 'off'
commit_delay = '1000'

# 1C specific
escape_string_warning = 'off'
standard_conforming_strings = 'off'
max_locks_per_transaction = '256'
#work_mem = 65536

# pgbadger

log_directory = 'pg_log'
#log_directory = '/var/log/pgsql'
#log_filename = 'postgresql.log'
log_min_duration_statement = 0s
log_autovacuum_min_duration = 0
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0

# backup
max_wal_senders = 4
wal_level = hot_standby
wal_keep_segments = 1024
#----------------------------------------------------------------------

Сохранить.

$ sudo reboot