четверг, 24 ноября 2022 г.

Slackware, unixODBC , MSSQL , Perl , DBI, DBD

0. Установить unixODBC http://www.unixodbc.org/ 

при установке лучше всего не менять параметры по умолчанию, чтобы система сразу подхватила драйвера. То есть не нужно делать ./configure --prefix=/usr/local/unixODBC и ./configure --sysconfdir=/etc. 

./configure

./make 

./make install

 

Дополнение: Для того чтобы в линукс odbc интерфейс мог получать данные из БД в юникоде, нужно у установить DBD::ODBC с поддержкой юникод.

OOn non-Windows platforms Unicode support is disabled by default.
 To enable it specify -u to Makefile.PL when you configure DBD::ODBC.

https://metacpan.org/pod/DBD::ODBC#Enabling-and-Disabling-Unicode-support

You can also specify that you want UNICODE support by setting the DBD_ODBC_UNICODE environment variable prior to install:

export DBD_ODBC_UNICODE=1
cpanm DBD::ODBC



 1. Скачать драйвер с сайта майкрософт для убунту. ODBC linux MSSQL

https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/msodbcsql18/ 

2. deb2tgz перевести в формат слаки и установить

https://www.slackbuilds.org/repository/14.2/misc/deb2tgz/

3. разобраться какие библиотеки требует драйвер в папке /opt/microsoft с помощью ldd

после находим отсутствующие библиотеки через locate,

например locate libodbcinst.so.2

приводит к /usr/local/unixODBC/lib/libodbcinst.so.2 



4. создать символьные линки библиотек в /lib64

  libodbcinst.so.2 => not found

линки создаем обращаем внимание куда попали файлы библиотек после установки unixodbc

так ln -s /usr/local/unixODBC/lib/libodbcinst.so.2 /lib64/libodbcinst.so.2 ,
или так  ln -s /usr/local/lib/libodbcinst.so.2 /lib64/libodbcinst.so.2 

 есть проблемы которые возникают изза разных версий дрйвера odbc от майкрософт,

на виртуалке был скачен драйвер msodbcsql18_18.0.1.1-1_amd64 у которого в зависимостях не было библиотек libcrypt libssl версии 1.0.0.  . На реальной машине с драйвером libmsodbcsql-13.1.so.9.2  есть зависемости которые я не смог разрешить на slack 15. Вариант решения брать опробованный драйвер (https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/msodbcsql18/ ) и снести проблемный.

ln -s /usr/lib64/libcrypto.so.1.1 /lib64/libcrypto.so.1.0.0 
 
odbcinst.ini - после установки драйвера образец будет лежать в папке,
/opt/microsoft/..../etc 
нужно скопировать в папку unixodbc (/usr/local/etc/)
 
[ODBC Driver 18 for SQL Server]
Description=Microsoft ODBC Driver 18 for SQL Server
Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.0.so.1.1

также нужно проверить скрипт на перле, если ругается на DBD::ODBC
odbc.ini  (/usr/local/etc/) тут прописываются DSN
 
[demo]
Driver = ODBC Driver 18 for SQL Server
Description = demo dsn
Server = MAINSTATION\MSQL2019
TrustServerCertificate = yes
Database = Test
User = sa
Password =



 
 
5. создать dsn  , создать описание драйвера odbcinst -j
 

6. тестовый скрипт для проверки связи с сервером



#!/usr/bin/perl -w
use strict;

use DBI;

# Replace datasource_name with the name of your data source.
# Replace database_username and database_password
# with the SQL Server database username and password.
my $data_source = q/dbi:ODBC:demo/;
my $user = q/sa/;
my $password = q/pass/;

# Connect to the data source and get a handle for that connection.
my $dbh = DBI->connect($data_source, $user, $password)
    or die "Can't connect to $data_source: $DBI::errstr";

# This query generates a result set with one record in it.
my $sql = "SELECT 1 AS test_col";

# Prepare the statement.
my $sth = $dbh->prepare($sql)
    or die "Can't prepare statement: $DBI::errstr";

# Execute the statement.
$sth->execute();

# Print the column name.
print "$sth->{NAME}->[0]\n";

# Fetch and display the result set value.
while ( my @row = $sth->fetchrow_array ) {
   print "@row\n";
}

# Disconnect the database from the database handle.
$dbh->disconnect;
 
********************************************
odbc.ini 
 
[demo]
Driver = ODBC Driver 18 for SQL Server
Description = demo dsn
Server = MAINSTATION\MSQL2019
TrustServerCertificate = yes
Database = Test
User = sa
Password = 
********************************************
 
odbcinst.ini - после установки драйвера образец будет лежать в папке,
/opt/microsoft/..../etc 
нужно скопировать в папку unixodbc
 
[ODBC Driver 18 for SQL Server]
Description=Microsoft ODBC Driver 18 for SQL Server
Driver=/opt/microsoft/msodbcsql18/lib64/libmsodbcsql-18.0.so.1.1 
 
 
  
 
 
 
 
 
 






пятница, 11 ноября 2022 г.

Keenetic dhcp bootp pxe

 ip dhcp pool _WEBADMIN_HOME
    range 10.0.1.2 10.0.1.41
    dns-server 10.0.0.103
    lease 25200
    bind Home
    option 66 ascii 10.0.0.1
    option 67 ascii /precise/pxelinux.0
    enable

вторник, 8 ноября 2022 г.

CUPS настройка в Slackware

 Настройка cups.

1, vim /etc/cups/cupsd.conf

+ Port 631

+Allow all


2. Зайти в админку, добавить принтер используя драйвера.

для hp нужно дополнительно установить hp-plugin -i


3. Windows через аплет printers установить принтер по url.

в поле ввести: http://172.16.8.164:631/printers/Samsung_SCX-3200_Series 

это строка установленого принтера, ее можно взять из вебпанели :

 https://192.168.20.116:631/printers/


/*/*/*/*/*/*/

Сканер - 

Установка xsane

which saned

Посмотрим, какие сканеры у нас есть в системе:
scanimage -L

если locate: unexpected EOF reading `/var/lib/mlocate/mlocate.db'

то делаем  "updatedb" as root.

/etc/sane.d/

netstat -plutn

lsof -nP |grep LISTEN

 

In the /etc/inetd.conf file one needs a line

sane-port    stream    tcp    nowait    root.root    /usr/sbin/saned    saned

Be sure to have the following line in your /etc/services file

sane-port          6566/tcp

Afterwards you will have to restart the inetd-daemon

/etc/rc.d/rc.inetd restart

 

nmap -p 6566 192.168.178.10

 

 

Windows sane client - SANEWinDS 

https://sanetwain.ozuzo.net/#download

 

 


Slackware Linux tips

 https://docs.slackware.com/slackware:package_management

Установка программ

Samba - настройка доступа без пароля

 

Samba - настройка доступа без пароля

На самом деле протокол SMB не дает анонимного доступа к файлам и папкам. Он предоставляет два способа авторизации:

  1. Авторизация при сетевом входе на компьютер.
  2. Авторизация при доступе к разделяемому ресурсу (папке, файлу).

Тем не менее, комбинируя параметры Samba и параметры файловой системы можно получить псевдо анонимный доступ - то есть использование сетевых ресурсов без учетной записи пользователя и без пароля.

Если настраивать Самба через файл smb.conf, тогда нужно, в секции [global], указать следующие параметры:

  • security = user
  • map to guest = bad user (или bad password)

В случае значения bad user, при сетевом входе, будет запрошено имя пользователя и пароль. Но их можно указать любые "от фонаря". И тем не менее вход будет выполнен. В случае значения bad password не будет запроса имени пользователя и пароля.

Параметр map to guest указывает Самбе, что всех кто не смог авторизоваться нужно тем не менее впускать в систему, но с правами гостя.

Далее в секции, которая описывает общую папку Linux, нужно указать четыре параметра:

  • [lan]
  • path = /home/user/lan
  • guest ok = yes
  • read only = no
  • create mask = 0777
  • directory mask = 0777

1С УПП , списание административных расходов на финансовый результат

 При проведение месяца, при определение финансовых результатов не формируются проводки: D 801.1  K 721.1 D 801.1  K 721.3