<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.baszarek.pl/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.baszarek.pl/feed.php">
        <title>Baszarek Wiki</title>
        <description></description>
        <link>https://wiki.baszarek.pl/</link>
        <image rdf:resource="https://wiki.baszarek.pl/lib/exe/fetch.php?media=logo.png" />
       <dc:date>2026-04-15T11:27:33+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_file_transfer&amp;rev=1775103340"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Ax3270ft.jpg&amp;ns=wiki&amp;rev=1775102989&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_dysk&amp;rev=1774927504"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_2341&amp;rev=1774925527"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_panel&amp;rev=1774924174"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_haslo&amp;rev=1774921828"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5&amp;rev=1774921435"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Apw3270.jpg&amp;ns=wiki&amp;rev=1774921165&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mariadb_replika&amp;rev=1769239859"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:podman&amp;rev=1766831574"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:nextcloud&amp;rev=1766127824"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:ikonka_venv&amp;rev=1765865025"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:mucode&amp;rev=1760628506"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Amu01.jpg&amp;ns=wiki&amp;rev=1760628390&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Amu-0.9.12-py312.zip&amp;ns=wiki&amp;rev=1760628070&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:brother1222&amp;rev=1751477012"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Abrlaser-master.zip&amp;ns=wiki&amp;rev=1751196867&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:ansible&amp;rev=1745649909"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:vbox_mem&amp;rev=1734860383"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:graylog&amp;rev=1733411205"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Agl_input02.jpg&amp;ns=wiki&amp;rev=1733410414&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Agl_input01.jpg&amp;ns=wiki&amp;rev=1733410327&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:gtk3motyw&amp;rev=1731433991"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:firefox&amp;rev=1729416554"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Afirefox_c.png&amp;ns=wiki&amp;rev=1729416520&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:qt5motyw&amp;rev=1729328016"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?id=wiki:java_console&amp;rev=1727368501"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Ajcontrol.jpg&amp;ns=wiki&amp;rev=1727368251&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Adrukarka1222.jpg&amp;ns=wiki&amp;rev=1707665155&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Ahl1210wlpr-3.0.1-1.i386.rpm&amp;ns=wiki&amp;rev=1707664757&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Ahl1210wcupswrapper-3.0.1-1.i386.rpm&amp;ns=wiki&amp;rev=1707664757&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_instdd2.jpg&amp;ns=wiki&amp;rev=1689415573&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_instdd1.jpg&amp;ns=wiki&amp;rev=1689415044&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_karta.jpg&amp;ns=wiki&amp;rev=1689409731&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=yumreposd.tar.gz&amp;ns=&amp;rev=1685356691&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Agc.jpg&amp;ns=wiki&amp;rev=1685196765&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan07.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan06.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan05.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan04.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan02.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan03.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=alan01.jpg&amp;ns=&amp;rev=1682863334&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Aminipodrecznik041.pdf&amp;ns=wiki&amp;rev=1679813694&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Atodd.jpg&amp;ns=wiki&amp;rev=1669411596&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003135379.jpg&amp;ns=wiki&amp;rev=1665301557&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221007_203653261.jpg&amp;ns=wiki&amp;rev=1665301557&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003108520.jpg&amp;ns=wiki&amp;rev=1665301555&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003100586.jpg&amp;ns=wiki&amp;rev=1665301554&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Arozaniec_htop.jpg&amp;ns=wiki&amp;rev=1664983354&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Avboxmac.jpg&amp;ns=wiki&amp;rev=1664179203&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=httpd-itk-2.4.7.04-14.el9.src.rpm&amp;ns=&amp;rev=1663415145&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=lxl_001.mp3&amp;ns=&amp;rev=1659521627&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Ajre-8u301-linux-x64.rpm&amp;ns=wiki&amp;rev=1653300805&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=jre-8u301-linux-x64.rpm&amp;ns=&amp;rev=1653300651&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3Aperccli_7.1623.00_a11_linux.tar.gz&amp;ns=wiki&amp;rev=1648825089&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3A15.jpg&amp;ns=wiki&amp;rev=1636215285&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3A13.jpg&amp;ns=wiki&amp;rev=1636215284&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3A09.jpg&amp;ns=wiki&amp;rev=1636215282&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3A01.jpg&amp;ns=wiki&amp;rev=1636215281&amp;do=media"/>
                <rdf:li rdf:resource="https://wiki.baszarek.pl/doku.php?image=wiki%3A02.jpg&amp;ns=wiki&amp;rev=1636215280&amp;do=media"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.baszarek.pl/lib/exe/fetch.php?media=logo.png">
        <title>Baszarek Wiki</title>
        <link>https://wiki.baszarek.pl/</link>
        <url>https://wiki.baszarek.pl/lib/exe/fetch.php?media=logo.png</url>
    </image>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_file_transfer&amp;rev=1775103340">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-02T04:15:40+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mvs_tk5_file_transfer - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_file_transfer&amp;rev=1775103340</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;przesylanie_plikow_przez_3270&quot;&gt;Przesyłanie plików przez 3270&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Żeby przesłać lokalny plik tekstowy do emulowanego MVS, najwygodniej użyć wbudowanego w klienta 3270 mechanizmu przesyłania plików:
&lt;/p&gt;

&lt;p&gt;
W aplikacji pw3270 wygląda to jak poniżej:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Amvs_tk5_file_transfer&amp;amp;media=wiki:x3270ft.jpg&quot; class=&quot;media&quot; title=&quot;wiki:x3270ft.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=53da9d&amp;amp;media=wiki:x3270ft.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Operation: Send file&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Local file: ścieżka do wysyłanego pliku&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Remote file: nazwa docelowego zbioru danych (nie używać zbiorów wewnątrz partycjonowanych zbiorów; nie wiem dlaczego, ale to nie zadziała)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Transfer options: text file oraz Remap &lt;abbr title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/abbr&gt; Characters spowoduje przetłumaczenie znaków na EBCDIC&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; reszta domyślnie&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Ax3270ft.jpg&amp;ns=wiki&amp;rev=1775102989&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-02T04:09:49+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>x3270ft.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Ax3270ft.jpg&amp;ns=wiki&amp;rev=1775102989&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=6afd64&amp;amp;media=wiki:x3270ft.jpg&quot; alt=&quot;x3270ft.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_dysk&amp;rev=1774927504">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T03:25:04+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mvs_tk5_dysk</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_dysk&amp;rev=1774927504</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nowy_dasd_w_tk5&quot;&gt;Nowy DASD w TK5&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Utworzenie nowego pliku udającego dysk 3350:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ LD_LIBRARY_PATH=./hercules/linux/64/lib/ ./hercules/linux/64/bin/dasdinit -a dasd/pendra.280 3350 PENDRA&lt;/pre&gt;

&lt;p&gt;
W pliku conf/tk5.cnf dodać nową linijkę:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;0280 3350 dasd/pendra.280 cu=3830&lt;/pre&gt;

&lt;p&gt;
co powoduje konieczność restartu całego TK5. Potem w konsoli TK5 trzeba wpisać:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;attach 280 dasd/pendra.280
/v 280,offline&lt;/pre&gt;

&lt;p&gt;
Kiedy dysk będzie w takim stanie, można uruchomić pracę zapisaną w dowolnym miejscu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;000001  //HERC01I JOB (1),ICKDSF,CLASS=H,MSGCLASS=X,NOTIFY=HERC01
000002  //ICKDSF EXEC PGM=ICKDSF,REGION=4096K
000003  //SYSPRINT DD  SYSOUT=*
000004  //SYSIN    DD  *
000005     INIT UNITADDRESS(280) NOVERIFY VOLID(PENDRA) OWNER(HERCULES) -
000006                  VTOC(0,1,30)
000007  /*
000008  //&lt;/pre&gt;

&lt;p&gt;
Inicjalizacja dysku wymaga potwierdzanie w konsoli TK5 za pomocą mechanizmu &lt;em&gt;reply&lt;/em&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;\r 0,u&lt;/pre&gt;

&lt;p&gt;
Numer 0 trzeba zastąpić podanym w komunikacie konsoli TK5 jako:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;HH:MM:SS JOB    X  *00 ICK003D&lt;/pre&gt;

&lt;p&gt;
Jeżeli emulator działa już długo bez wyłączania, to &lt;em&gt;00&lt;/em&gt; mogło już kiedyś nastąpić i numer do potwierdzenia będzie większy.
&lt;/p&gt;

&lt;p&gt;
Uruchamianie i montowanie dysku:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/v 280,online
/m 280,vol=(sl,pendra)use=private&lt;/pre&gt;

&lt;p&gt;
Odpowiednikiem &lt;em&gt;fstab&lt;/em&gt; jest tutaj &lt;em&gt;SYS1.PARMLIB(VATLST00)&lt;/em&gt;, do którego można dodać linijkę:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;000012 PENDRA,1,2,3350    ,N                  PENDRAJW&lt;/pre&gt;
&lt;hr /&gt;

&lt;p&gt;
Ten dysk jest trochę dziwny i emulator rozpoznaje go jako:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;P 0280 3350 DASD dasd/pendra.280 [cu 3830] [560 cyls] IO[101]&lt;/pre&gt;

&lt;p&gt;
Nie zgadza się więc ani model dysku, ani ilość cylindrów (3350 ma ich 555). Dopóki nie zacznę zapisywać danych na końcu dysku, nie powinno to być problemem. Zmiana typu dysku z 3830 na 3350 w pliku konfiguracyjnym tk5.cnf powoduje, że mvs nie może go zamontować.
&lt;/p&gt;

&lt;p&gt;
Dysk jest oznaczony jako prywatny (poprzez argument &lt;em&gt;2&lt;/em&gt; w &lt;em&gt;VATLST00&lt;/em&gt;), więc trzeba go jawnie wskazać podczas tworzenia zbioru danych zarówno w panelu, jak i w JCL.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;     NAME OF NEW DATA SET ==&amp;gt; &amp;#039;WIKI.BASZAREK.PL&amp;#039;

             RECORD FORMAT ==&amp;gt; FB
     LOGICAL RECORD LENGTH ==&amp;gt; 80
       PHYSICAL BLOCK SIZE ==&amp;gt; 3200

                    VOLUME ==&amp;gt; PENDRA
                      UNIT ==&amp;gt;

     ALLOCATION SPACE UNIT ==&amp;gt; T       ( T OR C OR B )
    PRIMARY SPACE QUANTITY ==&amp;gt; 2
  SECONDARY SPACE QUANTITY ==&amp;gt; 2
NUMBER OF DIRECTORY BLOCKS ==&amp;gt; 10&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_2341&amp;rev=1774925527">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T02:52:07+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mvs_tk5_2341 - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_2341&amp;rev=1774925527</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dodanie_dyskow_do_sortowania&quot;&gt;Dodanie dysków do sortowania&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Starsza dystrybucja TK4- miała dedykowane dyski do sortowania. Sort na TK5 jest nowszy i już nie nie potrzebuje. Problem w tym, że stary kod - napisany dla starszego typu sortowania - przestaje w rezultacie działać.
&lt;/p&gt;

&lt;p&gt;
Można na chwilę pobrać starszy TK4 - &lt;a href=&quot;https://sourceforge.net/projects/mvs380/files/mvs380/MVS_380%201.2a/Method%201%20-%20Overlay%20to%20TK4-/tk4-_v1.00_current-v05.zip/download&quot; class=&quot;urlextern&quot; title=&quot;https://sourceforge.net/projects/mvs380/files/mvs380/MVS_380%201.2a/Method%201%20-%20Overlay%20to%20TK4-/tk4-_v1.00_current-v05.zip/download&quot; rel=&quot;ugc nofollow&quot;&gt;https://sourceforge.net/projects/mvs380/files/mvs380/MVS_380%201.2a/Method%201%20-%20Overlay%20to%20TK4-/tk4-_v1.00_current-v05.zip/download&lt;/a&gt; . Nie trzeba jej uruchamiać. Potrzeba tylko skopiować pliki z katalogu dasd
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sort01.131 sort02.132 sort03.133 sort04.134 sort05.135 sort06.136&lt;/pre&gt;

&lt;p&gt;
do katalogu dasd w TK5. Potem dodać w pliki conf/tk5.cnf
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;0131 2314 dasd/sort01.131 cu=2314
0132 2314 dasd/sort02.132 cu=2314
0133 2314 dasd/sort03.133 cu=2314
0134 2314 dasd/sort04.134 cu=2314
0135 2314 dasd/sort05.135 cu=2314
0136 2314 dasd/sort06.136 cu=2314&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_panel&amp;rev=1774924174">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T02:29:34+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mvs_tk5_panel - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_panel&amp;rev=1774924174</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;zmiana_domyslnego_panelu&quot;&gt;Zmiana domyślnego panelu&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
W TK5 po zalogowaniu pojawia się panel ISPF. Jest jak najbardziej „na miejscu” i funkcjonalnie zbliżony do nowszych wersji z/&lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;. Można w nim wybrać &lt;em&gt;M&lt;/em&gt; oraz &lt;em&gt;1&lt;/em&gt;, co spowoduje uruchomienie &lt;em&gt;Review Front End&lt;/em&gt;, który dużo bardziej mi się podoba. Można również wcisnąć F3 i wpisać &lt;em&gt;rfe&lt;/em&gt; enter, co spodowuje jego uruchomienie zamiast ispf.
&lt;/p&gt;

&lt;p&gt;
Żeby to bardziej zautomatyzować, można wyedytować &lt;em&gt;SYS1.CMDPROC(ISPLOGON)&lt;/em&gt; i wpisać tam:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;000069  /* CALL &amp;#039;ISP.V2R2M0.LLIB(ISPF)&amp;#039;  */
000070     RFE&lt;/pre&gt;

&lt;p&gt;
Na kartach 70 oraz 71 były tam dwa parametry do uruchomienie ispf, ale można je zastąpić po prostu napisem RFE, co uruchomi ten panel zaraz po zalogowaniu. Jeżeli chwilowo potrzebne są dodatkowe rzeczy z nowszych paneli, można cofnąć się F3 do promptu READY i wpisać tam &lt;em&gt;ispf&lt;/em&gt; enter.
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_haslo&amp;rev=1774921828">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T01:50:28+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mvs_tk5_haslo - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5_haslo&amp;rev=1774921828</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;zmiana_hasla_w_mvs&quot;&gt;Zmiana hasła w MVS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Domyślne hasło użytkownika herc01 to &lt;em&gt;cul8tr&lt;/em&gt; i można je zmienić podczas logowania. Zamiast hasła trzeba wpisać:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cul8tr/asdfgh&lt;/pre&gt;

&lt;p&gt;
i hasło &lt;em&gt;asdfgh&lt;/em&gt; (lub jakiekolwiek, do ośmiu łacińskich znaków) zostanie ustawione w SYS1.SECURE.CNTL(USERS).
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5&amp;rev=1774921435">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T01:43:55+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mvs_tk5 - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mvs_tk5&amp;rev=1774921435</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;uruchamianie_tk5_na_linuksie&quot;&gt;Uruchamianie TK5 na Linuksie&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Uruchamianie TK5 na Linuksie&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uruchamianie_tk5_na_linuksie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-44&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;pobieranie&quot;&gt;Pobieranie&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Emulator Hercules oraz bardzo dużo dostępnego oprogramowania są połączone w dystrybucji TK5: &lt;a href=&quot;https://www.prince-webdesign.nl/tk5&quot; class=&quot;urlextern&quot; title=&quot;https://www.prince-webdesign.nl/tk5&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.prince-webdesign.nl/tk5&lt;/a&gt; . Do pobrania jako &lt;a href=&quot;https://www.prince-webdesign.nl/images/downloads/mvs-tk5.zip&quot; class=&quot;urlextern&quot; title=&quot;https://www.prince-webdesign.nl/images/downloads/mvs-tk5.zip&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.prince-webdesign.nl/images/downloads/mvs-tk5.zip&lt;/a&gt; . 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Pobieranie&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pobieranie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;45-284&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;wstepna_konfiguracja&quot;&gt;Wstępna konfiguracja&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
W przeciwieństwie do starszej wersji TK4-, pod Linuksem trzeba odrobinę dodatkowej pracy. Po rozpakowaniu archiwum:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd mvs-tk5
$ chmod 750 mvs
$ chmod 750 unattended/set_console_mode
$ chmod 750 unattended/set_daemon_mode
$ chmod 700 hercules/linux/64/bin/*
$ cd hercules/linux/64/lib/
$ ln -s /usr/lib64/libbz2.so.1 libbz2.so.1.0&lt;/pre&gt;

&lt;p&gt;
Łącze w ostatniej linijce musi prowadzić do libbz2, jakby się ten plik nie nazywał. Katalogi
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hercules/windows&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hercules/darwin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hercules/linux&lt;em&gt;/nieuzywane_architektury&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
można usunąć, by nie zajmowały niepotrzebne miejsca. Warto zmienić tryb uruchamiania na konsolę, co udostępnia dodatkowe opcje administracyjne.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd unattended
$ ./set_console_mode&lt;/pre&gt;

&lt;p&gt;
i potwerdzić enterem. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wst\u0119pna konfiguracja&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wstepna_konfiguracja&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;285-1073&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;uruchomienie&quot;&gt;Uruchomienie&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Można teraz uruchomić emulator oraz MVS sktyptem &lt;em&gt;mvs&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
Praca z TSO jest możliwa za pomocą graficznych aplikacji: x3270 oraz pw3270. Ten pierwszy jest prostszy i ma ładniejsze fonty, ale na najnowszych wersjach Waylanda i Gnoma przestały prawidłowo działać niektóre elementy interfejsu. pw3270  działa i wygląda tak:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Amvs_tk5&amp;amp;media=wiki:pw3270.jpg&quot; class=&quot;media&quot; title=&quot;wiki:pw3270.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=bf7024&amp;amp;media=wiki:pw3270.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
W ustawieniach bieżącej sesji trzeba wybrać host z uruchomionym TK5 (może to być 127.0.0.1), a pozostałe opcje ustawić jak widać powyżej.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Uruchomienie&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uruchomienie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1074-1613&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;wylaczenie&quot;&gt;Wyłączenie&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Zabicie procesu &lt;em&gt;hercules&lt;/em&gt; może spowodować duże szkody na emulowanych dyskach oraz bliżej nieokreślony stan kolejki JES2, co z kolei uniemożliwi ponowne uruchomienie emulatora.
&lt;/p&gt;

&lt;p&gt;
Trzeba wycować się klawiszem F3 do prompta &lt;em&gt;READY&lt;/em&gt; i napisać tam kolejno:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;shutdown
logoff&lt;/pre&gt;

&lt;p&gt;
Procedura zatrzymywania systemu jest zapiasana w &lt;em&gt;sys1.parmlib(shutdown)&lt;/em&gt; . Jest tam również procedura &lt;em&gt;shutfast&lt;/em&gt;, która ma krótsze czasy czekiwania pomiędzy kolejnymi krokami.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wy\u0142\u0105czenie&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wylaczenie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1614-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Apw3270.jpg&amp;ns=wiki&amp;rev=1774921165&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T01:39:25+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>pw3270.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Apw3270.jpg&amp;ns=wiki&amp;rev=1774921165&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=3cc053&amp;amp;media=wiki:pw3270.jpg&quot; alt=&quot;pw3270.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mariadb_replika&amp;rev=1769239859">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-24T07:30:59+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mariadb_replika</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mariadb_replika&amp;rev=1769239859</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;replikacja_mariadb&quot;&gt;Replikacja MariaDB&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Replikacja MariaDB&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;replikacja_mariadb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-36&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;najprostsza_replikacja&quot;&gt;Najprostsza replikacja&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dwa serwery:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; maria1.ping.local - primary,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; maria2.ping.local - replika, tylko do odczytu.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h5 id=&quot;konfiguracja_maria1&quot;&gt;Konfiguracja maria1&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Sekcja [mariadb] z pliku /etc/my.cnf.d/mariadb-server.cnf
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
log-bin
server_id=1
log-basename=master1
binlog-format=mixed&lt;/pre&gt;

&lt;p&gt;
Należy zrestartować MariaDB, żeby zaczytała zmiany. W shellu mysql:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [(none)]&amp;gt; CREATE USER &amp;#039;replication_user&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;qwerty123&amp;#039;;
MariaDB [(none)]&amp;gt; GRANT REPLICATION SLAVE ON *.* TO &amp;#039;replication_user&amp;#039;@&amp;#039;%&amp;#039;;
MariaDB [(none)]&amp;gt; FLUSH TABLES WITH READ LOCK;
MariaDB [(none)]&amp;gt; show master status;
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| master1-bin.000004 |      344 |              |                  |
+--------------------+----------+--------------+------------------+
1 row in set (0.001 sec)&lt;/pre&gt;

&lt;p&gt;
Nazwa użytkownika oraz jego hasło może być inne. Należy wyeksportować wszystkie bazy danych do pliku:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mysqldump --all-databases &amp;gt; /home/lukasz/bazy_danych.sql&lt;/pre&gt;

&lt;p&gt;
Plik należy pobrać (na przykład programem scp) oraz wysłać na serwer maria2.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;konfiguracja_maria2&quot;&gt;Konfiguracja maria2&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Sekcja [mariadb] z pliku /etc/my.cnf.d/mariadb-server.cnf
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
log-bin
server_id=2
#read_only=1 # potem odkomentowac&lt;/pre&gt;

&lt;p&gt;
Należy zrestartować MariaDB, żeby zaczytała zmiany. Następnie trzeba zaimportować bazy danych z serwera maria1:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mysql &amp;lt; /home/lukasz/bazy_danych.sql&lt;/pre&gt;

&lt;p&gt;
Potem w shellu mysql:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;change master to master_host=&amp;#039;maria1.ping.local&amp;#039;, master_user=&amp;#039;replication_user&amp;#039;, master_password=&amp;#039;qwerty123&amp;#039;, master_port=3306, master_log_file=&amp;#039;master1-bin.000004&amp;#039;, master_log_pos=334, master_connect_retry=10;&lt;/pre&gt;

&lt;p&gt;
Następnie należy odkomentować lnijkę &lt;em&gt;#read_only=1&lt;/em&gt; w pliku mariadb-server.conf, dzięki czemu użytkownicy bez uprawnień SUPER nie będą mogli modyfikować bazy danych. Po zamianie pliku należy zrestartować bazę danych.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;sprzatanie_i_uruchomienie_replikacji&quot;&gt;Sprzątanie i uruchomienie replikacji&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
W shellu bazy danych na serwerze maria1 można już zdjąć blokady:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [(none)]&amp;gt; unlock tables;&lt;/pre&gt;

&lt;p&gt;
W shellu bazy danych na serwerze maria2 upewnić się, że replikacja przebiega pomyślnie:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [(none)]&amp;gt; start slave;
MariaDB [(none)]&amp;gt; show slave status;
+----------------------------------+-------------------+------------------+-------------+---------------+--------------------+---------------------+--------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+----------------+--------------------+------------+-------------+-------------------------+-----------------------------+---------------+-----------+---------------------+--------------------------------------------------------+------------------+--------------------------------+----------------------------+
| Slave_IO_State                   | Master_Host       | Master_User      | Master_Port | Connect_Retry | Master_Log_File    | Read_Master_Log_Pos | Relay_Log_File           | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_SSL_Crl | Master_SSL_Crlpath | Using_Gtid | Gtid_IO_Pos | Replicate_Do_Domain_Ids | Replicate_Ignore_Domain_Ids | Parallel_Mode | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State                                | Slave_DDL_Groups | Slave_Non_Transactional_Groups | Slave_Transactional_Groups |
+----------------------------------+-------------------+------------------+-------------+---------------+--------------------+---------------------+--------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+----------------+--------------------+------------+-------------+-------------------------+-----------------------------+---------------+-----------+---------------------+--------------------------------------------------------+------------------+--------------------------------+----------------------------+
| Waiting for master to send event | maria1.ping.local | replication_user |        3306 |            10 | master1-bin.000004 |                 344 | mariadb-relay-bin.000012 |           645 | master1-bin.000004    | Yes              | Yes               |                 |                     |                    |                        |                         |                             |          0 |            |            0 |                 344 |            1257 | None            |                |             0 | No                 |                    |                    |                 |                   |                |                     0 | No                            |             0 |               |              0 |                |                             |                1 |                |                    | No         |             |                         |                             | optimistic    |         0 |                NULL | Slave has read all relay log; waiting for more updates |                0 |                              0 |                          0 |
+----------------------------------+-------------------+------------------+-------------+---------------+--------------------+---------------------+--------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+----------------+--------------------+------------+-------------+-------------------------+-----------------------------+---------------+-----------+---------------------+--------------------------------------------------------+------------------+--------------------------------+----------------------------+
1 row in set (0.000 sec)&lt;/pre&gt;

&lt;p&gt;
Można dla pewności założyć nową bazę danych na serwerze maria1, utworzyć tabelę i dodać kilka wierszy.
&lt;/p&gt;

&lt;p&gt;
W shellu bazy maria2, używając nieuprzywilejowanego użytkownika, efekt będzie taki:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mysql -u statyk -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.9-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type &amp;#039;help;&amp;#039; or &amp;#039;\h&amp;#039; for help. Type &amp;#039;\c&amp;#039; to clear the current input statement.

MariaDB [(none)]&amp;gt; show slave status;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER, SLAVE MONITOR privilege(s) for this operation
MariaDB [(none)]&amp;gt; use statyk
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [statyk]&amp;gt; select * from dane;
+------+--------+
| id   | nazwa  |
+------+--------+
|    3 | trzy   |
|    4 | cztery |
|    5 | piec   |
+------+--------+
3 rows in set (0.001 sec)

MariaDB [statyk]&amp;gt; insert into dane (id, nazwa) values (8, &amp;#039;osiem&amp;#039;);
ERROR 1290 (HY000): The MariaDB server is running with the --read-only option so it cannot execute this statement
MariaDB [statyk]&amp;gt; &lt;/pre&gt;

&lt;p&gt;
Jako, że MariaDB w bardzo ograniczonym stopniu pozwala na konfigurację dostępu dla użytkowników z określonych adresów IP, warto upewnić się, że firewall jest poprawnie skonfigurowany. Podczas tworzenia użytkownika &lt;em&gt;replica_user&lt;/em&gt; można podać mu jeden adres IP serwera maria2, ale wówczas nie można dodać do tego zestawu kolejnych replik.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Najprostsza replikacja&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;najprostsza_replikacja&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;37-10070&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;czesciowa_replikacja&quot;&gt;Częściowa replikacja&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Można replikować tylko niektóre bazy oraz tabele. Fragment my.cnf bazy primary.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;log-bin
server_id=1
log-basename=master1
binlog-format=mixed
binlog_ignore_db=private
binlog_do_db=public001
replicate_do_table=public001.archiwum001
replicate_do_table=public001.archiwum002
replicate_do_table=public001.stare001
replicate_ignore_table=public001.nowe
replicate_wild_do_table=public001.archiwum0%&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; log-bin - utworzenie logów transakcyjnych&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; server_id=1 - unikalny identyfikator klastra&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; log-basename=master1 - nazwa plików loga transakcyjnego dla parametru log-bin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; binlog-format=mixed - log transakcyjny sam wybiera format swojego zapisu; jest to zresztą wartośc domyślna; &lt;a href=&quot;https://mariadb.com/kb/en/binary-log-formats/#mixed-logging&quot; class=&quot;urlextern&quot; title=&quot;https://mariadb.com/kb/en/binary-log-formats/#mixed-logging&quot; rel=&quot;ugc nofollow&quot;&gt;https://mariadb.com/kb/en/binary-log-formats/#mixed-logging&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; binlog_ignore_db=private - zdarzenia na bazie danych „private” nie będą w logu transakcyjnym&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; binlog_do_db=public001 - zdarzenia na bazie danych „public001” będą w logu transakcyjnym&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; replicate_do_table=public001.archiwum001 - zdarzenia w tabeli „archiwum001” bazy „public001” będą w logu transakcyjnym&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; replicate_do_table=public001.archiwum002 - zdarzenia w tabeli „archiwum002” bazy „public001” będą w logu transakcyjnym&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; replicate_do_table=public001.stare001 - zdarzenia w tabeli „stare001” bazy „public001” będą w logu transakcyjnym&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; replicate_ignore_table=public001.nowe - zdarzenia w tabeli „nowe” bazy „public001” nie będą w logu transakcyjnym, &lt;strong&gt;ale tak naprawdę będą&lt;/strong&gt; ; wygląda na to, że binlog_do_db przeważa nad replicate_ignore_table&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; replicate_wild_do_table=public001.archiwum0% - zdarzenia w tabelach o nazwie podobnej do „archiwum0%” bazy „public001” będą w logu transakcyjnym&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; binlog_do_db=public001 przeważa nad replicate_ignore_table. Oznacza to, że zdarzenia dotyczące tabeli „nowe” będą trafiały do loga transakcyjnego i dane pojawią się na replikach.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Weryfikacja stanu replikacji po restarcie primary:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [(none)]&amp;gt; show master status;
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| master1-bin.000001 | 1634     | public001    | private          |
+--------------------+----------+--------------+------------------+
1 row in set (0.000 sec)&lt;/pre&gt;

&lt;p&gt;
Użytkownik replikacyjny na primary:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [(none)]&amp;gt; CREATE USER &amp;#039;replication_user&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;qwerty123&amp;#039;;
MariaDB [(none)]&amp;gt; GRANT REPLICATION SLAVE ON *.* TO &amp;#039;replication_user&amp;#039;@&amp;#039;%&amp;#039;;&lt;/pre&gt;

&lt;p&gt;
Fragment my.cnf repliki:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;log-bin
server_id=5
read_only=1&lt;/pre&gt;

&lt;p&gt;
Rozpoczęcie replikacji na klastrze nr 5:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [(none)]&amp;gt; change master to master_host=&amp;#039;maria1.cez.local&amp;#039;, master_user=&amp;#039;replication_user&amp;#039;, master_password=&amp;#039;qwerty123&amp;#039;, master_port=3306, master_log_file=&amp;#039;master1-bin.000001&amp;#039;, master_log_pos=0, master_connect_retry=10;&lt;/pre&gt;

&lt;p&gt;
Dane na klastrze nr 5 mogą wyglądać na przykład tak:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;MariaDB [public001]&amp;gt; select * from archiwum002;
+----+--------------------+
| id | dane               |
+----+--------------------+
| 12 | dane do replikacji |
| 14 | dane do replikacji |
+----+--------------------+
2 rows in set (0.001 sec)&lt;/pre&gt;

&lt;p&gt;
Nie ma tu wierszy od 1 do 11, ponieważ zostały utworzone przed zestawieniem replikacji. Usunięcie wierszy o tych identyfikatorach będzie w logu transakcyjnym, ale bez wpływu na replikę. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Cz\u0119\u015bciowa replikacja&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;czesciowa_replikacja&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;10071-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:podman&amp;rev=1766831574">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-27T10:32:54+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>podman</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:podman&amp;rev=1766831574</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;podman&quot;&gt;Podman&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Kilka przykładów tworzenia kontenerów. &lt;strong&gt;Pamiętać, że nie trzeba być rootem, ani sudo do niczego.&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat /etc/hosts
[...]
127.0.0.1 strona.ping.local php.ping.local
[...]&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Podman&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;podman&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-212&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;apache&quot;&gt;Apache&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Katalog z kontenerem.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd apache
$ tree 
.
├── conf
│   ├── 00-security.conf
│   ├── 01-logformat.conf
│   ├── 02-servername.conf
│   └── 99-strona.ping.local.conf
├── Dockerfile
├── log
└── public_html
    └── index.html&lt;/pre&gt;

&lt;p&gt;
Zawartość plików konfiguracyjnych w katalogu conf:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat conf/00-security.conf 
Header always set X-Content-Type-Options nosniff
Header always set X-Frame-Options &amp;quot;SAMEORIGIN&amp;quot;
Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;
Servertokens Prod
ServerSignature Off&lt;/pre&gt;

&lt;p&gt;
Zakładam, że strona będzie za jakimś rodzajem proxy, a chcę widzieć w logach adresy IP odwiedzających.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat conf/01-logformat.conf 
LogFormat &amp;quot;%v %{X-Real-IP}i %l %u %t \&amp;quot;%r\&amp;quot; %&amp;gt;s %b \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-Agent}i\&amp;quot;&amp;quot; nginxproxy&lt;/pre&gt;

&lt;p&gt;
Apache pokazuje w logach brak ustawionego ServerName, więc jakiś tam zawsze ustawiam.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat conf/02-servername.conf 
ServerName strona.ping.local&lt;/pre&gt;

&lt;p&gt;
Prosty vhost:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat conf/99-strona.ping.local.conf 
&amp;lt;VirtualHost *:8080&amp;gt;
  ServerName strona.ping.local:8080
  ServerAlias *.strona.ping.local
  DocumentRoot /var/www/html
  CustomLog logs/strona-access.log nginxproxy
  ErrorLog logs/strona-errors.log
  &amp;lt;Directory /var/www/html&amp;gt;
    AllowOverride All
    Require all granted
  &amp;lt;/Directory&amp;gt;
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Plik do budowania obrazu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat Dockerfile 
from registry.redhat.io/ubi9/httpd-24:1-331.1722518952
ADD conf/* /etc/httpd/conf.d/
USER 48
CMD run-httpd&lt;/pre&gt;

&lt;p&gt;
Logowanie do Red Hata:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman login registry.redhat.io                                
Username: [login do redhat.com]
Password: [hasło do redhat.com]&lt;/pre&gt;

&lt;p&gt;
Budowanie obrazu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman build -t strona-apache .
STEP 1/4: FROM registry.redhat.io/ubi9/httpd-24:1-331.1722518952                                                                        
Trying to pull registry.redhat.io/ubi9/httpd-24:1-331.1722518952...                                                                     
Getting image source signatures                                                                                                         
Checking if image destination supports signatures                                                                                       
Copying blob aa3367aaf4aa done   |                                                                                                      
Copying blob cc296d75b612 done   |                                                                                                      
Copying blob db22e630b1c7 done   |                                                                                                      
Copying config e19a3fc93d done   |                                                                                                      
Writing manifest to image destination                                                                                                   
Storing signatures                                                                                                                      
STEP 2/4: ADD conf/* /etc/httpd/conf.d/                                                                                                 
--&amp;gt; [identyfikator]
STEP 3/4: USER 48
--&amp;gt; [identyfikator]
STEP 4/4: CMD run-httpd
COMMIT strona-apache
--&amp;gt; 28baafdb39f5
Successfully tagged localhost/strona-apache:latest
[dlugi_śmieszny_numer]&lt;/pre&gt;

&lt;p&gt;
Uprawnia do katalogów log oraz public_html:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman unshare chown -R 48:48 log/
$ podman unshare chown -R 48:48 public_html/&lt;/pre&gt;

&lt;p&gt;
Uruchomienie kontenera. W tym wypadku Apache nie będzie mógł modyfikować zawartości katalogu /var/www/html. Ta kropkaukośnik jest ważna. Bez niej nie zadziała montowanie woluminów.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman run -d -p 8801:8080 -v ./log:/var/log/httpd:Z,rw -v ./public_html:/var/www/html:Z,ro strona-apache
$ podman ps -a
CONTAINER ID     IMAGE                           COMMAND               CREATED         STATUS         PORTS                                       NAMES
[identyfikator]  localhost/strona-apache:latest  /bin/sh -c run-ht...  32 minutes ago  Up 32 minutes  0.0.0.0:8801-&amp;gt;8080/tcp, 8080/tcp, 8443/tcp  [śmieszna_nazwa]&lt;/pre&gt;

&lt;p&gt;
I już działa.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ curl -Isk strona.ping.local:8801
HTTP/1.1 200 OK
[...]&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Apache&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;apache&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;213-4582&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;mariadb&quot;&gt;MariaDB&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd mariadb
tree .
.
├── conf
│   └── 99-baza.cnf
├── database
├── Dockerfile
└── log&lt;/pre&gt;

&lt;p&gt;
Konfiguracja w pliku cnf:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat conf/99-baza.cnf 
[mariadb]
log_output=FILE
general_log
general_log_file=/var/log/mariadb/general.log
slow_query_log
slow_query_log_file=/var/log/mariadb/slow.log&lt;/pre&gt;

&lt;p&gt;
Dockerfile:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat Dockerfile
from registry.redhat.io/rhel9/mariadb-105:1-194
ADD conf/* /etc/my.cnf.d/
USER 27
CMD [&amp;quot;run-mysqld&amp;quot;]&lt;/pre&gt;

&lt;p&gt;
Budowanie obrazu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman build -t baza .&lt;/pre&gt;

&lt;p&gt;
Uprawnienia katalogów:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman unshare chown -R 27:27 log/
$ podman unshare chown -R 27:27 database/&lt;/pre&gt;

&lt;p&gt;
Skomplikowane uruchomienie kontenera:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman run -d -e MYSQL_ROOT_PASSWORD=TajneHaslo -e MYSQL_USER=uzytkownik -e MYSQL_PASSWORD=InneHaslo -e MYSQL_DATABASE=nazwabazy -v ./database:/var/lib/mysql:Z,rw -v ./log:/var/log/mariadb:Z,rw -p 5301:3306 baza  &lt;/pre&gt;

&lt;p&gt;
Wyjaśnienie parametrów:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MYSQL_ROOT_PASSWORD - hasło roota, niepraktyczne i niepotrzebne, ale warto jakieś podać,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MYSQL_USER - nazwa użytkownika aplikacyjnego,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MYSQL_PASSWORD - hasło użytkownika aplikacyjnego,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MYSQL_DATABASE - nazwa bazy danych, której używa powyższy użytkownik.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Jeżeli na woluminie zamontowanym w katalogu datadir jest już jakaś baza danych, powyższe zmienne nie działają. Można później zmienić hasła użytkowników narzędziami bazodanowymi.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;MariaDB&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mariadb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;4583-6010&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;php&quot;&gt;PHP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ cd php
tree -a .
.
├── conf
│   ├── apache
│   │   ├── 00-security.conf
│   │   ├── 01-logformat.conf
│   │   ├── 02-servername.conf
│   │   └── 99-php.ping.local.conf
│   └── php
│       └── 99-var.ini
├── Dockerfile
├── log
│   ├── php-access.log
│   └── php-errors.log
├── public_html
│   └── info.php
└── sessions&lt;/pre&gt;

&lt;p&gt;
Pliki konfiguracyjne Apache są podobne do tych z poprzedniego przykładu. Różni się tylko nazwa vhosta oraz nazwy plików w logami.
&lt;/p&gt;

&lt;p&gt;
Dockerfile:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat Dockerfile 
from registry.redhat.io/ubi9/php-82:1-21.1724040036
ADD conf/apache/* /etc/httpd/conf.d/
ADD conf/php/* /etc/php.d/

USER 1001

CMD /usr/libexec/s2i/run&lt;/pre&gt;

&lt;p&gt;
Konfiguracja PHP:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ cat 99-var.ini  
[PHP]
expose_php = Off
memory_limit = 128M
post_max_size = 64M
upload_max_filesize = 64M

[Date]
date.timezone = Europe/Warsaw&lt;/pre&gt;

&lt;p&gt;
Uprawnienia:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman unshare chown -R 1001:1001 log/ public_html/ sessions/&lt;/pre&gt;

&lt;p&gt;
Uruchomienie kontenera:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman run -d -v ./public_html/:/var/www/html:Z -v ./sessions:/tmp/sessions:Z -v ./log:/var/log/httpd:Z -p 8888:8080 baszarek-php82:latest&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;6011-7302&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;uruchomienie_kontenerow_z_systemd&quot;&gt;Uruchomienie kontenerów z systemd&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ mkdir -p ~/.config/systemd/user
$ cd ~/.config/systemd/user
$ podman generate systemd --name smieszna-nazwa --files --new
$ systemctl --user enable container-smieszna-nazwa
$ podman stop smieszna-nazwa
$ systemctl --user start container-smieszna-nazwa
$ systemctl --user enable container-smieszna-nazwa&lt;/pre&gt;

&lt;p&gt;
Plik w katalogu &lt;em&gt;.config/systemd/user&lt;/em&gt; nie będzie zawierał linijki &lt;em&gt;WorkingDirectory=&lt;/em&gt; w sekcji Service. Warto ją dopisać, żeby nie musieć określać woluminów całą, bezwzględną ścieżką.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Uruchomienie kontener\u00f3w z systemd&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uruchomienie_kontenerow_z_systemd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7303-7874&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;konteneryzowanie_malej_aplikacji&quot;&gt;Konteneryzowanie małej aplikacji&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Aplikacja została zmodyfikowana pod kontener. Usunąłem z niej pliki konfiguracyjne i zastąpiłem je zmiennymi środowiskowymi. Można używać obydwu, gdzie pliki przeważają zmienne. Obrazy MariaDB Red Hata takie właśnie są. Można ustawić różne zmienne regulujące dostęp do bazy danych, ale jeżeli ta już istnieje na woluminie, są one ignorowane. 
&lt;/p&gt;

&lt;p&gt;
Dockerfile:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;from registry.access.redhat.com/ubi9/openjdk-17-runtime:1.20-2.1724037300

RUN mkdir -p /opt/astech
ADD ./astech /opt/astech

WORKDIR /opt/astech
ENV AST_MM_VERSION=&amp;quot;0.49.19.1&amp;quot;

CMD [&amp;quot;/usr/bin/python3&amp;quot;, &amp;quot;astech.py&amp;quot;]&lt;/pre&gt;

&lt;p&gt;
Pliki w katalogu z plikiem Dockerfile, to trzech poziomów:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# tree -aL 3
.         
├── astech                  
│   ├── astech.py
│   ├── bottle.py
│   ├── error404.tpl  
│   ├── footer.tpl 
│   ├── gamefiles.tpl
│   ├── header.tpl
│   ├── index.tpl
│   ├── login.tpl
│   ├── megamek-0.49.19.1
│   │   ├── data                                                    
│   │   ├── docs                                                                                                                        
│   │   ├── lib
│   │   ├── logs
│   │   ├── MegaMek.jar
│   │   ├── mm
│   │   ├── mm.bat
│   │   ├── mmconf
│   │   ├── savegames
│   │   └── userdata
│   ├── options.tpl
│   └── static
│       ├── astech_logo.png
│       ├── delete.png
│       ├── download.png
│       ├── selected.png
│       ├── select.png
│       ├── server_off.png
│       ├── server_on.png
│       └── style.css
├── boards
├── Dockerfile
├── logs
│   ├── megameklab.log
│   ├── megamek.log
│   └── mekhq.log
├── mechfiles
└── savegames&lt;/pre&gt;

&lt;p&gt;
Budowanie obrazu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;podman build -t astech049191 .&lt;/pre&gt;

&lt;p&gt;
Uprawnienia do woluminów. Domyślnie aplikacja w podmanie uruchamia się z uprawnieniami użytkownika o UID 1001, ale można to zmienić w Dockerfile, lub parametrem &lt;em&gt;-u&lt;/em&gt; przy &lt;em&gt;podman run&lt;/em&gt;. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman unshare chown -R 1001 boards/ logs/ mechfiles/ savegames/
$ podman unshare chmod 750 boards/ logs/ mechfiles/ savegames/
$ ll
razem 8
drwxr-xr-x. 4 lukasz lukasz 4096 09-05 07:03 astech
drwxr-x---. 2 524472 lukasz   34 09-05 07:30 boards
-rw-r--r--. 1 lukasz lukasz  217 09-05 06:53 Dockerfile
drwxr-x---. 2 524472 lukasz   64 09-05 07:28 logs
drwxr-x---. 2 524472 lukasz    6 09-05 06:47 mechfiles
drwxr-x---. 2 524472 lukasz    6 09-05 06:47 savegames&lt;/pre&gt;

&lt;p&gt;
Uruchomienie kontenera:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman run --name myastech -d -p 8080:8080 -p 2346:2346 -e AST_MM_PORT=2346 -e AST_USER=someuser -e AST_PASS=somepassword -v ./savegames:/opt/astech/megamek-0.49.19.1/savegames:rw,Z,U -v ./logs:/opt/astech/megamek-0.49.19.1/logs:rw,Z,U -v ./boards:/opt/astech/megamek-0.49.19.1/data/boards/astech:rw,Z,U -v ./mechfiles:/opt/astech/megamek-0.49.19.1/data/mechfiles/astech:rw,Z,U astech049191&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Konteneryzowanie ma\u0142ej aplikacji&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;konteneryzowanie_malej_aplikacji&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7875-11118&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;su_-_uzytkownik_i_xdg&quot;&gt;su - [uzytkownik] i xdg&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
„systemctl –user” nie będzie działał dobrze, dopóki użytkownik go wywołujący nie będzie zalogowany. Można to obejść na dwa sposoby: zalogować się przez „ssh [uzytkownik]@localhost”, lub dopisując zmienną o wartości „/run/user[identyfikator_z_pliku_passwd] do pliku bashrc:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# &amp;quot;systemctl --user &amp;quot; bez tego nie dziala
XDG_RUNTIME_DIR=/run/user/3501
export XDG_RUNTIME_DIR&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;su - [uzytkownik] i xdg&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;su_-_uzytkownik_i_xdg&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;11119-11548&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;import_i_wczytywanie_obrazow&quot;&gt;Import i wczytywanie obrazów&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Kiedy nie chcę żadnego rejestru.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman image ls
REPOSITORY                                          TAG                IMAGE ID      CREATED       SIZE
localhost/astech-mm                                 0.49.19.1          6e01cf1442ce  26 hours ago  962 MB
registry.access.redhat.com/ubi9/openjdk-17-runtime  1.20-2.1724037300  cf4676726e3f  2 weeks ago   368 MB

$ podman save --quiet -o astech-mm-049191.tar 6e01cf1442ce&lt;/pre&gt;

&lt;p&gt;
Wczytywanie pliku &lt;em&gt;astech-mm-049191.tar&lt;/em&gt; na innym hoście:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman load --quiet -i astech-mm-049191.tar
$ podman image ls                                                
REPOSITORY  TAG         IMAGE ID      CREATED       SIZE
&amp;lt;none&amp;gt;      &amp;lt;none&amp;gt;      6e01cf1442ce  26 hours ago  962 MB

$ podman tag 6e01cf1442ce astech:0.49.19.1
$ podman image ls
REPOSITORY           TAG         IMAGE ID      CREATED       SIZE
localhost/astech-mm  0.49.19.1   6e01cf1442ce  26 hours ago  962 MB&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Import i wczytywanie obraz\u00f3w&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;import_i_wczytywanie_obrazow&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;11549-12540&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;cannot_change_memory_protections&quot;&gt;cannot change memory protections&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Podczas uruchamiania kontenera pojawiają się błędy „error while loading shared libraries: [cośtam].so.[numer]: cannot change memory protections”
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman info | grep &amp;#039;graphRoot&amp;#039;
graphRoot: /home/lukasz/.local/share/containers/storage
graphRootAllocated: 482933219328
graphRootUsed: 214006886400

# semanage fcontext -a -t container_var_lib_t &amp;#039;/home/lukasz/.local/share/containers/storage(/.*)?&amp;#039;
# restorecon -Rv /home/lukasz/.local/share/containers/&lt;/pre&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://access.redhat.com/solutions/7021610&quot; class=&quot;urlextern&quot; title=&quot;https://access.redhat.com/solutions/7021610&quot; rel=&quot;ugc nofollow&quot;&gt;https://access.redhat.com/solutions/7021610&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;cannot change memory protections&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cannot_change_memory_protections&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;12541-13112&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;connection_reset_by_peer&quot;&gt;Connection reset by peer&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Podman w werji 4.x nieprawidłowo mapuje porty, jeżeli:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; aplikacja wystawia się na hoście 127.0.0.1 i porcie przykładowo 8080&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; podman run jest uruchomiony z parametrem -p 0.0.0.0:8080:8080 i oczekuję, że aplikacja wystawi się na całą adresację IPv4.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Aplikacja w kontenerze musi również słuchać na 0.0.0.0. Warto zostawić sobie do tego zmienną środowiskową, która będzie modyfikować działanie aplikacji.
&lt;/p&gt;

&lt;p&gt;
W podmanie 5.2.2 (który jest w dystrybucji Fedora 40) to działa już dobrze. Aplikacja może słuchać na lokalnym hoście, ale Podman może przemapować ten ruch na cały internet, lub wybrane podsieci. 
&lt;/p&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://github.com/containers/podman/issues/19602#issuecomment-1675709528&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/containers/podman/issues/19602#issuecomment-1675709528&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/containers/podman/issues/19602#issuecomment-1675709528&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Connection reset by peer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;connection_reset_by_peer&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;13113-13877&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;kontrolowanie_cpu_i_pamieci&quot;&gt;kontrolowanie cpu i pamięci&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ podman run --rm --detach --cpus=1 --memory-swap=512M --memory=256M --memory-reservation=128M --volume /home/uzytkownik/kontenery/woluminy/jakis_katalog/:/opt/jupiter/app:rw,Z --publish 8111:8888 jupyter-test001
Error: OCI runtime error: crun: the requested cgroup controller `cpuset` is not available&lt;/pre&gt;

&lt;p&gt;
W powyższym przypadku brakuje mi uprawnień do przydzielania zasobów do kontenerów. Zakładając, że mam UID 1000, można dodać do pliku &lt;em&gt;/etc/systemd/system/user@1000.service.d/delegate.conf&lt;/em&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Service]
Delegate=memory pids cpu cpuset&lt;/pre&gt;

&lt;p&gt;
Trzeba się na chwilę wylogować.
&lt;/p&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/containers/podman/blob/main/troubleshooting.md#26-running-containers-with-resource-limits-fails-with-a-permissions-error&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;kontrolowanie cpu i pami\u0119ci&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kontrolowanie_cpu_i_pamieci&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;13878-14663&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;montowanie_woluminu_dla_nieuprzywilejowanego_uzytkownika&quot;&gt;Montowanie woluminu dla nieuprzywilejowanego użytkownika&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Poczas montowania woluminu katalogi w kontenerze mają uprawnienia użytkownika root:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;podman run --rm --detach --name=mek05006 --publish=0.0.0.0:2346:2346 --volume ./savegames:/opt/megamek/savegames:rw,Z --volume ./logs:/opt/megamek/logs:rw,Z megamek05006&lt;/pre&gt;

&lt;p&gt;
Jeżeli w Dockerfile zadeklarowano innego użytkownika do uruchomienia aplikacji:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[...]
USER 12
WORKDIR /opt/megamek/
CMD /usr/lib/jvm/java-17-temurin-jre/bin/java -jar MegaMek.jar -dedicated -port 2346&lt;/pre&gt;

&lt;p&gt;
to okaże się, że użytkownik o identyfikatorze 12 nie ma uprawnień zapisu do &lt;em&gt;/opt/megamek/savegames&lt;/em&gt; oraz &lt;em&gt;/opt/megamek/logs&lt;/em&gt;, a powinien mieć.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;bash-5.2$ ls -la
[...]
drwxr-xr-x. 2 root  root        6 Dec 27 09:22 savegames
drwxr-xr-x. 2 root  root        6 Dec 27 09:22 logs&lt;/pre&gt;

&lt;p&gt;
Pomaga parametr &lt;em&gt;U&lt;/em&gt; przy montowaniu woluminów:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;podman run --rm --detach --name=mek05006 --publish=0.0.0.0:2346:2346 --volume ./savegames:/opt/megamek/savegames:U,rw,Z --volume ./logs:/opt/megamek/logs:U,rw,Z megamek05006&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;bash-5.2$ ls -al /opt/megamek/
[...]
drwxr-xr-x. 2 games users       64 Dec 27 09:35 logs
drwxr-xr-x. 2 games users        6 Dec 27 09:22 savegames&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Montowanie woluminu dla nieuprzywilejowanego u\u017cytkownika&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;montowanie_woluminu_dla_nieuprzywilejowanego_uzytkownika&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;14664-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:nextcloud&amp;rev=1766127824">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-19T07:03:44+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>nextcloud</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:nextcloud&amp;rev=1766127824</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nextcloud&quot;&gt;Nextcloud&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Różne notatki na różne tematy.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nextcloud&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nextcloud&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-61&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;selinux_dla_nextclouda_w_rhel_centos_fedora&quot;&gt;SELinux dla Nextclouda w RHEL/Centos/Fedora&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;semanage fcontext -a -t httpd_sys_rw_content_t &amp;#039;/var/www/nextcloud/data(/.*)?&amp;#039;
semanage fcontext -a -t httpd_sys_rw_content_t &amp;#039;/var/www/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?&amp;#039;
semanage fcontext -a -t httpd_sys_rw_content_t &amp;#039;/var/www/nextcloud/config(/.*)?&amp;#039;
semanage fcontext -a -t httpd_sys_rw_content_t &amp;#039;/var/www/nextcloud/apps(/.*)?&amp;#039;
semanage fcontext -a -t httpd_sys_rw_content_t &amp;#039;/var/www/nextcloud/.htaccess&amp;#039;
semanage fcontext -a -t httpd_sys_rw_content_t &amp;#039;/var/www/nextcloud/.user.ini&amp;#039;
restorecon -Rv &amp;#039;/var/www/nextcloud/&amp;#039;
setsebool -P httpd_can_network_connect on&lt;/pre&gt;

&lt;p&gt;
Bez tej ostatniej linijki Nextcloud działa, ale nie łączy się ze swoim appstore.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SELinux dla Nextclouda w RHEL\/Centos\/Fedora&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;selinux_dla_nextclouda_w_rhel_centos_fedora&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;62-811&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;nextcloud_update_verify_failed&quot;&gt;Nextcloud update verify failed&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nextcloud podczas aktualizacji zwraca czasem błąd podczas weryfikowania plików, ale nie pokazuje o jakie pliki chodzi. W logach pojawi się:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Thu Dec 17 08:54:39.030667 2020] [access_compat:error] [pid 2539155:tid 2539155] [client ip.ip.ip.ip:58528] AH01797: client denied by server configuration: /var/www/nextcloud/data/.ocdata
[Thu Dec 17 08:55:49.233080 2020] [proxy_fcgi:error] [pid 2551714:tid 2551714] [client ip.ip.ip.ip:58536] AH01071: Got error &amp;#039;PHP message: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 142333816 bytes) in /var/www/nextcloud/updater/index.php on line 754&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Należy wówczas, na czas aktualizacji, zwiększyć pamięć dla PHP do 512 megabajtów:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;; Maximum amount of memory a script may consume (128MB)
memory_limit = 512M&lt;/pre&gt;

&lt;p&gt;
Po aktualizacji można zmniejszyć limit z powrotem do 128. Nextcloud działa dobrze przy ograniczonej pamięci, nie działa jedynie aktualizator.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nextcloud update verify failed&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nextcloud_update_verify_failed&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;812-1813&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;podczas_aktualizacji&quot;&gt;504 podczas aktualizacji&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Inny problem z aktualizacją Nextclouda to tworzenie kopii zapasowej przez aktualizator. Jeżeli danych jest sporo, a serwer niezbyt szybki, Apache zwróci błąd 504. Dzieje się tak, ponieważ aktualizacja jest kontrolowana przez dedykowanego użytkownika i proces php-fpm, więc z punktu widzenia Apache następuje Gateway Timeout. Bez utworzenia kopii zapasowej aktualizacja Nextclouda się nie powiedzie. Wówczas należy:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; usunąć plik /var/www/[katalog_nextcloud]/data/updater-[tag]/.step &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; dodać do vhosta w sekcji &amp;lt;Virtualhost&amp;gt; linjkę &lt;em&gt;ProxyTimeout 480&lt;/em&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; przeładować Apache&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; odświeżyć stronę aktualizatora i dokończyć aktualizację.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Po zakończonej aktualizacji można dodać komentarz przed linijką ProxyTimeout, ponieważ podczas zwyczajnej pracy Nextcloud odpowiada znacznie szybciej.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;504 podczas aktualizacji&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;podczas_aktualizacji&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1814-2682&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;php_81_i_wyzszy&quot;&gt;PHP 8.1 i wyższy&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Oficjalnie Nextcloud 23.x działa tylko do PHP 8.0, ale można go skłonić do pracy na 8.1. Należy poprawić zmienną (właście stałą) PHP_VERSION_ID w pliku lib/versioncheck.php
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// Show warning if &amp;gt; PHP 8.0 is used as Nextcloud is not compatible with &amp;gt; PHP 8.0 for now
if (PHP_VERSION_ID &amp;gt;= 90100) {
	http_response_code(500);
	echo &amp;#039;This version of Nextcloud is not compatible with &amp;gt; PHP 8.0.&amp;lt;br/&amp;gt;&amp;#039;;
	echo &amp;#039;You are currently running &amp;#039; . PHP_VERSION . &amp;#039;.&amp;#039;;
	exit(1);
}&lt;/pre&gt;

&lt;p&gt;
Trzeba to poprawić przy każdej aktualizacji Nextclouda, ponieważ plik będzie nadpisywany.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP 8.1 i wy\u017cszy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php_81_i_wyzszy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2683-3303&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;owncloud_i_brute-force_protection&quot;&gt;Owncloud i Brute-Force Protection&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Po zainstalowaniu rozszerzenia &lt;em&gt;Brute-Force Protection&lt;/em&gt; nie ma jak zdjąć banów, ponieważ rozszerzenie nie posiada takiej funkcjonalności. Poniżej skrypt Basha, który usuwa bany zapytaniami do bazy. Należy w nim poprawić:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; nazwę bazy ownclouda i przedrostek tabel,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; podsieci VPN oraz lokalnej.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Żeby skrypt mógł działać na bazie danych, uruchamiający go użytkownik (na przykład root) powinien mieć plik &lt;em&gt;.my.cnf&lt;/em&gt; pozwalający na logowanie się bez podawania hasła.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/usr/bin/bash
# unban IP addresses from Owncloud application firewall

if [ &amp;quot;$1&amp;quot; = &amp;quot;--ip&amp;quot; ] ; then
  # unban single IP address
  if [ -z $2 ] ; then
    echo &amp;quot;Add ip address, or use --help&amp;quot;
  else
    mysql -e &amp;quot;delete from owncloud.oc_bfp_failed_logins where ip = &amp;#039;${2}&amp;#039;;&amp;quot;
  fi

elif [ &amp;quot;$1&amp;quot; = &amp;quot;--vpn&amp;quot; ] ; then
  # unban all VPN users
  mysql -e &amp;quot;delete from owncloud.oc_bfp_failed_logins where ip like &amp;#039;172.30.50.%&amp;#039;;&amp;quot;
  mysql -e &amp;quot;delete from owncloud.oc_bfp_failed_logins where ip like &amp;#039;172.30.51.%&amp;#039;;&amp;quot;
  mysql -e &amp;quot;delete from owncloud.oc_bfp_failed_logins where ip = &amp;#039;192.168.60.254&amp;#039;;&amp;quot;

elif [ &amp;quot;$1&amp;quot; = &amp;quot;--all&amp;quot; ] ; then
  # unban all IP addresses
  mysql -e &amp;quot;delete from owncloud.oc_bfp_failed_logins;&amp;quot;

elif [ &amp;quot;$1&amp;quot; = &amp;quot;--user&amp;quot; ] ; then
  # unban single user
  if [ -z $2 ] ; then
    echo &amp;quot;Add username, or use --help&amp;quot;
  else
    mysql -e &amp;quot;delete from owncloud.oc_bfp_failed_logins where uid = &amp;#039;${2}&amp;#039;;&amp;quot;
  fi

elif [ &amp;quot;$1&amp;quot; = &amp;quot;--list&amp;quot; ] ; then
  # list users and IP addresses
  mysql -e &amp;quot;select uid as user, \
                   ip as ip_address, \
                   FROM_UNIXTIME(attempted_at) as login_attempt \
            from owncloud.oc_bfp_failed_logins \
            order by 3;&amp;quot;

# help
elif [ &amp;quot;$1&amp;quot; = &amp;quot;--help&amp;quot; ] || [ -z $1 ] ; then
  # echo some instructions
  echo -e &amp;quot;Unban users from Owncloud login page.\r
Please specify:\r
   owncloud_unban --list to view all banned IP&amp;#039;s,\r
   owncloud_unban --all to unban all IP&amp;#039;s,\r
   owncloud_unban --ip [ip.ip.ip.ip] to unban single IP address,\r
   owncloud_unban --vpn to unban all IP&amp;#039;s from VPN and internal networks,\r
   owncloud_unban --user [username] to unban user.&amp;quot;

else
  echo &amp;quot;That did nothing. Try owncloud_unban --help&amp;quot;
fi&lt;/pre&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Owncloud i Brute-Force Protection&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;owncloud_i_brute-force_protection&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3304-5555&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;nextcloud_za_proxy&quot;&gt;Nextcloud za proxy&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Po migracji Nextclouda za proxy wszystko działa, ale niektóre klienty się gubią. Klient na Androida pokazuje status „serwer w trybie konserwacji”. Nie działa również funkcjonalność &lt;em&gt;instant upload&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
Pomaga wówczas dodanie nowej linijki do pliki config.php
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;#039;overwriteprotocol&amp;#039; =&amp;gt; &amp;#039;https&amp;#039;,&lt;/pre&gt;

&lt;p&gt;
źródło:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/nextcloud/android/issues/5945#issuecomment-619783927&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/nextcloud/android/issues/5945#issuecomment-619783927&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/nextcloud/android/issues/5945#issuecomment-619783927&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://docs.nextcloud.com/server/18/admin_manual/configuration_server/reverse_proxy_configuration.html#overwrite-parameters&quot; class=&quot;urlextern&quot; title=&quot;https://docs.nextcloud.com/server/18/admin_manual/configuration_server/reverse_proxy_configuration.html#overwrite-parameters&quot; rel=&quot;ugc nofollow&quot;&gt;https://docs.nextcloud.com/server/18/admin_manual/configuration_server/reverse_proxy_configuration.html#overwrite-parameters&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nextcloud za proxy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nextcloud_za_proxy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5556-6113&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;podstawione_rootca&quot;&gt;Podstawione RootCA&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nextcloud jest za http proxy, które podstawia certyfikat i blokuje wyjście aplikacji do internetu, na przykład e2guardian. Nextcloud nie ufa certyfikatom z pliku &lt;em&gt;/etc/ssl/certs/ca-bundle.crt&lt;/em&gt;, więc trzeba dodać certyfikat e2guardiana do aplikacji Nextcloud:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo -u uzytkownikaplikacyjny /usr/bin/php /sciezka/do/pliku/public_html/occ security:certificates:import /tmp/e2.crt&lt;/pre&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Podstawione RootCA&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;podstawione_rootca&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6114-6538&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;bledy_500_podczas_generowania_miniaturek&quot;&gt;Błędy 500 podczas generowania miniaturek&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nextcloud nawiązuje połączenie do bazy danych podczas generowania każdej jednej miniaturki na kliencie, na przykład w programie Gnome Files. Jeżeli baza danych jest na innym hoście, &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; zaprzestanie odpowiedzi do serwera aplikacyjnego i Nextcloud pokaże błędy 500.
&lt;/p&gt;

&lt;p&gt;
Log Apache:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nextcloud.host.local ip.ip.ip.ip - - [19/Dec/2025:07:13:24 +0100] &amp;quot;PROPFIND /remote.php/webdav HTTP/1.0&amp;quot; 500 289 &amp;quot;-&amp;quot; &amp;quot;gvfs/1.54.4&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Log Unbound:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Dec 19 07:15:03 dnsmasq[32214]: Rate-limiting database.host.local is REFUSED (EDE: blocked)
Dec 19 07:15:03 dnsmasq[32214]: query[A] database.host.local from ip.ip.ip.ip&lt;/pre&gt;

&lt;p&gt;
Log Nextcloud:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{&amp;quot;reqId&amp;quot;:&amp;quot;aUTtBH1cp7_6-vFy1fyFYgAAAAM&amp;quot;,&amp;quot;level&amp;quot;:3,&amp;quot;time&amp;quot;:&amp;quot;2025-12-19T06:13:24+00:00&amp;quot;,&amp;quot;remoteAddr&amp;quot;:&amp;quot;ip.ip.ip.ip&amp;quot;,&amp;quot;user&amp;quot;:&amp;quot;--&amp;quot;,&amp;quot;app&amp;quot;:&amp;quot;core&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;PROPFIND&amp;quot;,&amp;quot;url&amp;quot;:&amp;quot;/remote.php/webdav&amp;quot;,&amp;quot;message&amp;quot;:&amp;quot;Exception thrown: Doctrine\\DBAL\\Exception&amp;quot;,&amp;quot;userAgent&amp;quot;:&amp;quot;gvfs/1.54.4&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;29.0.16.1&amp;quot;,&amp;quot;exception&amp;quot;:{&amp;quot;Exception&amp;quot;:&amp;quot;Doctrine\\DBAL\\Exception&amp;quot;,&amp;quot;Message&amp;quot;:&amp;quot;Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for database.host.local failed: Name or service not known&amp;quot;,&amp;quot;Code&amp;quot;:2002,&amp;quot;Trace&amp;quot;:[{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/3rdparty/doctrine/dbal/src/Connection.php&amp;quot;,&amp;quot;line&amp;quot;:453,&amp;quot;function&amp;quot;:&amp;quot;connect&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\DB\\Connection&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/3rdparty/doctrine/dbal/src/Connection.php&amp;quot;,&amp;quot;line&amp;quot;:411,&amp;quot;function&amp;quot;:&amp;quot;getDatabasePlatformVersion&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;Doctrine\\DBAL\\Connection&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/3rdparty/doctrine/dbal/src/Connection.php&amp;quot;,&amp;quot;line&amp;quot;:318,&amp;quot;function&amp;quot;:&amp;quot;detectDatabasePlatform&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;Doctrine\\DBAL\\Connection&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/DB/ConnectionAdapter.php&amp;quot;,&amp;quot;line&amp;quot;:200,&amp;quot;function&amp;quot;:&amp;quot;getDatabasePlatform&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;Doctrine\\DBAL\\Connection&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/DB/QueryBuilder/QueryBuilder.php&amp;quot;,&amp;quot;line&amp;quot;:121,&amp;quot;function&amp;quot;:&amp;quot;getDatabasePlatform&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\DB\\ConnectionAdapter&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/AppConfig.php&amp;quot;,&amp;quot;line&amp;quot;:1239,&amp;quot;function&amp;quot;:&amp;quot;expr&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\DB\\QueryBuilder\\QueryBuilder&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/AppConfig.php&amp;quot;,&amp;quot;line&amp;quot;:264,&amp;quot;function&amp;quot;:&amp;quot;loadConfig&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\AppConfig&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/legacy/OC_App.php&amp;quot;,&amp;quot;line&amp;quot;:736,&amp;quot;function&amp;quot;:&amp;quot;searchValues&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\AppConfig&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/TemplateLayout.php&amp;quot;,&amp;quot;line&amp;quot;:232,&amp;quot;function&amp;quot;:&amp;quot;getAppVersions&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC_App&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;::&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/legacy/OC_Template.php&amp;quot;,&amp;quot;line&amp;quot;:145,&amp;quot;function&amp;quot;:&amp;quot;__construct&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\TemplateLayout&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/Template/Base.php&amp;quot;,&amp;quot;line&amp;quot;:132,&amp;quot;function&amp;quot;:&amp;quot;fetchPage&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC_Template&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/legacy/OC_Template.php&amp;quot;,&amp;quot;line&amp;quot;:320,&amp;quot;function&amp;quot;:&amp;quot;printPage&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC\\Template\\Base&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/remote.php&amp;quot;,&amp;quot;line&amp;quot;:88,&amp;quot;function&amp;quot;:&amp;quot;printExceptionErrorPage&amp;quot;,&amp;quot;class&amp;quot;:&amp;quot;OC_Template&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;::&amp;quot;},{&amp;quot;file&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/remote.php&amp;quot;,&amp;quot;line&amp;quot;:174,&amp;quot;function&amp;quot;:&amp;quot;handleException&amp;quot;}],&amp;quot;File&amp;quot;:&amp;quot;/path/to/nextcloud/public_html/lib/private/DB/Connection.php&amp;quot;,&amp;quot;Line&amp;quot;:168,&amp;quot;CustomMessage&amp;quot;:&amp;quot;Exception thrown: Doctrine\\DBAL\\Exception&amp;quot;}}&lt;/pre&gt;

&lt;p&gt;
Można dodać wówczas nową linijkę do pliku &lt;em&gt;/etc/hosts&lt;/em&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip.ip.ip.ip database.host.local database&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;B\u0142\u0119dy 500 podczas generowania miniaturek&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bledy_500_podczas_generowania_miniaturek&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6539-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:ikonka_venv&amp;rev=1765865025">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-16T06:03:45+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>ikonka_venv - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:ikonka_venv&amp;rev=1765865025</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ikonka_dla_skryptu_z_virualenv&quot;&gt;Ikonka dla skryptu z virualenv&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Plik ~/.local/bin/mu
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/usr/bin/bash

cd /home/uzytkownik/python/microbit/mu/
source bin/activate
cd /home/uzytkownik/python/microbit/mu/mu-0.9.12/
python3.12 run.py&lt;/pre&gt;

&lt;p&gt;
Plik ~/.local/share/applications/mu.desktop 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Desktop Entry]
Version=1.0
Type=Application
Name=Mu
Name[pl]=Edytor Mu
Keywords=mu
Exec=/usr/bin/bash -i /home/uzytkownik/.local/bin/mu %U
StartupNotify=false&lt;/pre&gt;
&lt;hr /&gt;

&lt;p&gt;
źródło: &lt;a href=&quot;https://askubuntu.com/questions/1018253/launching-script-containing-virtual-env-through-desktop-icon&quot; class=&quot;urlextern&quot; title=&quot;https://askubuntu.com/questions/1018253/launching-script-containing-virtual-env-through-desktop-icon&quot; rel=&quot;ugc nofollow&quot;&gt;https://askubuntu.com/questions/1018253/launching-script-containing-virtual-env-through-desktop-icon&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:mucode&amp;rev=1760628506">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-16T15:28:26+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mucode - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:mucode&amp;rev=1760628506</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mu_code_w_starej_wersji&quot;&gt;Mu Code w starej wersji&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Do nauki Pythona polecam bardzo edytor Mu, ale w starej wersji, kiedy był dedykowany prawie tylko do małych komputerków MicroBit. Jeżeli masz do nich dostęp, możesz nadal używać Mu 0.9.12, ale trzeba go trochę poprawić.
&lt;/p&gt;

&lt;p&gt;
Najpierw trzeba zrobić venva przy użyciu Pythona 3.12. Potem zainstalować zależności:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;alabaster==1.0.0
babel==2.17.0
certifi==2025.10.5
charset-normalizer==3.4.4
coverage==7.11.0
docutils==0.21.2
idna==3.11
imagesize==1.4.1
iniconfig==2.1.0
Jinja2==3.1.6
MarkupSafe==3.0.3
packaging==25.0
pluggy==1.6.0
pycodestyle==2.14.0
pyflakes==3.4.0
Pygments==2.19.2
PyQt5==5.15.11
PyQt5-Qt5==5.15.17
PyQt5_sip==12.17.1
pyserial==3.5
pytest==8.4.2
pytest-cov==7.0.0
QScintilla==2.14.1
requests==2.32.5
roman-numerals-py==3.1.0
setuptools==80.9.0
snowballstemmer==3.0.1
Sphinx==8.2.3
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
urllib3==2.5.0&lt;/pre&gt;

&lt;p&gt;
Trochę przerobiony Mu: &lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:mu-0.9.12-py312.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;wiki:mu-0.9.12-py312.zip (1.4 MB)&quot;&gt;mu-0.9.12-py312.zip&lt;/a&gt; . Zawiera dwie poprawki:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; szare ikonki przystosowane do ciemnego motywu,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; plik &lt;em&gt;mu/interface.py&lt;/em&gt; jest trochę zmieniony&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;777     def autosize_window(self):
778         &amp;quot;&amp;quot;&amp;quot;
779         Makes the editor 80% of the width*height of the screen and centres it.
780         &amp;quot;&amp;quot;&amp;quot;
781         screen = QDesktopWidget().screenGeometry()
782         w = 1000
783         h = 800
784         self.resize(w, h)
785         size = self.geometry()
786         self.move(10, 10)&lt;/pre&gt;

&lt;p&gt;
Po zaaplikowaniu tych dwóch poprawek program działa i nawet nieźle wygląda.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Amucode&amp;amp;media=wiki:mu01.jpg&quot; class=&quot;media&quot; title=&quot;wiki:mu01.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=d1613b&amp;amp;media=wiki:mu01.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Amu01.jpg&amp;ns=wiki&amp;rev=1760628390&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-16T15:26:30+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mu01.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Amu01.jpg&amp;ns=wiki&amp;rev=1760628390&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=a17117&amp;amp;media=wiki:mu01.jpg&quot; alt=&quot;mu01.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Amu-0.9.12-py312.zip&amp;ns=wiki&amp;rev=1760628070&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-16T15:21:10+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>mu-0.9.12-py312.zip - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Amu-0.9.12-py312.zip&amp;ns=wiki&amp;rev=1760628070&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/zip.svg&quot; alt=&quot;mu-0.9.12-py312.zip&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:brother1222&amp;rev=1751477012">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-02T17:23:32+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>brother1222</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:brother1222&amp;rev=1751477012</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;brother_hl1222we&quot;&gt;Brother HL1222WE&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Sterowniki dla Red Hata, Fedory i podobnych:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:hl1210wcupswrapper-3.0.1-1.i386.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:hl1210wcupswrapper-3.0.1-1.i386.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:hl1210wcupswrapper-3.0.1-1.i386.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:hl1210wlpr-3.0.1-1.i386.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:hl1210wlpr-3.0.1-1.i386.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:hl1210wlpr-3.0.1-1.i386.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Instalacja:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo rpm -Uvh hl1210w*
Sprawdzanie poprawności…           ################################# [100%]
Przygotowywanie…                    ################################# [100%]
Aktualizowanie/instalowanie…
   1:hl1210wlpr-3.0.1-1               ################################# [ 50%]
   2:hl1210wcupswrapper-3.0.1-1       ################################# [100%]
lpadmin -p HL1210W -E -v usb://Brother/HL-1210W%20series?serial=E76028F3X749559 -P /usr/share/ppd/brother/brother-HL1210W-cups-en.ppd
lpadmin: Printer drivers are deprecated and will stop working in a future version of CUPS.&lt;/pre&gt;

&lt;p&gt;
Pulpit Gnome oraz Cups same zajmą się konfiguracją:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Abrother1222&amp;amp;media=wiki:drukarka1222.jpg&quot; class=&quot;media&quot; title=&quot;wiki:drukarka1222.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=186837&amp;amp;media=wiki:drukarka1222.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Na systemie CentOS 10 sytuacja nie jest już taka prosta. Trzeba skompilować i zainstalować poniższy kod:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:brlaser-master.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;wiki:brlaser-master.zip (34.9 KB)&quot;&gt;brlaser-master.zip&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cmake .
make
sudo make install    &lt;/pre&gt;

&lt;p&gt;
Po zastosowaniu powższego można zmienić sterownik drukarki na &lt;em&gt;Brother HL-1200 series, using brlaser v6&lt;/em&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://support.brother.com/g/b/downloadtop.aspx?c=eu_ot&amp;amp;lang=en&amp;amp;prod=hl1222we_eu&quot; class=&quot;urlextern&quot; title=&quot;https://support.brother.com/g/b/downloadtop.aspx?c=eu_ot&amp;amp;lang=en&amp;amp;prod=hl1222we_eu&quot; rel=&quot;ugc nofollow&quot;&gt;https://support.brother.com/g/b/downloadtop.aspx?c=eu_ot&amp;amp;lang=en&amp;amp;prod=hl1222we_eu&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://github.com/pdewacht/brlaser&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/pdewacht/brlaser&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/pdewacht/brlaser&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Abrlaser-master.zip&amp;ns=wiki&amp;rev=1751196867&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-29T11:34:27+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>brlaser-master.zip - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Abrlaser-master.zip&amp;ns=wiki&amp;rev=1751196867&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/zip.svg&quot; alt=&quot;brlaser-master.zip&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:ansible&amp;rev=1745649909">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-26T06:45:09+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>ansible</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:ansible&amp;rev=1745649909</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ansible&quot;&gt;Ansible&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;sprawdzanie_czy_dzisiejszy_cronowy_playbook_wykonal_sie_prawidlowo&quot;&gt;Sprawdzanie, czy dzisiejszy, &amp;quot;cronowy&amp;quot; playbook wykonał się prawidłowo&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;cat ansible.log | grep -E &amp;quot;^$(date &amp;quot;+%Y-%m-%d&amp;quot;).*failed&amp;quot; | grep -Ev &amp;quot;failed\=0&amp;quot; | wc -l&lt;/pre&gt;

&lt;p&gt;
Zakładając, że powyższe polecenie jest w pliku check_failed.sh i ścieżka do pliku z logami jest poprawna, można wysłać raport raport na &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;---
- name: Send status on IRC
  hosts: my-host.ping.local

  tasks:

  - name: Check failed tasks
    command: &amp;#039;/usr/bin/bash /home/lukasz/ansible/helpers/check_failed.sh&amp;#039;
    register: fails

  - name: Send a report to a fedora-pl channel
    irc:
      server: irc.libera.chat
      port: 6667
      nick: raport
      channel: &amp;#039;#fedora-pl&amp;#039;
      msg: &amp;quot;[ANSIBLE] Todays failed tasks: {{ fails[&amp;#039;stdout_lines&amp;#039;][0] }}.&amp;quot;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;plik_konfiguracyjny&quot;&gt;Plik konfiguracyjny&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[defaults]                                                                                                                             
inventory=~/ansible/hosts
log_path=~/ansible/var/ansible.log
remote_user=ansemble
interpreter_python=auto_silent
[privilege_escalation]
become=True
become_ask_pass=False
become_method=sudo
[persistent_connection]
[connection]
[colors]
[selinux]
[diff]
[galaxy]
[inventory]
[netconf_connection]
[paramiko_connection]
[jinja2]
[tags]
[runas_become_plugin]
[su_become_plugin]
[sudo_become_plugin]
[callback_tree]
[ssh_connection]
ssh_args = -C -o ServerAliveInterval=33 -o ControlMaster=auto -o ControlPersist=66s
timeout=21
[winrm]
[inventory_plugins]
[inventory_plugin_script]
[inventory_plugin_yaml]
[url_lookup]
[powershell]
[vars_host_group_vars]&lt;/pre&gt;

&lt;p&gt;
Ustawienie &lt;em&gt;auto_silent&lt;/em&gt; usuwa ostrzeżenia o wersji Pythona z każdego przebiegu playbooków. Warto użyć nazwy użytkownika, która nie jest zbyt często zgadywana przez boty.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;petle_w_playbookach_oraz_helpery&quot;&gt;Pętle w playbookach oraz helpery&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Przykład playbooka korzystącego z pętli:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;---
- name: Enable users
  hosts: all

  tasks:

  - name: Ensure that users exists and are in correct groups
    include_tasks: helpers/users_enable.yaml
    loop:
    - {username: lukasz, comment: Lukasz, sshkey: &amp;quot;{{ lookup(&amp;#039;file&amp;#039;, &amp;#039;ssh_keys/lukasz&amp;#039;) }}&amp;quot;}

#  - name: Ensure that users can not login
#    include_tasks: helpers/users_disable.yaml
#    loop:
#    - {username: qwerty, comment: QWERTY, sshkey: &amp;quot;{{ lookup(&amp;#039;file&amp;#039;, &amp;#039;ssh_keys/QWERTY&amp;#039;) }}&amp;quot;}&lt;/pre&gt;

&lt;p&gt;
Plik helpers/user_enable.yaml:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;- debug:
    msg: user - {{ item.username }}


- name: Ensure user exists and is in correct groups on FreeBSD
  user:
    name: &amp;quot;{{ item.username }}&amp;quot; 
    comment: &amp;quot;{{ item.comment }}&amp;quot;
    shell: /usr/local/bin/bash
    groups: wheel
    append: yes
  when: ansible_os_family == &amp;#039;FreeBSD&amp;#039;

- name: Ensure user exists and is in correct groups on Gentoo and RedHat-like hosts
  user:
    name: &amp;quot;{{ item.username }}&amp;quot; 
    comment: &amp;quot;{{ item.comment }}&amp;quot;
    shell: /bin/bash
    groups: wheel
    append: yes
  when: ansible_os_family == &amp;#039;Gentoo&amp;#039; or ansible_os_family == &amp;#039;RedHat&amp;#039;

- name: Ensure user exists and is in correct groups on Debian-like hosts
  user:
    name: &amp;quot;{{ item.username }}&amp;quot; 
    comment: &amp;quot;{{ item.comment }}&amp;quot;
    shell: /bin/bash
    groups: sudo
    append: yes
  when: ansible_os_family == &amp;#039;Debian&amp;#039;

- name: Set authorized SSH keys for user
  authorized_key:
    user: &amp;quot;{{ item.username }}&amp;quot;
    key: &amp;quot;{{ item.sshkey }}&amp;quot;
    state: present
    exclusive: True

- name: Ensure user is able to log in
  user:
    name: &amp;quot;{{ item.username }}&amp;quot;
    password_lock: no

- name: Set permissions to home directory
  file:
    path: /home/{{ item.username }}
    owner: &amp;quot;{{ item.username }}&amp;quot;
    group: &amp;quot;{{ item.username }}&amp;quot;
    mode: &amp;#039;700&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Plik helpers/user_disable.yaml:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;- debug:
    msg: user - {{ item.username }}

- name: Ensure user is not able to log in
  user:
    name: &amp;quot;{{ item.username }}&amp;quot;
    password_lock: yes

- name: Unset authorized SSH keys for user
  authorized_key:
    user: &amp;quot;{{ item.username }}&amp;quot;
    key: &amp;quot;{{ item.sshkey }}&amp;quot;
    state: absent

- name: Set permissions to home directory on Linux
  file:
    owner: root
    group: root
    path: /home/{{ item.username }}
    mode: &amp;#039;700&amp;#039;
  when: ansible_os_family == &amp;#039;Gentoo&amp;#039; or ansible_os_family == &amp;#039;RedHat&amp;#039; or ansible_os_family == &amp;#039;Debian&amp;#039;

- name: Set permissions to home directory on FreeBSD
  file:
    owner: root
    group: wheel
    path: /home/{{ item.username }}
    mode: &amp;#039;700&amp;#039;
  when: ansible_os_family == &amp;#039;FreeBSD&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Plik w katalogu &lt;em&gt;ssh_keys&lt;/em&gt; jest skopiowany z &lt;em&gt;~/.ssh/id_rsa.pub&lt;/em&gt;.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;ansible_29_na_centos_stream_8&quot;&gt;Ansible 2.9 na CentOS Stream 8&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
W repozytorium ósmego Streama pojawiły się pakiety ansible-core w nowych wersjach, niekompatybilne z playbookami pisanymi pod wersję 2.9. Stara wersja jest wciąż dostępna na EPEL-u:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dnf install epel-release
dnf install ansible --exclude=ansible-core&lt;/pre&gt;

&lt;p&gt;
Do pliku /etc/yum.conf warto dodać wyjątek, żeby nie musieć o nim ciągle pamiętać.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;exclude=ansible-core&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;ansible_218_i_python&quot;&gt;Ansible 2.18 i Python&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Nowe wersje Ansibla wymagają Pythona 3.8 na klientach. W RHEL8 domyślnym jest Python 3.6, więc trzeba doinstalować nowszego. Błąd można wywołać nawet pingiem
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ansible -m ping all -o&lt;/pre&gt;

&lt;p&gt;
i wygląda on tak:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;An exception occurred during task execution. To see the full traceback, use -vvv. The error was: SyntaxError: future feature annotations
 is not defined                                                                                                                         
host.local | FAILED! =&amp;gt; {&amp;quot;ansible_facts&amp;quot;: {&amp;quot;discovered_interpreter_python&amp;quot;: &amp;quot;/usr/bin/python3&amp;quot;},&amp;quot;changed&amp;quot;: false,&amp;quot;module_stder
r&amp;quot;: &amp;quot;Shared connection to host.local closed.\r\n&amp;quot;,&amp;quot;module_stdout&amp;quot;: &amp;quot;Traceback (most recent call last):\r\n  File \&amp;quot;/home/antik
/.ansible/tmp/ansible-tmp-1745649074.378917-9407-261269877273608/AnsiballZ_ping.py\&amp;quot;, line 107, in &amp;lt;module&amp;gt;\r\n    _ansiballz_main()\r\n
  File \&amp;quot;/home/antik/.ansible/tmp/ansible-tmp-1745649074.378917-9407-261269877273608/AnsiballZ_ping.py\&amp;quot;, line 99, in _ansiballz_main\r\
n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\r\n  File \&amp;quot;/home/antik/.ansible/tmp/ansible-tmp-1745649074.378917-9407-2612
69877273608/AnsiballZ_ping.py\&amp;quot;, line 44, in invoke_module\r\n    from ansible.module_utils import basic\r\n  File \&amp;quot;&amp;lt;frozen importlib._
bootstrap&amp;gt;\&amp;quot;, line 971, in _find_and_load\r\n  File \&amp;quot;&amp;lt;frozen importlib._bootstrap&amp;gt;\&amp;quot;, line 951, in _find_and_load_unlocked\r\n  File \&amp;quot;
&amp;lt;frozen importlib._bootstrap&amp;gt;\&amp;quot;, line 894, in _find_spec\r\n  File \&amp;quot;&amp;lt;frozen importlib._bootstrap_external&amp;gt;\&amp;quot;, line 1157, in find_spec\r
\n  File \&amp;quot;&amp;lt;frozen importlib._bootstrap_external&amp;gt;\&amp;quot;, line 1131, in _get_spec\r\n  File \&amp;quot;&amp;lt;frozen importlib._bootstrap_external&amp;gt;\&amp;quot;, line 
1112, in _legacy_get_spec\r\n  File \&amp;quot;&amp;lt;frozen importlib._bootstrap&amp;gt;\&amp;quot;, line 441, in spec_from_loader\r\n  File \&amp;quot;&amp;lt;frozen importlib._boot
strap_external&amp;gt;\&amp;quot;, line 544, in spec_from_file_location\r\n  File \&amp;quot;/tmp/ansible_ping_payload_598r6p8l/ansible_ping_payload.zip/ansible/
module_utils/basic.py\&amp;quot;, line 5\r\nSyntaxError: future feature annotations is not defined\r\n&amp;quot;,&amp;quot;msg&amp;quot;: &amp;quot;MODULE FAILURE: No start of json 
char found\nSee stdout/stderr for the exact error&amp;quot;,&amp;quot;rc&amp;quot;: 1}&lt;/pre&gt;

&lt;p&gt;
Na maszynie &lt;em&gt;host.local&lt;/em&gt; trzeba zainstalować nowszego Pythona:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# dnf module enable python39
# dnf install python39&lt;/pre&gt;

&lt;p&gt;
i w inwentarzu Ansibla poprawić każde wystąpienia &lt;em&gt;host.local&lt;/em&gt; na:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;host.local ansible_python_interpreter=/usr/bin/python3.9&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:vbox_mem&amp;rev=1734860383">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-22T09:39:43+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>vbox_mem - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:vbox_mem&amp;rev=1734860383</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;virtualbox_low_memory&quot;&gt;Virtualbox LOW_MEMORY&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Jeżeli podczas uruchiania wirtualki w logu pojawia się błąd:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;VERR_NO_LOW_MEMORY (-72) - Out of memory condition when allocating memory with low physical backing&lt;/pre&gt;

&lt;p&gt;
pomaga zapisanie trójki do drop_caches jako root:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;/pre&gt;
&lt;hr /&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://www.virtualbox.org/ticket/22160#no1&quot; class=&quot;urlextern&quot; title=&quot;https://www.virtualbox.org/ticket/22160#no1&quot; rel=&quot;ugc nofollow&quot;&gt;błąd 22160&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:graylog&amp;rev=1733411205">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-05T15:06:45+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>graylog - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:graylog&amp;rev=1733411205</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;graylog&quot;&gt;Graylog&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Traktować jako opis, nie przepis.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Graylog&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;graylog&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-59&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;instalacja_na_rhel9_i_podobnych&quot;&gt;Instalacja na RHEL9 i podobnych&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Należy zainstalować trzy rzeczy:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MongoDB,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Datanode,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Graylog.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pamiętaj, że licencja MongoDB nie pozwala na redystrybucję dla klientów, ale na swoje potrzeby można tego używać. Pakiet graylog-server zawiera Javę od Eclipse oraz forka ElasticSearch nazwanego Opensearch.
&lt;/p&gt;

&lt;p&gt;
Polecam taką konfigurację sprzętową, lub wirtualną:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 8x CPU&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 32 gigabajty ramu,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; dysk co najmniej 250 gigabajtów na dane w katalogu /var/lib/graylog-datanode ; lokalizację danych można zmienić, ale mi się nie chciało.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Nie polegam tutaj na zewnętrznych repozytoriach, ponieważ serwer z Graylogiem nie ma wyjścia na internet. Można zrobić reposync MongoDB oraz Grayloga, ale niektóre pliki RPM zajmują ponad gigabajt.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;instalacja_mongodb&quot;&gt;Instalacja MongoDB&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Lista pakietów RPM:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-database-tools-100.10.0-1.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-database-tools-100.10.0-1.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-database-tools-100.10.0-1.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-mongosh-2.3.4.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-mongosh-2.3.4.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-mongosh-2.3.4.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-7.0.9-1.el9.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-7.0.9-1.el9.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-7.0.9-1.el9.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-database-7.0.9-1.el9.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-database-7.0.9-1.el9.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-database-7.0.9-1.el9.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-database-tools-extra-7.0.9-1.el9.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-database-tools-extra-7.0.9-1.el9.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-database-tools-extra-7.0.9-1.el9.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-mongos-7.0.9-1.el9.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-mongos-7.0.9-1.el9.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-mongos-7.0.9-1.el9.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-server-7.0.9-1.el9.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-server-7.0.9-1.el9.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-server-7.0.9-1.el9.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-tools-7.0.9-1.el9.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-tools-7.0.9-1.el9.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://repo.mongodb.org/yum/redhat/9Server/mongodb-org/7.0/x86_64/RPMS/mongodb-org-tools-7.0.9-1.el9.x86_64.rpm&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Pobrać do jednego katalogu i zainstalować:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# rpm -Uvh *rpm&lt;/pre&gt;

&lt;p&gt;
Niektórych z tych narzędzi nie będziemy potrzebować, ale aplikacje Mongo nie zajmują dużo miejsca na dysku i bez dostępu do internetu musiałbym ich szukać. Mongo nie wymaga tutaj żadnej dodatkowej konfiguracji. Nie trzeba też otwierać na firewallu żadnego portu.
&lt;/p&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat/&quot; class=&quot;urlextern&quot; title=&quot;https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat/&lt;/a&gt; .
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;

&lt;h5 id=&quot;instalacja_datanode&quot;&gt;Instalacja Datanode&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Link do pakietu RPM: &lt;a href=&quot;https://packages.graylog2.org/repo/el/stable/6.1/x86_64/graylog-datanode-6.1.3-1.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://packages.graylog2.org/repo/el/stable/6.1/x86_64/graylog-datanode-6.1.3-1.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://packages.graylog2.org/repo/el/stable/6.1/x86_64/graylog-datanode-6.1.3-1.x86_64.rpm&lt;/a&gt; . Pobrać i zainstalować.
&lt;/p&gt;

&lt;p&gt;
Zalecenia są takie, żeby dać procesom więcej pamięci. Napisać plik &lt;em&gt;/etc/sysctl.d/90-graylog.conf&lt;/em&gt; o treści:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;vm.max_map_count=262144&lt;/pre&gt;

&lt;p&gt;
i zaczytać:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sysctl -p /etc/sysctl.d/90-graylog.conf
# cat /proc/sys/vm/max_map_count
262144&lt;/pre&gt;

&lt;p&gt;
Teraz można wylosować podejrzanie długie hasło:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt; /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;&lt;/pre&gt;

&lt;p&gt;
które należy wpisać do pliku &lt;em&gt;/etc/graylog/datanode/datanode.conf&lt;/em&gt; w linijce
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;password_secret = &lt;/pre&gt;

&lt;p&gt;
i uruchomić datanode:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# systemctl enable graylog-datanode
# systemctl start graylog-datanode&lt;/pre&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://go2docs.graylog.org/current/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Install%20Graylog%7COperating%20System%20Packages%7C_____2#InstallDataNode&quot; class=&quot;urlextern&quot; title=&quot;https://go2docs.graylog.org/current/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Install%20Graylog%7COperating%20System%20Packages%7C_____2#InstallDataNode&quot; rel=&quot;ugc nofollow&quot;&gt;https://go2docs.graylog.org/current/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Install%20Graylog%7COperating%20System%20Packages%7C_____2#InstallDataNode&lt;/a&gt; . 
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;

&lt;h5 id=&quot;instalacja_grayloga&quot;&gt;Instalacja Grayloga&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Link do pliku RPM: &lt;a href=&quot;https://packages.graylog2.org/repo/el/stable/6.1/x86_64/graylog-server-6.1.3-1.x86_64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://packages.graylog2.org/repo/el/stable/6.1/x86_64/graylog-server-6.1.3-1.x86_64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://packages.graylog2.org/repo/el/stable/6.1/x86_64/graylog-server-6.1.3-1.x86_64.rpm&lt;/a&gt; . Pobrać i zainstalować.
&lt;/p&gt;

&lt;p&gt;
W pliku &lt;em&gt;/etc/graylog/server/server.conf&lt;/em&gt; w linijce 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;password_secret = &lt;/pre&gt;

&lt;p&gt;
przepisać hasło z pliku &lt;em&gt;/etc/graylog/datanode/datanode.conf&lt;/em&gt; .
&lt;/p&gt;

&lt;p&gt;
Teraz wygenerować sumę hasła do Grayloga:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# echo -n &amp;quot;Enter Password: &amp;quot; &amp;amp;&amp;amp; head -1 &amp;lt;/dev/stdin | tr -d &amp;#039;\n&amp;#039; | sha256sum | cut -d&amp;quot; &amp;quot; -f1
  [podać hasło]&lt;/pre&gt;

&lt;p&gt;
Zwróconą sumę przepisać do pliku &lt;em&gt;/etc/graylog/server/server.conf&lt;/em&gt; w linijce
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;root_password_sha2 =&lt;/pre&gt;

&lt;p&gt;
Całościowo plik &lt;em&gt;/etc/graylog/server/server.conf&lt;/em&gt; może tak wyglądać:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# cat /etc/graylog/server/server.conf | grep -Ev &amp;#039;^#|^$&amp;#039;
is_leader = true
node_id_file = /etc/graylog/server/node-id
password_secret = ........................
root_password_sha2 = .....................
bin_dir = /usr/share/graylog-server/bin
data_dir = /var/lib/graylog-server
plugin_dir = /usr/share/graylog-server/plugin
http_bind_address = 0.0.0.0:9000
http_enable_cors = true
stream_aware_field_types=false
trusted_proxies = 127.0.0.1/32
disabled_retention_strategies = none,close
allow_leading_wildcard_searches = false
allow_highlighting = false
field_value_suggestion_mode = on
output_batch_size = 500
output_flush_interval = 1
output_fault_count_threshold = 5
output_fault_penalty_seconds = 30
processor_wait_strategy = blocking
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_wait_strategy = blocking
message_journal_enabled = true
message_journal_dir = /var/lib/graylog-server/journal
lb_recognition_period_seconds = 3
mongodb_uri = mongodb://localhost/graylog
mongodb_max_connections = 1000
integrations_scripts_dir = /usr/share/graylog-server/scripts&lt;/pre&gt;

&lt;p&gt;
Można już uruchomić aplikację:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# systemctl enable graylog-server
# systemctl restart graylog-server&lt;/pre&gt;

&lt;p&gt;
W logu &lt;em&gt;/var/log/graylog-server/server.log&lt;/em&gt; czasem można znaleźć linijki 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;2024-11-30T15:42:43.704+01:00 WARN  [IndexerClusterCheckerThread] Elasticsearch node [192.168.111.45] triggered [ES_NODE_DISK_WATERMARK_HIGH] due to low free disk space&lt;/pre&gt;

&lt;p&gt;
i w takim wypadku trzeba przydzielić więcej miejsca do katalogu &lt;em&gt;/var/lib/graylog-datanode&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
Jeżeli Graylog uruchomił się poprawnie, we wspomnianym logu pojawi się zapis:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;========================================================================================================

It seems you are starting Graylog for the first time. To set up a fresh install, a setup interface has
been started. You must log in to it to perform the initial configuration and continue.

Initial configuration is accessible at 0.0.0.0:9000, with username &amp;#039;admin&amp;#039; and password &amp;#039;.........&amp;#039;.
Try clicking on http://admin:.........@0.0.0.0.0:9000

========================================================================================================&lt;/pre&gt;

&lt;p&gt;
Trzeba na chwilkę otworzyć port 9000/tcp na firewallu, żeby wejść na stronę konfiguratora i w czterech krokach utworzyć certyfikat oraz indeks w Opensearch. To nie będzie certyfikat dla strony administracyjnej Grayloga, więc nie trzeba się nim za bardzo przejmować i utworzyć jeden na 20 lat. Zamiast 0.0.0.0 trzeba napisać adres IP serwera z aplikacją. Po przejściu konfiguratora można zamknąć port 9000.
&lt;/p&gt;

&lt;p&gt;
Źródło: &lt;a href=&quot;https://go2docs.graylog.org/current/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Install%20Graylog%7COperating%20System%20Packages%7C_____2#InstallGraylog&quot; class=&quot;urlextern&quot; title=&quot;https://go2docs.graylog.org/current/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Install%20Graylog%7COperating%20System%20Packages%7C_____2#InstallGraylog&quot; rel=&quot;ugc nofollow&quot;&gt;https://go2docs.graylog.org/current/downloading_and_installing_graylog/red_hat_installation.htm?tocpath=Install%20Graylog%7COperating%20System%20Packages%7C_____2#InstallGraylog&lt;/a&gt; . 
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;

&lt;h5 id=&quot;proxy_na_nginx&quot;&gt;Proxy na Nginx&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Trzeba mieć zainstalowanego Nginxa i wygenerowany / kupiony jakikolwiek certyfikat SSL.
&lt;/p&gt;

&lt;p&gt;
Plik &lt;em&gt;/etc/nginx/proxy_params&lt;/em&gt; , zawierający dosyć standardowe ustawienia:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

client_max_body_size 64M;

add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains; preload&amp;quot;;
#add_header X-Frame-Options SAMEORIGIN;
#add_header X-Content-Type-Options nosniff,sameorigin;
#add_header Content-Security-Policy &amp;quot;default-src &amp;#039;self&amp;#039;&amp;quot;;
add_header X-XSS-Protection &amp;quot;1; mode=block&amp;quot;;
add_header Referrer-Policy &amp;quot;origin&amp;quot;;

proxy_intercept_errors on;
#proxy_redirect off;&lt;/pre&gt;

&lt;p&gt;
Zwrócić uwagę na komentarze. Uri &lt;em&gt;/api&lt;/em&gt; nie chce mi się ładować w przeglądarce, kiedy te ustawienia są włączone. Jeszcze nie wiem, dlaczego.
&lt;/p&gt;

&lt;p&gt;
Plik vhosta, na przykład &lt;em&gt;/etc/nginx/conf.d/graylog.conf&lt;/em&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;server {
  listen 80;
  server_name log1.ping.local;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  server_name log1.ping.local;
  location / {
    proxy_pass http://127.0.0.1:9000;
    include proxy_params;
  }
  
  ssl_certificate_key /etc/ssl/nginx/log1.ping.local.key;
  ssl_certificate     /etc/ssl/nginx/log1.ping.local.crt;
}&lt;/pre&gt;

&lt;p&gt;
I można używać Grayloga po normalnym https, który nie jest skonfigurowany w samej aplikacji.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Instalacja na RHEL9 i podobnych&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;instalacja_na_rhel9_i_podobnych&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;60-8178&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;logi_z_journala&quot;&gt;Logi z journala&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Graylog nie umie Journald i trzeba mu trochę pomóc.
&lt;/p&gt;

&lt;p&gt;
W aplikacji Graylog trzeba dodać nowy „input” typu „Syslog UDP”
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Agraylog&amp;amp;media=wiki:gl_input01.jpg&quot; class=&quot;media&quot; title=&quot;wiki:gl_input01.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=a5c8d6&amp;amp;media=wiki:gl_input01.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
nasłuchujący na 0.0.0.0 na jakimś wysokim porcie typu 10010
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Agraylog&amp;amp;media=wiki:gl_input02.jpg&quot; class=&quot;media&quot; title=&quot;wiki:gl_input02.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=6634d6&amp;amp;media=wiki:gl_input02.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
W celu ochrony przed spamem, należy otworzyć na firewallu port 10010/udp, ale tylko dla obserwowanej maszyny. Inne maszyny będą miały nowe „inputy” na innych portach.
&lt;/p&gt;

&lt;p&gt;
Na obserwowanej maszynie można zrobić nowy serwis w pliku &lt;em&gt;/etc/systemd/system/journalsyslog.service&lt;/em&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Unit]
Description=Send Journalctl to Syslog

[Service]
TimeoutStartSec=0
ExecStart=/bin/sh -c &amp;#039;/usr/bin/journalctl -o short-iso -f | ncat -u log1.ping.local 10010&amp;#039;

Restart=always
RestartSec=11s

[Install]
WantedBy=multi-user.target&lt;/pre&gt;

&lt;p&gt;
Po uruchomieniu:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# systemctl daemon-reload
# systemctl enable journalsyslog
# systemctl restart journalsyslog&lt;/pre&gt;

&lt;p&gt;
w panelu administracyjnym Grayloga będzie widać pierwsze zagregowane logi.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Logi z journala&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;logi_z_journala&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;8179-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Agl_input02.jpg&amp;ns=wiki&amp;rev=1733410414&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-05T14:53:34+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>gl_input02.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Agl_input02.jpg&amp;ns=wiki&amp;rev=1733410414&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=dec3ad&amp;amp;media=wiki:gl_input02.jpg&quot; alt=&quot;gl_input02.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Agl_input01.jpg&amp;ns=wiki&amp;rev=1733410327&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-05T14:52:07+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>gl_input01.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Agl_input01.jpg&amp;ns=wiki&amp;rev=1733410327&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=e8e8ff&amp;amp;media=wiki:gl_input01.jpg&quot; alt=&quot;gl_input01.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:gtk3motyw&amp;rev=1731433991">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-12T17:53:11+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>gtk3motyw - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:gtk3motyw&amp;rev=1731433991</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;gtk_i_motywy&quot;&gt;GTK i motywy&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Stare GTK konfiguruje się za pomocą plików &lt;em&gt;.gtkrc&lt;/em&gt; oraz &lt;em&gt;.gtkrc-2.0&lt;/em&gt;, ale teraz można ustawić motyw aplikacji zmiennymi środowiskowymi, na przykład:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;GTK_THEME=Adwaita:light gnome-calculator
GTK_THEME=Adwaita:dark gnome-calculator&lt;/pre&gt;

&lt;p&gt;
Linijka &lt;em&gt;Exec&lt;/em&gt; dla pliku dekstop do ikonki VLC na pulpicie Gnome:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Exec=env GTK_THEME=Adwaita:dark env QT_QPA_PLATFORMTHEME=qt5ct /usr/bin/vlc --started-from-file %U&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:firefox&amp;rev=1729416554">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-20T09:29:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>firefox</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:firefox&amp;rev=1729416554</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;firefox&quot;&gt;Firefox&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Różne rzeczy.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Przyspieszenie przewijania kółkiem myszki w &lt;em&gt;about:confg&lt;/em&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mousewheel.min_line_scroll_amount 40&lt;/pre&gt;

&lt;p&gt;
Ciemny motyw na każdej stronie. Nawet takiej, która go nie ma.
&lt;/p&gt;

&lt;p&gt;
Menu Edycja → Ustawienia → Język i wygląd → Zarządzaj kolorami…
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Afirefox&amp;amp;media=wiki:firefox_c.png&quot; class=&quot;media&quot; title=&quot;wiki:firefox_c.png&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=f93f53&amp;amp;media=wiki:firefox_c.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Afirefox_c.png&amp;ns=wiki&amp;rev=1729416520&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-20T09:28:40+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>firefox_c.png - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Afirefox_c.png&amp;ns=wiki&amp;rev=1729416520&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=5e8025&amp;amp;media=wiki:firefox_c.png&quot; alt=&quot;firefox_c.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:qt5motyw&amp;rev=1729328016">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-19T08:53:36+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>qt5motyw - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:qt5motyw&amp;rev=1729328016</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;qt5_i_motywy&quot;&gt;QT5 i motywy&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Skonfigurować wygląd w programie qt5ct.
&lt;/p&gt;

&lt;p&gt;
Aplikacje trzeba uruchamiać ze zmienną QT_QPA_PLATFORMTHEME=&amp;#039;qt5ct&amp;#039;, na przykład:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;QT_QPA_PLATFORMTHEME=&amp;#039;qt5ct&amp;#039; qt5ct&lt;/pre&gt;

&lt;p&gt;
Nie wszystkie aplikacje czytają tę zmienną. Czasem zadziała, a czasem nie. Można też poprawić plik desktop aplikacji, żeby zmieniła swój domyślny motyw, na przykład:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Exec=env QT_QPA_PLATFORMTHEME=qt5ct /usr/bin/vlc --started-from-file %U&lt;/pre&gt;

&lt;/div&gt;
</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?id=wiki:java_console&amp;rev=1727368501">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-26T16:35:01+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>java_console</title>
        <link>https://wiki.baszarek.pl/doku.php?id=wiki:java_console&amp;rev=1727368501</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ustawienia_javaws_dla_starych_ilosow_i_idracow&quot;&gt;Ustawienia javaws dla starych ilosów i idraców&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Potrzebna jest nieco starsza Java: &lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:jre-8u301-linux-x64.rpm&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:jre-8u301-linux-x64.rpm&quot; rel=&quot;ugc nofollow&quot;&gt;https://wiki.baszarek.pl/lib/exe/fetch.php?media=wiki:jre-8u301-linux-x64.rpm&lt;/a&gt; .
&lt;/p&gt;

&lt;p&gt;
W pliku /usr/java/default/lib/security/java.security zamienić trzy linijki:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA &amp;amp; usage TLSServer, \
RSA keySize &amp;lt; 1024, DSA keySize &amp;lt; 1024, EC keySize &amp;lt; 224

jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize &amp;lt; 1024, DSA keySize &amp;lt; 1024

jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize &amp;lt; 1024, \
EC keySize &amp;lt; 224, 3DES_EDE_CBC, anon, NULL&lt;/pre&gt;

&lt;p&gt;
na
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;jdk.certpath.disabledAlgorithms=MD2
jdk.jar.disabledAlgorithms=MD2
jdk.tls.disabledAlgorithms=MD2&lt;/pre&gt;

&lt;p&gt;
Potem można dostać się do konsoli poleceniem:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/usr/java/default/bin/javaws konsola.jnlp&lt;/pre&gt;

&lt;p&gt;
W pliku jnlp jest zapisany użytkownik i hasło jako token, ale w przypadku Della można je zmienić na login i hasło do iDraca, co pozwala na nielimitowany czasowo dostęp do konsoli. Montowanie plików ISO również działa.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ustawienia javaws dla starych ilos\u00f3w i idrac\u00f3w&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustawienia_javaws_dla_starych_ilosow_i_idracow&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1039&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;zaufane_witryny&quot;&gt;Zaufane witryny&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Warto dodać strony idraców do zaufanych w programie jcontrol.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.baszarek.pl/lib/exe/detail.php?id=wiki%3Ajava_console&amp;amp;media=wiki:jcontrol.jpg&quot; class=&quot;media&quot; title=&quot;wiki:jcontrol.jpg&quot;&gt;&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=400&amp;amp;tok=3b677a&amp;amp;media=wiki:jcontrol.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Zaufane witryny&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zaufane_witryny&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1040-1161&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;your_java_version_is_out_of_date&quot;&gt;Your Java version is out of date.&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Jeżeli pojawia się ostrzeżenie o zbyt starej wersji Javy, można je obejść parametrem &lt;em&gt;verbose&lt;/em&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/usr/java/default/bin/javaws -verbose konsola.jnlp&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Your Java version is out of date.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;your_java_version_is_out_of_date&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1162-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Ajcontrol.jpg&amp;ns=wiki&amp;rev=1727368251&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-26T16:30:51+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>jcontrol.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Ajcontrol.jpg&amp;ns=wiki&amp;rev=1727368251&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=6102b6&amp;amp;media=wiki:jcontrol.jpg&quot; alt=&quot;jcontrol.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Adrukarka1222.jpg&amp;ns=wiki&amp;rev=1707665155&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-11T15:25:55+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>drukarka1222.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Adrukarka1222.jpg&amp;ns=wiki&amp;rev=1707665155&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=0cdd9b&amp;amp;media=wiki:drukarka1222.jpg&quot; alt=&quot;drukarka1222.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Ahl1210wlpr-3.0.1-1.i386.rpm&amp;ns=wiki&amp;rev=1707664757&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-11T15:19:17+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>hl1210wlpr-3.0.1-1.i386.rpm - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Ahl1210wlpr-3.0.1-1.i386.rpm&amp;ns=wiki&amp;rev=1707664757&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/rpm.svg&quot; alt=&quot;hl1210wlpr-3.0.1-1.i386.rpm&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Ahl1210wcupswrapper-3.0.1-1.i386.rpm&amp;ns=wiki&amp;rev=1707664757&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-11T15:19:17+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>hl1210wcupswrapper-3.0.1-1.i386.rpm - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Ahl1210wcupswrapper-3.0.1-1.i386.rpm&amp;ns=wiki&amp;rev=1707664757&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/rpm.svg&quot; alt=&quot;hl1210wcupswrapper-3.0.1-1.i386.rpm&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_instdd2.jpg&amp;ns=wiki&amp;rev=1689415573&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-15T10:06:13+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>dell_raid_instdd2.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_instdd2.jpg&amp;ns=wiki&amp;rev=1689415573&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=633ccd&amp;amp;media=wiki:dell_raid_instdd2.jpg&quot; alt=&quot;dell_raid_instdd2.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_instdd1.jpg&amp;ns=wiki&amp;rev=1689415044&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-15T09:57:24+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>dell_raid_instdd1.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_instdd1.jpg&amp;ns=wiki&amp;rev=1689415044&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=d23422&amp;amp;media=wiki:dell_raid_instdd1.jpg&quot; alt=&quot;dell_raid_instdd1.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_karta.jpg&amp;ns=wiki&amp;rev=1689409731&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-15T08:28:51+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>dell_raid_karta.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Adell_raid_karta.jpg&amp;ns=wiki&amp;rev=1689409731&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=753802&amp;amp;media=wiki:dell_raid_karta.jpg&quot; alt=&quot;dell_raid_karta.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=yumreposd.tar.gz&amp;ns=&amp;rev=1685356691&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:38:11+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>yumreposd.tar.gz - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=yumreposd.tar.gz&amp;ns=&amp;rev=1685356691&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/gz.svg&quot; alt=&quot;yumreposd.tar.gz&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Agc.jpg&amp;ns=wiki&amp;rev=1685196765&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-27T14:12:45+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>gc.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Agc.jpg&amp;ns=wiki&amp;rev=1685196765&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=4a1e63&amp;amp;media=wiki:gc.jpg&quot; alt=&quot;gc.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan07.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan07.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan07.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=3df0ae&amp;amp;media=alan07.jpg&quot; alt=&quot;alan07.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan06.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan06.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan06.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=0d52c1&amp;amp;media=alan06.jpg&quot; alt=&quot;alan06.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan05.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan05.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan05.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=03ed0f&amp;amp;media=alan05.jpg&quot; alt=&quot;alan05.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan04.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan04.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan04.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=e7e81d&amp;amp;media=alan04.jpg&quot; alt=&quot;alan04.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan02.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan02.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan02.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=1bb252&amp;amp;media=alan02.jpg&quot; alt=&quot;alan02.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan03.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan03.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan03.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=e00af6&amp;amp;media=alan03.jpg&quot; alt=&quot;alan03.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=alan01.jpg&amp;ns=&amp;rev=1682863334&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-30T14:02:14+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>alan01.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=alan01.jpg&amp;ns=&amp;rev=1682863334&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=417faa&amp;amp;media=alan01.jpg&quot; alt=&quot;alan01.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Aminipodrecznik041.pdf&amp;ns=wiki&amp;rev=1679813694&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-26T06:54:54+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>minipodrecznik041.pdf - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Aminipodrecznik041.pdf&amp;ns=wiki&amp;rev=1679813694&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/pdf.svg&quot; alt=&quot;minipodrecznik041.pdf&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Atodd.jpg&amp;ns=wiki&amp;rev=1669411596&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-25T21:26:36+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>todd.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Atodd.jpg&amp;ns=wiki&amp;rev=1669411596&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=9e36c9&amp;amp;media=wiki:todd.jpg&quot; alt=&quot;todd.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003135379.jpg&amp;ns=wiki&amp;rev=1665301557&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-09T07:45:57+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>img_20221008_003135379.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003135379.jpg&amp;ns=wiki&amp;rev=1665301557&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=830b8d&amp;amp;media=wiki:img_20221008_003135379.jpg&quot; alt=&quot;img_20221008_003135379.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221007_203653261.jpg&amp;ns=wiki&amp;rev=1665301557&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-09T07:45:57+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>img_20221007_203653261.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221007_203653261.jpg&amp;ns=wiki&amp;rev=1665301557&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=d37b57&amp;amp;media=wiki:img_20221007_203653261.jpg&quot; alt=&quot;img_20221007_203653261.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003108520.jpg&amp;ns=wiki&amp;rev=1665301555&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-09T07:45:55+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>img_20221008_003108520.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003108520.jpg&amp;ns=wiki&amp;rev=1665301555&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=8c50ae&amp;amp;media=wiki:img_20221008_003108520.jpg&quot; alt=&quot;img_20221008_003108520.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003100586.jpg&amp;ns=wiki&amp;rev=1665301554&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-09T07:45:54+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>img_20221008_003100586.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Aimg_20221008_003100586.jpg&amp;ns=wiki&amp;rev=1665301554&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=c5ab7a&amp;amp;media=wiki:img_20221008_003100586.jpg&quot; alt=&quot;img_20221008_003100586.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Arozaniec_htop.jpg&amp;ns=wiki&amp;rev=1664983354&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-05T15:22:34+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>rozaniec_htop.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Arozaniec_htop.jpg&amp;ns=wiki&amp;rev=1664983354&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=5e3046&amp;amp;media=wiki:rozaniec_htop.jpg&quot; alt=&quot;rozaniec_htop.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Avboxmac.jpg&amp;ns=wiki&amp;rev=1664179203&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-26T08:00:03+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>vboxmac.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Avboxmac.jpg&amp;ns=wiki&amp;rev=1664179203&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=8a2bf0&amp;amp;media=wiki:vboxmac.jpg&quot; alt=&quot;vboxmac.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=httpd-itk-2.4.7.04-14.el9.src.rpm&amp;ns=&amp;rev=1663415145&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-17T11:45:45+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>httpd-itk-2.4.7.04-14.el9.src.rpm - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=httpd-itk-2.4.7.04-14.el9.src.rpm&amp;ns=&amp;rev=1663415145&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/rpm.svg&quot; alt=&quot;httpd-itk-2.4.7.04-14.el9.src.rpm&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=lxl_001.mp3&amp;ns=&amp;rev=1659521627&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-08-03T10:13:47+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>lxl_001.mp3 - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=lxl_001.mp3&amp;ns=&amp;rev=1659521627&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/mp3.svg&quot; alt=&quot;lxl_001.mp3&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Ajre-8u301-linux-x64.rpm&amp;ns=wiki&amp;rev=1653300805&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-23T10:13:25+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>jre-8u301-linux-x64.rpm - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Ajre-8u301-linux-x64.rpm&amp;ns=wiki&amp;rev=1653300805&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/rpm.svg&quot; alt=&quot;jre-8u301-linux-x64.rpm&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=jre-8u301-linux-x64.rpm&amp;ns=&amp;rev=1653300651&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-05-23T10:10:51+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>jre-8u301-linux-x64.rpm - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=jre-8u301-linux-x64.rpm&amp;ns=&amp;rev=1653300651&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/rpm.svg&quot; alt=&quot;jre-8u301-linux-x64.rpm&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3Aperccli_7.1623.00_a11_linux.tar.gz&amp;ns=wiki&amp;rev=1648825089&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-01T14:58:09+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>perccli_7.1623.00_a11_linux.tar.gz - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3Aperccli_7.1623.00_a11_linux.tar.gz&amp;ns=wiki&amp;rev=1648825089&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/images/fileicons/svg/gz.svg&quot; alt=&quot;perccli_7.1623.00_a11_linux.tar.gz&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3A15.jpg&amp;ns=wiki&amp;rev=1636215285&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-06T16:14:45+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>15.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3A15.jpg&amp;ns=wiki&amp;rev=1636215285&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=a19fb2&amp;amp;media=wiki:15.jpg&quot; alt=&quot;15.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3A13.jpg&amp;ns=wiki&amp;rev=1636215284&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-06T16:14:44+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>13.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3A13.jpg&amp;ns=wiki&amp;rev=1636215284&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=fed1c4&amp;amp;media=wiki:13.jpg&quot; alt=&quot;13.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3A09.jpg&amp;ns=wiki&amp;rev=1636215282&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-06T16:14:42+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>09.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3A09.jpg&amp;ns=wiki&amp;rev=1636215282&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=f53cd0&amp;amp;media=wiki:09.jpg&quot; alt=&quot;09.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3A01.jpg&amp;ns=wiki&amp;rev=1636215281&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-06T16:14:41+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>01.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3A01.jpg&amp;ns=wiki&amp;rev=1636215281&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=b11fdf&amp;amp;media=wiki:01.jpg&quot; alt=&quot;01.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
    <item rdf:about="https://wiki.baszarek.pl/doku.php?image=wiki%3A02.jpg&amp;ns=wiki&amp;rev=1636215280&amp;do=media">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-06T16:14:40+00:00</dc:date>
        <dc:creator>127.0.0.1 (lukasz@undisclosed.example.com)</dc:creator>
        <title>02.jpg - utworzono</title>
        <link>https://wiki.baszarek.pl/doku.php?image=wiki%3A02.jpg&amp;ns=wiki&amp;rev=1636215280&amp;do=media</link>
        <description>&lt;img src=&quot;https://wiki.baszarek.pl/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=d67b08&amp;amp;media=wiki:02.jpg&quot; alt=&quot;02.jpg&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
    </item>
</rdf:RDF>
