<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on Dominicus In</title><link>https://dominicusin.github.io/tags/linux/</link><description>Recent content in Linux on Dominicus In</description><generator>Hugo -- gohugo.io</generator><language>ru</language><copyright>© 2026</copyright><lastBuildDate>Mon, 01 Sep 2025 05:56:11 +0000</lastBuildDate><atom:link href="https://dominicusin.github.io/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>guix0</title><link>https://dominicusin.github.io/2025/09/01/gist-guix0/</link><pubDate>Mon, 01 Sep 2025 05:56:11 +0000</pubDate><guid>https://dominicusin.github.io/2025/09/01/gist-guix0/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;p&gt;guix0&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/dominicusin/ee9fed0beea74d3e265dc93a53772a53" target="_blank" rel="noreferrer"&gt;View on GitHub Gist&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(use-modules (gnu))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(use-service-modules cups desktop networking ssh xorg)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(operating-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (locale &amp;#34;ru_RU.utf8&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (timezone &amp;#34;Europe/Chisinau&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (keyboard-layout (keyboard-layout &amp;#34;ru,us&amp;#34; #:options &amp;#39;(&amp;#34;grp:alt_shift_toggle&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (host-name &amp;#34;quasar&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (users (cons* (user-account
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (name &amp;#34;domini&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (comment &amp;#34;Domini Montessori&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (group &amp;#34;users&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (home-directory &amp;#34;/home/domini&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (supplementary-groups &amp;#39;(&amp;#34;wheel&amp;#34; &amp;#34;netdev&amp;#34; &amp;#34;audio&amp;#34; &amp;#34;video&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; %base-user-accounts))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (packages (append (list (specification-&amp;gt;package &amp;#34;openbox&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;awesome&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;i3-wm&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;i3status&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;dmenu&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;st&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;ratpoison&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;xterm&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;emacs&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;emacs-exwm&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;emacs-desktop-environment&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (specification-&amp;gt;package &amp;#34;nss-certs&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; %base-packages))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (services
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (append (list (service gnome-desktop-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (service xfce-desktop-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (service mate-desktop-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (service enlightenment-desktop-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ;; To configure OpenSSH, pass an &amp;#39;openssh-configuration&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ;; record as a second argument to &amp;#39;service&amp;#39; below.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (service openssh-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (service tor-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (service cups-service-type)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (set-xorg-configuration
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (xorg-configuration (keyboard-layout keyboard-layout))))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; %desktop-services))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (bootloader (bootloader-configuration
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (bootloader grub-efi-bootloader)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (targets (list &amp;#34;/boot/efi&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (keyboard-layout keyboard-layout)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (swap-devices (list (swap-space
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (target (uuid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;3f6e87f7-a8c8-460f-a3db-14ed192c5503&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (swap-space
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (target (uuid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;ce30c55d-6ae4-402b-aed1-ca2c8ff63fcd&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (swap-space
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (target (uuid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;0aa2d1fb-09fd-4e82-aceb-4e917e6e2b99&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (swap-space
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (target (uuid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;91533f62-b7e3-46a4-ba5e-0d49a6ea4c43&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (swap-space
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (target (uuid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;a365da0a-fd73-4121-8f68-d7ef4dc435b4&amp;#34;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (swap-space
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (target (uuid
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;#34;d6f28840-c273-43da-ad7e-f20e65dd7450&amp;#34;)))))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (file-systems (cons* (file-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (mount-point &amp;#34;/&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (device &amp;#34;/dev/nvme0n1p6:/dev/nvme1n1p6:/dev/nvme2n1p6:/dev/nvme3n1p6:/dev/nvme4n1p6:/dev/nvme5n1p6:/dev/sda6:/dev/sdb6:/dev/sdc6:/dev/sdd6&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (type &amp;#34;bcachefs&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (options &amp;#34;X-mount.subdir=Guix&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (mount-may-fail? #t) ; TODO temporary hack, otherwise the Guix boot process can be blocked in case of errors on some device
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (file-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (mount-point &amp;#34;/boot/efi&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (device &amp;#34;/dev/nvme1n1p2&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (type &amp;#34;vfat&amp;#34;)) %base-file-systems)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (file-system
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		 (mount-point &amp;#34;/tmp&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		 (device &amp;#34;none&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		 (type &amp;#34;tmpfs&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		 (check? #f))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>arch</title><link>https://dominicusin.github.io/2025/07/03/gist-arch/</link><pubDate>Thu, 03 Jul 2025 06:54:46 +0000</pubDate><guid>https://dominicusin.github.io/2025/07/03/gist-arch/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;p&gt;arch&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/dominicusin/75dc10649ef1619223938456e2f80458" target="_blank" rel="noreferrer"&gt;View on GitHub Gist&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar xvf cachyos-repo.tar.xz &amp;amp;&amp;amp; cd cachyos-repo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ./cachyos-repo.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -O https://blackarch.org/strap.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod +x strap.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ./strap.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -LO git.io/strap.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo sh strap.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>flatpaks</title><link>https://dominicusin.github.io/2025/05/04/gist-flatpaks/</link><pubDate>Sun, 04 May 2025 04:56:00 +0000</pubDate><guid>https://dominicusin.github.io/2025/05/04/gist-flatpaks/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;p&gt;flatpaks&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/dominicusin/93445e617b848ab12e5b0a7026f25752" target="_blank" rel="noreferrer"&gt;View on GitHub Gist&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --from eos-sdk #http://endlessm.github.io/eos-knowledge-lib/eos-sdk.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --from eos-sdk http://endlessm.github.io/eos-knowledge-lib/eos-sdk.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --from eos-sdk-nightly http://endlessm.github.io/eos-knowledge-lib/eos-sdk-nightly.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --gpg-import=eos-flatpak-keyring.gpg eos-apps https://ostree.endlessm.com/ostree/eos-apps
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --gpg-import=eos-flatpak-keyring.gpg eos-sdk https://ostree.endlessm.com/ostree/eos-sdk
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists dragon-nightly https://cdn.kde.org/flatpak/dragon-nightly/dragon-nightly.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists eclipse-nightly https://download.eclipse.org/linuxtools/flatpak-I-builds/eclipse.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists elementaryos https://flatpak.elementary.io/repo.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists fedora oci+https://registry.fedoraproject.org
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists fedora-testing oci+https://registry.fedoraproject.org#testing
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists igalia https://software.igalia.com/flatpak-refs/igalia.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists kdeapps https://distribute.kde.org/kdeapps.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists kde-runtime-nightly https://cdn.kde.org/flatpak/kde-runtime-nightly/kde-runtime-nightly.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists PureOS https://store.puri.sm/repo/stable/pureos.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists --subset=floss flathub-floss https://dl.flathub.org/repo/flathub.flatpakrepo..
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists --subset=verified flathub-verified https://dl.flathub.org/repo/flathub.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists --subset=verified_floss flathub-verified_floss https://dl.flathub.org/repo/flathub.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists tenacity oci+https://tenacityteam.github.io/tenacity-flatpak-nightly
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists --user appcenter https://flatpak.elementary.io/repo.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --if-not-exists webkit-sdk https://software.igalia.com/flatpak-refs/webkit-sdk.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add rhel https://flatpaks.redhat.io/rhel.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --system elementary https://flatpak.elementary.io/elementary.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --user appcenter https://flatpak.elementary.io/appcenter.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add --user --if-not-exists webkit https://software.igalia.com/flatpak-refs/webkit-sdk.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak remote-add xwaylandvideobridge-nightly https://cdn.kde.org/flatpak/xwaylandvideobridge-nightly/xwaylandvideobridge-nightly.flatpakrepo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flatpak --system remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>chroot</title><link>https://dominicusin.github.io/2025/01/24/gist-chroot/</link><pubDate>Fri, 24 Jan 2025 09:46:30 +0000</pubDate><guid>https://dominicusin.github.io/2025/01/24/gist-chroot/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;p&gt;chroot&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/dominicusin/8402abedb4df49c2852ce150f03a5372" target="_blank" rel="noreferrer"&gt;View on GitHub Gist&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dnf --releasever=&amp;#39;rawhide&amp;#39; --repofrompath=&amp;#39;rawhide,http://mirrors.dotsrc.org/fedora-enchilada/linux/development/rawhide/Everything/x86_64/os/&amp;#39; --repofrompath=&amp;#39;rawhide-modular,https://mirrors.huaweicloud.com/repository/fedora/development/rawhide/Modular/x86_64/os/&amp;#39; --installroot=&amp;#39;/chroot/fedora&amp;#39; --enablerepo=&amp;#39;rawhide,rawhide-modular&amp;#39; --setopt=install_weak_deps=True --nogpgcheck install dnf @core 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;##dnf install --nogpgcheck --repofrompath &amp;#39;terra,https://repos.fyralabs.com/terra$releasever&amp;#39; terra-release
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;debootstrap --verbose --no-check-gpg --no-merged-usr --components=&amp;#34;main,contrib,non-free,non-free-firmware&amp;#34; ceres /chroot/devuan http://deb.devuan.org/merged
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;debootstrap --verbose --components=main,contrib,non-free-firmware,non-free --variant=minbase --merged-usr --force-check-gpg --log-extra-deps stable /chroot/debian https://deb.debian.org/debian
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ARCH=amd64 debootstrap --arch=amd64 --verbose --components=main,multiverse,restricted,universe --extra-suites=plucky,plucky-backports,plucky-proposed,plucky-security,plucky-updates,devel-backports,devel-proposed,devel-security,devel-updates,devel --variant=minbase --merged-usr --force-check-sig --force-check-gpg --log-extra-deps --include=build-essential,tasksel,aptitude,mc,htop,most,mosh,screen,tmux plucky /mnt/Ubuntu http://archive.ubuntu.com/ubuntu/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;zypper --root /chroot/suse install --allow-vendor-change --allow-arch-change --allow-name-change --allow-downgrade --recommends --force-resolution --auto-agree-with-licenses --replacefiles --no-confirm --force --allow-unsigned-rpm --oldpackage --details zypper
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pacman -r /chroot/arch --cachedir=/chroot/arch/var/cache/pacman/pkg --config=/chroot/arch/etc/pacman.conf -Syyuu base base-devel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nixos-generate-config --root /mnt/NixOS; nixos-install --root /mnt/NixOS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;guix time-machine -C /mnt/Guix/etc/channels.scm -- system init /mnt/Guix/etc/config.scm /mnt/Guix/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>SFTP</title><link>https://dominicusin.github.io/2019/05/17/sftp/</link><pubDate>Fri, 17 May 2019 21:50:00 +0000</pubDate><guid>https://dominicusin.github.io/2019/05/17/sftp/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;p&gt;This Guide will allow you to mount your Feral slots remote file system as a local file system through SFTP.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Recommended Method:&lt;/strong&gt; Install Dokan Libraries and then use win-sshfs.&lt;/p&gt;</description></item><item><title>Linux Networking commands</title><link>https://dominicusin.github.io/2019/01/31/linux-networking-commands/</link><pubDate>Thu, 31 Jan 2019 15:41:00 +0000</pubDate><guid>https://dominicusin.github.io/2019/01/31/linux-networking-commands/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://linux.die.net/man/8/arpwatch" target="_blank" rel="noreferrer"&gt;arpwatch&lt;/a&gt; – Ethernet Activity Monitor.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/tgraf/bmon" target="_blank" rel="noreferrer"&gt;bmon&lt;/a&gt; – bandwidth monitor and rate estimator.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.gropp.org/?id=projects&amp;amp;sub=bwm-ng" target="_blank" rel="noreferrer"&gt;bwm-ng&lt;/a&gt; – live network bandwidth monitor.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://curl.haxx.se/" target="_blank" rel="noreferrer"&gt;curl&lt;/a&gt; – transferring data with URLs.&lt;/p&gt;</description></item><item><title>dpiblock</title><link>https://dominicusin.github.io/2017/11/10/dpiblock/</link><pubDate>Fri, 10 Nov 2017 16:58:00 +0000</pubDate><guid>https://dominicusin.github.io/2017/11/10/dpiblock/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;
&lt;div class="text text_html js-mediator-article" id="post_text"&gt;Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.&lt;br&gt;
&lt;br&gt;
Существует два распространенных типа подключения DPI: пассивный и активный.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Пассивный DPI&lt;/h2&gt;Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.&lt;a name="habracut"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;Выявляем и блокируем пакеты пассивного DPI&lt;/h3&gt;Поддельные пакеты, формируемые DPI, легко обнаружить анализатором трафика, например, Wireshark.&lt;br&gt;
Пробуем зайти на заблокированный сайт:&lt;br&gt;
&lt;img src="https://habrastorage.org/getpro/habr/post_images/140/ae8/4e2/140ae84e2bc2c6965f2e896ef2cc5bb6.png" alt="Wireshark"&gt;&lt;br&gt;
&lt;br&gt;
Мы видим, что сначала приходит пакет от DPI, с HTTP-перенаправлением кодом 302, а затем настоящий ответ от сайта. Ответ от сайта расценивается как ретрансмиссия и отбрасывается операционной системой. Браузер переходит по ссылке, указанной в ответе DPI, и мы видим страницу блокировки.&lt;br&gt;
&lt;br&gt;
Рассмотрим пакет от DPI подробнее:&lt;br&gt;
&lt;img src="https://habrastorage.org/getpro/habr/post_images/a59/be3/5db/a59be35dbd7c16dd386db5079d6beaea.png" alt="image"&gt;&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;&lt;code&gt;HTTP/1.1 302 Found
Connection: close
Location: http://warning.rt.ru/?id=17&amp;amp;st=0&amp;amp;dt=195.82.146.214&amp;amp;rs=http%3A%2F%2Frutracker.org%2F&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
В ответе DPI не устанавливается флаг «Don't Fragment», и в поле Identification указано 1. Серверы в интернете обычно устанавливают бит «Don't Fragment», и пакеты без этого бита встречаются нечасто. Мы можем использовать это в качестве отличительной особенности пакетов от DPI, вместе с тем фактом, что такие пакеты всегда содержат HTTP-перенаправление кодом 302, и написать правило iptables, блокирующее их:&lt;br&gt;
&lt;pre&gt;&lt;code&gt;# iptables -A FORWARD -p tcp --sport 80 -m u32 --u32 "0x4=0x10000 &amp;amp;&amp;amp; 0x60=0x7761726e &amp;amp;&amp;amp; 0x64=0x696e672e &amp;amp;&amp;amp; 0x68=0x72742e72" -m comment --comment "Rostelecom HTTP" -j DROP&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
Что это такое? Модуль u32 iptables позволяет выполнять битовые операции и операции сравнения над 4-байтовыми данными в пакете. По смещению 0x4 хранится 2-байтное поле Indentification, сразу за ним идут 1-байтные поля Flags и Fragment Offset.&lt;br&gt;
Начиная со смещения 0x60 расположен домен перенаправления (HTTP-заголовок Location).&lt;br&gt;
Если Identification = 1, Flags = 0, Fragment Offset = 0, 0x60 = «warn», 0x64 = «ing.», 0x68 = «rt.ru», то отбрасываем пакет, и получаем настоящий ответ от сайта.&lt;br&gt;
&lt;br&gt;
В случае с HTTPS-сайтами, DPI присылает TCP Reset-пакет, тоже с Identification = 1 и Flags = 0.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;Активный DPI&lt;/h2&gt;Активный DPI — DPI, подключенный в сеть провайдера привычным образом, как и любое другое сетевое устройство. Провайдер настраивает маршрутизацию так, чтобы DPI получал трафик от пользователей к заблокированным IP-адресам или доменам, а DPI уже принимает решение о пропуске или блокировке трафика. Активный DPI может проверять как исходящий, так и входящий трафик, однако, если провайдер применяет DPI только для блокирования сайтов из реестра, чаще всего его настраивают на проверку только исходящего трафика.&lt;br&gt;
&lt;br&gt;
Системы DPI разработаны таким образом, чтобы обрабатывать трафик с максимально возможной скоростью, исследуя только самые популярные и игнорируя нетипичные запросы, даже если они полностью соответствуют стандарту.&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;Изучаем стандарт HTTP&lt;/h3&gt;Типичные HTTP-запросы в упрощенном виде выглядят следующим образом:&lt;br&gt;
&lt;pre&gt;&lt;code&gt;GET / HTTP/1.1
Host: habrahabr.ru
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/50.0
Accept-Encoding: gzip, deflate, br
Connection: keep-alive&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;
Запрос начинается с HTTP-метода, затем следует один пробел, после него указывается путь, затем еще один пробел, и заканчивается строка протоколом и переносом строки CRLF.&lt;br&gt;
Заголовки начинаются с большой буквы, после двоеточия ставится символ пробела.&lt;br&gt;
&lt;br&gt;
Давайте заглянем в последнюю версию стандарта HTTP/1.1 от 2014 года. Согласно RFC 7230, HTTP-заголовки не зависят от регистра символов, а после двоеточия может стоять произвольное количество пробелов (или не быть их вовсе).&lt;br&gt;
&lt;pre&gt;&lt;code&gt; Each header field consists of a case-insensitive field name followed
 by a colon (":"), optional leading whitespace, the field value, and
 optional trailing whitespace.
&lt;pre&gt;&lt;code&gt; header-field = field-name &amp;quot;:&amp;quot; OWS field-value OWS

 field-name = token
 field-value = *( field-content / obs-fold )
 field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
 field-vchar = VCHAR / obs-text

 obs-fold = CRLF 1*( SP / HTAB )
 ; obsolete line folding&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;OWS — опциональный один или несколько символов пробела или табуляции, SP — одинарный символ пробела, HTAB — табуляция, CRLF — перенос строки и возврат каретки (\r\n).&lt;br&gt;
&lt;br&gt;
Это значит, что запрос ниже полностью соответствует стандарту, его должны принять многие веб-серверы, придерживающиеся стандарта:&lt;br&gt;&lt;/p&gt;</description></item><item><title>Migrate a code repository from SourceForge (SVN) to Github (GIT)</title><link>https://dominicusin.github.io/2017/07/28/svn2git/</link><pubDate>Fri, 28 Jul 2017 17:29:00 +0000</pubDate><guid>https://dominicusin.github.io/2017/07/28/svn2git/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;

&lt;h1 class="relative group"&gt;Migrate a code repository from SourceForge (SVN) to Github (GIT)
 &lt;div id="migrate-a-code-repository-from-sourceforge-svn-to-github-git" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#migrate-a-code-repository-from-sourceforge-svn-to-github-git" aria-label="Якорь"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;To do a migration you will need a system that allows you to install Ruby, Ruby Gems and Git. We are running the entire process on a CentOS 6 box (YMMV).&lt;/p&gt;</description></item><item><title>Linux System Administrator(DevOp) Interview Questions</title><link>https://dominicusin.github.io/2017/05/28/interview/</link><pubDate>Sun, 28 May 2017 22:03:00 +0000</pubDate><guid>https://dominicusin.github.io/2017/05/28/interview/</guid><description>&lt;p&gt;author: DominicusIn&lt;/p&gt;

&lt;h1 class="relative group"&gt;Linux System Administrator/DevOp Interview Questions
 &lt;div id="linux-system-administratordevop-interview-questions" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#linux-system-administratordevop-interview-questions" aria-label="Якорь"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;A collection of linux sysadmin/devop interview questions. Feel free to contribute via pull requests, issues or email messages.&lt;/p&gt;</description></item></channel></rss>