Моят личен и професионален живот

Показват се публикациите с етикет Slackware. Показване на всички публикации
Показват се публикациите с етикет Slackware. Показване на всички публикации

2020-05-23

Честит 25-ти Рожден Ден MySQL!

Днес, 23-ти Май 2020 г., MySQL навършва 25 години. За първи път се запознах с него по време на университетските ми години докато търсех безплатна и отворена релационна СУБД, за да уча и експериментирам с SQL. И го използвам от тогава. Така следвах развитието на "Най-популярната база данни с отворен код в света" през последните около 20 години от версии 3.2x насам. Годишнината е голяма. И така, какво означава MySQL за мен?
  • Първо и най-важно, MySQL е релационната (и не само) база от данни която избирам за личните ми и професионални проекти. За мен е лесно да измислям нови схеми на бази от данни в термините на MySQL и проектирам нови системи върху MySQL като система за бази от данни;
  • MySQL става все по-добър и по-добър с годините, което задържа интереса ми. Все още помня пристигането на:
    • 4.0 (със поддръжка на обединения, т.н.),
    • после 4.1 (подзаявки и подготвени изрази, т.н.),
    • после 5.0 (съхранени процедури, спусъци и изгледи, разпределени транзакции, т.н.),
    • после 5.1 (разделяне на таблица на дялове, XML и планировчик на събития, т.н),
    • после 5.5 (SIGNAL и RESIGNAL, PERFORMANCE_SCHEMA),
    • после 5.6 (пълнотекстово търсене за InnoDB, т.н.),
    • после 5.7 (JSON, именувани тригери, създавани колони, подсказки за оптимизатор, т.н.),
    • и по-скоро 8.0 (CTEs, прозоречни функции, подобрения по регулярни изрази, функция GROUPING, склад за документи, CHECK ограничения, LATERAL, функционални части на ключове и изрази по подразбиране и още много, много повече);
  • Изграждам MySQL сървър (и други продукти) за Slackware Linux от 2005 г., защото първоначално имах нужда от по-нови версии от предоставяните от официалното хранилище, а след това, защото Slackware превключи към MariaDB през 2013 г., но аз избрах да остана с MySQL. Това не значи, че не ползвам MariaDB въобще и в някои отношения вярвам, че е напред;
  • Докладвам бъгове на MySQL и свързани продукти, за да получа решение на проблемите (виж историята на някои от моите бъг доклади);
  • Пиша за MySQL през последните 2 години от излизането на MySQL 8.0, което ми помага да се запозная с новите възможности;
  • Също така представям MySQL от време на време, което ми помага да взаимодействам в обществото, да се уча и обменям идеи с по-опитните от мен;
  • Накрая, но определено не на последно място, има страхотно и много силно общество около MySQL, с което имах шанса да взаимодействам повече в последните 3 години. Това е което прави MySQL проекта силен толкова много години.
Казано просто MySQL е много повече от база данни за мен. MySQL беше с мен през значителна част от живота ми до сега и ме прави щастлив да виждам как базата продължава да се развива. Продължавам да смятам, че по-добрата поддръжка на SQL стандарта и новите възможности за разработчици трябваше да пристигнат по-рано, но по-добре късно отколкото никога. Също така разработката може да бъде по-отворена, но съм уверен, че бъдещето е отворено и светло.

За следващите 25 години и по-нататък! Честит рожден ден MySQL! Наздраве на всички, които използват и обичат MySQL!

    2019-01-15

    Трябва ли Slackware да въведе systemd?

    Две скорошни събития ме накараха да напиша тази публикация. Първото беше потребител в групата LinuxSlackware във Facebook, който благодареше на Patrick, че не е преминал към systemd. Второто беше скорошен случай където нощната работа на едно приложение пускаше твърде много тежки процеси на един MySQL 8 сървър под RHEL 7, което доведе до изчерпване на паметта и неотговаряща услуга. Във втория случай systemd действа да убие mysqld процеса и да го пусне отново, така че услугата беше възстановена и приложението поне можеше да продължи да работи.

    Сега, първото събитие е просто израз на мнение на потребител, което аз, като дългогодишен потребител на Slackware, мога да разбера, защото става въпрос за нещо, с което сме свикнали. То е просто и работи поне за повечето неща.

    Обаче, второто събитие ме накара да се замисля, че под Slackware това нямаше да се случи, освен ако не си го направите сами някак си. Въпросът е дали си заслужава, когато вече е направено и работи добре на всички други Линукси, които използвам?

    2018-06-12

    Време ли е за Slackware 15?

    Последната версия на Slackware (14.2) се появи преди почти 2 години и надгради много пакети, но нещата се движат по-бързо в днешно време, така че просто се чудя не е ли време за нова версия? Аз следя -current, така че виждам някои забележителни промени и надграждания, които се събират там, включително:
    • Основна система:
      • Linux Kernel 4.14 LTS;
      • GNU C Library 2.27;
    • Сървъри:
      • Postfix 3.3 (заменя Sendmail като MTA) и Dovecot 2.3 (заменя imapd като IMAP демон);
      • Apache 2.4.33 (с HTTP/2 поддръжка);
      • ProFTPD 1.3.6 (с mod_sftp и mod_facl поддръжка);
      • Samba 4.6;
      • MariaDB 10.3.7 (много яко като се има в предвид както писах за новите функционалности);
      • Bind 9.11, dhcp 4.3.4, ntp 4.2.8p11 (вече вървящ като ntp:ntp);
    • Разработка:
      • GNU's Compiler Collection 7.3 и LLVM 6.0;
      • Perl 5.26, PHP 7.2, Python 3.6, Ruby 2.5 и Rust 1.26;
      • Git 2.17 и Mercurial 4.5;
    • GUI:
      • X.Org 1.20;
      • KDE 4.14.36 (надявах се на Plasma 5.x въпреки това);
      • SeaMonkey 2.49, Firefox 59.0 и Thunderbird 52.8;
      • GTK+ приложения като Pidgin 2.13, Gimp 2.10, и т.н..
    Има 66 нови пакета общо като сред тях са FFmpeg 3.4, нови библиотеки като opus, lame, libbluray, speex, id3lib, libwebp и различни Python модули (напр. docutils, idna и six), които вече имам на SlackPack. Забелязах също SDL2 библиотеката, която нямам и което е страхотно, защото някои пакети вече имат нужда от нея.
    Като цяло има много нови пакети които очаквах като Postfix, Dovecot, Python 3, MariaDB 10.3, GCC 7.3 и др., които ще направят страхотна нова версия която и когато и да бъде тя. Единственото разочарование за мен е, че KDE още е 4.14 и Qt 4.8, a някои приложения вече се нуждаят от KDE 5 и Qt 5 (напр. като KDESvn, cppcheck's GUI, и др.). Пакета pkgtools вече е 15.0 в -current, така че време ли е за Slackware 15?

    2018-05-30

    Първи опити с надграждане на място от MySQL 5.7 до MySQL 8.0

    Писах преди, че надграждането на място не е възможно от MySQL 8.0.4 към 8.0.11, но то официално се поддържа между GA версите (но не и през MySQL Installer - виж #90619 и по-скоро #79315). Така че днес направих първите си опити за мигриране на моя MySQL 5.7 сървър до MySQL 8.0 чрез копиране на данните и конфигурацията в Slackware виртуална машина. Да започваме...
    • Първи опти:
    2018-05-30T16:42:28.485076Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.11) starting as process 18078
    2018-05-30T16:42:28.727435Z 1 [ERROR] [MY-012526] [InnoDB] InnoDB: Upgrade after a crash is not supported. This redo log was created with MySQL 5.7.22. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading.html
    2018-05-30T16:42:28.727509Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
    2018-05-30T16:42:29.228125Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
    2018-05-30T16:42:29.228520Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
    2018-05-30T16:42:29.228554Z 0 [ERROR] [MY-010119] [Server] Aborting
    2018-05-30T16:42:29.235976Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.11)  Source distribution.


    Е, наистина си опитах шансовете просто копирайки папката с данни на работещия MySQL 5.7 сървър :-)

    Решение: Да се направи чисто копие на папката с данните при спрян сървър.
    • Втори опит:
    2018-05-30T16:53:06.475573Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.11) starting as process 18236
    2018-05-30T16:53:08.332393Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001287 - 'validate password plugin' is deprecated and will be removed in a future release. Please use validate_password component instead
    InnoDB MEMCACHED: Memcached uses atomic increment
     InnoDB_Memcached: Unable to open table 'innodb_memcache/containers'
     InnoDB_Memcached: Please create config table'containers' in database 'innodb_memcache' by running 'innodb_memcached_config.sql. error Table not found'
    Failed to initialize instance. Error code: 13
    2018-05-30T16:53:13.256478Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
    2018-05-30T16:53:13.257272Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Address already in use
    2018-05-30T16:53:13.257283Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?

    2018-05-30T16:53:13.257298Z 0 [ERROR] [MY-010119] [Server] Aborting
     InnoDB_Memcached: Memcached plugin is still initializing. Can't shut down it.
    2018-05-30T16:53:29.161133Z 0 [Warning] [MY-011068] [Server] The syntax 'validate password plugin' is deprecated and will be removed in a future release. Please use validate_password component instead.
    2018-05-30T16:53:30.304586Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.11)  Source distribution.


    Разбира се, имам друг MySQL 8.0 сървър слушащ на порт 3306, така че нека оправя конфигурацията.

    Решение: Смяна на port в конфигурационния файл.
    • Трети опит:
    2018-05-30T17:04:57.144549Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.11) starting as process 18571
    2018-05-30T17:04:57.523116Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001287 - 'validate password plugin' is deprecated and will be removed in a future release. Please use validate_password component instead
    2018-05-30T17:04:57.630947Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
    2018-05-30T17:04:57.633668Z 0 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001146 - Table 'mysql.component' doesn't exist
    2018-05-30T17:04:57.633699Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-003543 - The mysql.component table is missing or has an incorrect definition.
    2018-05-30T17:04:57.633776Z 0 [ERROR] [MY-011071] [Server] unknown option '--secure-auth'
    2018-05-30T17:04:57.633787Z 0 [Warning] [MY-010952] [Server] The privilege system failed to initialize correctly. If you have upgraded your server, make sure you're executing mysql_upgrade to correct the issue.
    2018-05-30T17:04:57.633840Z 0 [ERROR] [MY-010119] [Server] Aborting
    2018-05-30T17:04:58.636827Z 0 [Warning] [MY-011068] [Server] The syntax 'validate password plugin' is deprecated and will be removed in a future release. Please use validate_password component instead.


    Даа, речника на данните все още не е надграден, но за това ми трябва работещ сървър а има още и грешка за непозната конфигурационна директива.

    Решение: Премахване на secure-auth директивата от конфигурационния файл, защото беше премахната в 8.0.3 (виж още бележките към версията).
    • Четвърти опит:
    2018-05-30T17:06:21.153201Z 0 [ERROR] [MY-011071] [Server] unknown variable 'max_tmp_tables=64'

    Решение: Също като отгоре. Премахване на max_tmp_tables директивата от конфигурационния файл.
    • Пети опит:
    2018-05-30T17:10:36.750614Z 0 [ERROR] [MY-011071] [Server] unknown variable 'query_cache_type=1'

    Дам, забравих, че кеша на заявките е премахнат също...

    Решение: Премахване на query_cache_type и query_cache_size директивите от конфигурационния файл, тъй като Query Cache беше премахнат в MySQL 8.
    • Шести опит:
    2018-05-30T17:11:18.941821Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.11) starting as process 18803
    2018-05-30T17:11:19.333818Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
    2018-05-30T17:11:19.335972Z 0 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001146 - Table 'mysql.component' doesn't exist
    2018-05-30T17:11:19.336010Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-003543 - The mysql.component table is missing or has an incorrect definition.
    2018-05-30T17:11:19.348988Z 0 [Warning] [MY-010929] [Server] Storage engine 'MyISAM' does not support system tables. [mysql.user].
    2018-05-30T17:11:19.349014Z 0 [Warning] [MY-010929] [Server] Storage engine 'MyISAM' does not support system tables. [mysql.db].
    2018-05-30T17:11:19.349020Z 0 [Warning] [MY-010929] [Server] Storage engine 'MyISAM' does not support system tables. [mysql.tables_priv].
    2018-05-30T17:11:19.349026Z 0 [Warning] [MY-010929] [Server] Storage engine 'MyISAM' does not support system tables. [mysql.columns_priv].
    2018-05-30T17:11:19.349031Z 0 [Warning] [MY-010929] [Server] Storage engine 'MyISAM' does not support system tables. [mysql.procs_priv].
    2018-05-30T17:11:19.349035Z 0 [Warning] [MY-010929] [Server] Storage engine 'MyISAM' does not support system tables. [mysql.proxies_priv].

    2018-05-30T17:11:19.352944Z 0 [ERROR] [MY-013143] [Server] Column count of mysql.user is wrong. Expected 49, found 45. The table is probably corrupted
    2018-05-30T17:11:19.352980Z 0 [Warning] [MY-010966] [Server] ACL table mysql.role_edges missing. Some operations may fail.
    2018-05-30T17:11:19.352987Z 0 [Warning] [MY-010966] [Server] ACL table mysql.default_roles missing. Some operations may fail.
    2018-05-30T17:11:19.352992Z 0 [Warning] [MY-010966] [Server] ACL table mysql.global_grants missing. Some operations may fail.
    2018-05-30T17:11:19.352997Z 0 [Warning] [MY-010966] [Server] ACL table mysql.password_history missing. Some operations may fail.

    2018-05-30T17:11:19.353420Z 0 [ERROR] [MY-010965] [Server] Missing system table mysql.global_grants; please run mysql_upgrade to create it.
    2018-05-30T17:11:19.365069Z 0 [Warning] [MY-010727] [Server] System table 'func' is expected to be transactional.
    2018-05-30T17:11:19.366847Z 0 [Warning] [MY-010405] [Repl] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.

    2018-05-30T17:11:19.366874Z 0 [ERROR] [MY-010422] [Repl] Error in checking mysql.slave_master_info repository info type of TABLE.
    2018-05-30T17:11:19.368238Z 0 [ERROR] [MY-010415] [Repl] Error creating master info: Error checking repositories.
    2018-05-30T17:11:19.368273Z 0 [ERROR] [MY-010426] [Repl] Slave: Failed to initialize the master info structure for channel ''; its record may still be present in 'mysql.slave_master_info' table, consider deleting it.

    2018-05-30T17:11:19.368280Z 0 [ERROR] [MY-010529] [Repl] Failed to create or recover replication info repositories.
    2018-05-30T17:11:19.373821Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.11'  socket: '/var/lib/mysql/mysqld57.sock'  port: 3316  Source distribution.


    Успех! Сървъра вече работи, но очевидно има нужда от надгражане, защото има или липсващи системни таблица или такива още на MyISAM. Обаче, не трябва ли това да стане автоматично? Поне оставам с такова впечатления четейки стъпка 8 за In-Place Upgrade в наръчника. Както и да е, стъпка 9 е пускане на mysql_upgrade, така че след пускане на командата грешките в журнала изчезват.

    Разбира се, просто си играех, но поне сега имам конфигурационен файл готов за 8.0 и проверих процедурата за надграждане за моя случай. Обаче, трябва да проверя също съвместимостта на приложенията си, така че истинското надграждане ще стане по-нататък.

    P.S. Готин начин за проверка на проблеми с конфигурацията е описан в How to check MySQL Config files от Петър Зайцев.

    2014-07-27

    Използване на InfoNotary сертификат на OmniKey CardMan 6121 под Slackware

    Резюме

    Тази малка статия описва инсталацията и конфигурацията на четец на карти OmniKey  CardMan 6121 под Slackware, което позволява използването на квалифициран електронен подпис на InfoNotary за електронно банкиране.

    Подготовка

    Пъхнете устройството в USB порт на вашия компютър, след като бъде разпознато от ядрото в изхода на командата lsusb трябва да откриете следното:

    Bus 001 Device 028: ID 076b:6622 OmniKey AG CardMan 6121

    Инсталиране на драйвери за устройството

    Производителят на устройството предлага двоични драйвери за CardMan 6121 и други четци.

    Ръчна инсталация

    Изтеглете архива с драйвера и го разопаковайте във временна папка, след това пуснете
    инсталиращия скрипт, например в Slackware64 14.1:
    # cd /tmp
    # wget 'http://www.hidglobal.com/sites/hidglobal.com/files/drivers/ifdokccid_linux_x86_64-v4.0.5.4.tar.gz'
    # tar -xvf ifdokccid_linux_x86_64-v4.0.5.4.tar.gz
    # cd ifdokccid_linux_x86_64-v4.0.5.4
    # ./install
    

    Автоматична инсталация

    Предлага се пакет от SlackPack хранилищата за различни версии на Slackware наречен pcsc-omnikay, така че другата възможност е да ползвате инструмента slapt-get, след като конфигурирате SlackPack хранилищата и тогава просто да изпълните следната команда:

    # slapt-get --install pcsc-omnikey

    Инсталация на необходим софтуер

    Нуждаете се от PC/SC Lite посредник за достъп до смарт картата използвайки SCard API (стандарт PC/SC), за пакети могат да бъдат намерени в SlackPack хранилищата за различни Slackware версии. Също така се нуждаете от OpenSC инструменти и библиотеки за работа със смарт карти които се използват в Firefox и Thunderbird. Пакети мога да бъдат намерени от същото място.

    Ръчна инсталация

    Изтеглете пакетите във временна папка, сдобийте се с root права и въведете следните команди, за да ги инсталирате, например в Slackware64 14.1:
    # installpkg pcsc-lite-1.8.11-x86_64-1gds.txz
    # installpkg opensc-0.14.0-x86_64-1gds.txz
    

    Автоматична инсталация

    Другояче, можете да използвате инструмента slapt-get, след като конфигурирате SlackPack хранилищата и тогава просто да изпълните следната команда:

    # slapt-get --install pcsc-lite opensc

    Демона на PC/SC Lite от пакета идава заедно със скрипт за пускане/спиране, така че можете да го пуснете просто със следната команда:

    # /etc/rc.d/rc.pcscd start

    Ако искате демона да се пуска автоматично със зареждането на системата, тогава просто го добавете към местния инициализиращ скрипт ето така:

    # echo '/etc/rc.d/rc.pcscd start' >> /etc/rc.d/rc.local

    Конфигурация на Firefox

    След като драйвера и необходимия софтуер са инсталирани остава само да настроите Firefox, така че да може да общува с четеца на карти. Това става по следния начин:
    1. Отворете Инструменти -> Настройки;
    2. В прозореца Настройки на Firefox се придвижете до Разширени и след това раздел Сертификати;
    3. Щракнете върху бутона Устройства по безопасността;
    4. В прозореца Управление на устройства, който се отваря, щракнете върху бутона Зареждане отдясно;
    5. Въведете "OpenSC PKCS#11 Module" в Име на модула и изберете файла
      /usr/lib64/onepin-opensc-pkcs11.so като Файл на модула, след това
      щракнете върху Добре;

    След като модула е зареден в прозореца Управление на устройства се вижда информация за четеца:

    Виж също

    2007-02-01

    Пуснах SlackPack (най-накрая)

    След дълго отлагане най-накрая пуснах SlackPack - сайта за Slackware пакетите ми. Сайта е изцяло написан на Perl с използването на Template и е по подобие на популярния софтуер за следене на бъгове - Bugzilla. Естествено идеята е доста по-различна - система за управление на Slackware пакети и хранилища. За момента обаче системата е по-скоро представителна, защото администраторската част въобще не е готова. Единствено потребителската част, която представя пакетите и дава възможност да бъдат изтеглени работи и е достъпна публично. За момента SlackPack ще предлага на потребителите си:
    • пълна информация за пакетите;
    • възможност за преглед на съдържанието им;
    • възможност за изтегляне;
    • възможност за автоматизирано обновяване на система от хранилищата;
    • бързо търсене, разширено търсене и разглеждане на пакетите по версия на Slackware или категория;
    • винаги актуални емисии, създавани на момента.
    За съжаление в момента сайта е само на английски, но се надявам в скоро време да го локализирам на български, защото една голяма част от пакетите ми са локализирани на български и не желая да създавам затруднения на потребителите, които не ползват английски. Имам и още много интересни идеи за развитие на сайта, но всичко е въпрос на бъдеще и достатъчно свободно време. Надявам се сайта да се хареса както на професионалисти, така и на ентусиасти работещи с една от най-добрите дистрибуции.

    2006-11-27

    18-ти в linuxpackages.net

    Днес забелязах, че съм излязъл на 18-то място в списъка за най-много регистрирани пакети на linuxpackages.net - цели 48. Това, до някъде ме радва, защото работата по създаването на пакетите не е лека, а и е трудоемка. Въпреки създаваните от мен скриптове за изграждане липсата на обща система за изграждане на пакети все още е минус на Slackware.
    За съжаление все още нямам възможност да пусна собствения ми сайт за Slackware пакети, защото не ми остава време да довърша разширеното търсене. Хранилищата ми в момента съдържат около 130 пакета на около 60 различни софтуерни дистрибуции, като тези показатели заедно с заеманото пространство растат постоянно.
    Тази събота благодарение на Васил Колев успях да направя огледало на пакетите върху marla.ludost.net. Надявам се така те да са достъпни дори когато имам проблеми с машината вкъщи.

    2006-03-26

    Сървър за печат със Slackware Linux и HP 1020

    Тази неделя домашния ми сървър стана и локален сървър за печат. Напоследък доста, често ми се налага да печатам разни документи поради което си купих лазерен принтер HP LaserJet 1020. Удобен и евтин принтер за дома.
    Естествено устройството идва с драйвери само за "любимата" ми операционна система Windows. Тъй като ползвам Линукс за всичко трябваше сам да намеря начин за пускането му в употреба. Нещата се оказаха по-прости от колкото предполагах. Оказа се, че печатащото устройство работи с ZjStream протокола на Zenographics, за който има поддръжка в проекта foo2zjs. След около час работа успях да направя пакет (md5, sign) за Slackware и след като го инсталирах нещата започнаха да се нареждат едно по едно. Добавянето на принтер към CUPS е наистина лесно с магьосника в KDE. Отнема не повече от 5 минути. След това можете да печатате на устройството от всяко приложение. Надявам се в скоро време да успея да напиша статия, в която по-подробно да опиша всичко, и след това да публикувам в Линукс за българи.
    Лошото е, че драйвера има по-малко настройки в съпоставка с варианта за Windows, но за сметка на това работи добре. В Интернет се намират оплаквания, че печатането спирало след 20-тата страница и то точно на Slackware, но аз все още не съм стигал до този проблем.