<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Tools - 标签 - Gene.Tech</title>
        <link>https://geneliu.itaghome.win/zh-cn/tags/tools/</link>
        <description>Tools - 标签 - Gene.Tech</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>gene.liu@live.com (Gene Liu)</managingEditor>
            <webMaster>gene.liu@live.com (Gene Liu)</webMaster><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Sun, 02 Aug 2026 00:00:00 &#43;0000</lastBuildDate><atom:link href="https://geneliu.itaghome.win/zh-cn/tags/tools/" rel="self" type="application/rss+xml" /><item>
    <title>我会反复打开的工具箱</title>
    <link>https://geneliu.itaghome.win/zh-cn/2026-08-02-useful-tools/</link>
    <pubDate>Sun, 02 Aug 2026 00:00:00 &#43;0000</pubDate>
    <author>gene.liu@live.com (Gene Liu)</author>
    <guid>https://geneliu.itaghome.win/zh-cn/2026-08-02-useful-tools/</guid>
    <description><![CDATA[<p>每隔一段时间，我会把浏览器里攒的链接整理成一篇帖子。有的天天用，有的救过我一整个周末。草稿里的 <strong>EssayKiller_V2</strong> 已删掉 &ndash; GPT-2 时代的作文生成器，2026 年实在没必要再留着。</p>]]></description>
</item>
<item>
    <title>在华硕路由器 (AC56U) 上安装 AdGuardHome</title>
    <link>https://geneliu.itaghome.win/zh-cn/2022-2-12-asus-adguard-home/</link>
    <pubDate>Sat, 12 Feb 2022 00:00:00 &#43;0000</pubDate>
    <author>gene.liu@live.com (Gene Liu)</author>
    <guid>https://geneliu.itaghome.win/zh-cn/2022-2-12-asus-adguard-home/</guid>
    <description><![CDATA[<h3 id="下载并刷入-asuswrt-merlin-固件-v3846">下载并刷入 Asuswrt-Merlin 固件 (v384.6)</h3>
<p><a href="https://www.asuswrt-merlin.net/" target="_blank" rel="noopener noreffer ">https://www.asuswrt-merlin.net/</a>
<a href="https://sourceforge.net/projects/asuswrt-merlin/files/RT-AC56U/Release/RT-AC56U_384.6_0.zip/download" target="_blank" rel="noopener noreffer ">https://sourceforge.net/projects/asuswrt-merlin/files/RT-AC56U/Release/RT-AC56U_384.6_0.zip/download</a></p>
<h3 id="准备-usb-驱动器">准备 USB 驱动器</h3>
<ol>
<li>通过 SSH 登录到路由器 (<code>ssh admin@router_ip</code>)</li>
<li><code>fdisk /dev/sda</code></li>
<li><code>mkfs.ext3 /dev/sda[1,2]</code></li>
</ol>
<h3 id="启用-jffs-自定义脚本和配置">启用 JFFS 自定义脚本和配置</h3>
<p>Administration -&gt; System -&gt; Persistent JFFS2 partition -&gt; Enable JFFS custom scripts and configs (&lsquo;yes&rsquo;)</p>
<h3 id="执行-entware-setup-以在-usb-驱动器上启用-opt-挂载">执行 Entware-Setup 以在 USB 驱动器上启用 /opt 挂载</h3>
<p>新刷入的固件 (v384.6) 已经包含 <code>entware-setup.sh</code>。
供参考：https://github.com/RMerl/asuswrt-merlin/blob/master/release/src/router/others/entware-setup.sh</p>]]></description>
</item>
<item>
    <title>vsftpd 访问 NFS 共享目录</title>
    <link>https://geneliu.itaghome.win/zh-cn/2022-2-8-vsftpd/</link>
    <pubDate>Tue, 08 Feb 2022 00:00:00 &#43;0000</pubDate>
    <author>gene.liu@live.com (Gene Liu)</author>
    <guid>https://geneliu.itaghome.win/zh-cn/2022-2-8-vsftpd/</guid>
    <description><![CDATA[<h3 id="问题">问题</h3>
<p>当将文件放入 NFS 共享目录时，出现 &ldquo;Access failed: 553 Could not create file.&rdquo; 错误。</p>
<h3 id="解决方案">解决方案</h3>
<ol>
<li><code>setsebool -P ftpd_full_access 1</code></li>
<li>确保挂载的目录具有正确的所有权。</li>
</ol>]]></description>
</item>
<item>
    <title>添加 GitLab CI Runner</title>
    <link>https://geneliu.itaghome.win/zh-cn/2022-1-20-gitlab-ci/</link>
    <pubDate>Thu, 20 Jan 2022 00:00:00 &#43;0000</pubDate>
    <author>gene.liu@live.com (Gene Liu)</author>
    <guid>https://geneliu.itaghome.win/zh-cn/2022-1-20-gitlab-ci/</guid>
    <description><![CDATA[<h3 id="设置标准的-rhelalmalinux-85-vm">设置标准的 RHEL/AlmaLinux 8.5 VM</h3>
<ol>
<li>
<p>Docker 代理设置：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">cat /etc/systemd/system/docker.service.d/http-proxy.conf 
</span></span><span class="line"><span class="cl"><span class="o">[</span>Service<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">Environment</span><span class="o">=</span><span class="s2">&#34;HTTP_PROXY=http://proxy.lbs.alcatel-lucent.com:8000&#34;</span> <span class="s2">&#34;HTTPS_PROXY=http://proxy.lbs.alcatel-lucent.com:8000&#34;</span> <span class="s2">&#34;NO_PROXY=orbw-artifactory.ca.alcatel-lucent.com&#34;</span></span></span></code></pre></div></div>
</li>
<li>
<p>不安全（私有）注册表：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-json">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="err">cat</span> <span class="err">/etc/docker/daemon.json</span> 
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;insecure-registries&#34;</span> <span class="p">:</span> <span class="p">[</span> <span class="s2">&#34;orbw-artifactory.ca.alcatel-lucent.com:8081&#34;</span> <span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
</li>
</ol>
<h3 id="安装-gitlab-runner">安装 GitLab Runner</h3>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker run -d --name gitlab-runner --restart always -v /home/cloud-user/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock orbw-artifactory.ca.alcatel-lucent.com:8081/nokia-nsp-docker-virtual/gitlab/gitlab-runner:latest</span></span></code></pre></div></div>
<h3 id="gitlab-runner-注册">GitLab Runner 注册</h3>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker run --rm -it -v /home/cloud-user/config:/etc/gitlab-runner orbw-artifactory.ca.alcatel-lucent.com:8081/nokia-nsp-docker-virtual/gitlab/gitlab-runner:latest register</span></span></code></pre></div></div>
<p>配置示例：</p>]]></description>
</item>
<item>
    <title>使用 wget 下载文件列表</title>
    <link>https://geneliu.itaghome.win/zh-cn/2022-1-19-wget/</link>
    <pubDate>Wed, 19 Jan 2022 00:00:00 &#43;0000</pubDate>
    <author>gene.liu@live.com (Gene Liu)</author>
    <guid>https://geneliu.itaghome.win/zh-cn/2022-1-19-wget/</guid>
    <description><![CDATA[<p>使用 <code>wget</code> 下载文件列表：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">wget -x -P /data/temp/files --no-host-directories -i /data/temp/file.txt</span></span></code></pre></div></div>]]></description>
</item>
<item>
    <title>重置/清理 Debian/Ubuntu 软件包的示例</title>
    <link>https://geneliu.itaghome.win/zh-cn/2021-1-27-remove-deb/</link>
    <pubDate>Wed, 27 Jan 2021 00:00:00 &#43;0000</pubDate>
    <author>gene.liu@live.com (Gene Liu)</author>
    <guid>https://geneliu.itaghome.win/zh-cn/2021-1-27-remove-deb/</guid>
    <description><![CDATA[<h3 id="通过-deb-包安装">通过 .deb 包安装</h3>
<p>添加 Rancher Desktop 仓库并安装 Rancher Desktop：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl https://download.opensuse.org/repositories/isv:/Rancher:/stable/deb/Release.key <span class="p">|</span> sudo apt-key add -
</span></span><span class="line"><span class="cl">sudo add-apt-repository <span class="s1">&#39;deb https://download.opensuse.org/repositories/isv:/Rancher:/stable/deb/ ./&#39;</span>
</span></span><span class="line"><span class="cl">sudo apt update
</span></span><span class="line"><span class="cl">sudo apt install rancher-desktop</span></span></code></pre></div></div>
<h3 id="卸载-deb-包">卸载 .deb 包</h3>
<p>您可以使用以下命令删除软件包、仓库和密钥：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt remove --autoremove rancher-desktop
</span></span><span class="line"><span class="cl">sudo add-apt-repository -r <span class="s1">&#39;deb https://download.opensuse.org/repositories/isv:/Rancher:/stable/deb/ ./&#39;</span>
</span></span><span class="line"><span class="cl">sudo apt-key del &lt;keyid&gt;</span></span></code></pre></div></div>
<p>其中 <code>keyid</code> 是运行 <code>apt-key list</code> 时包含 <code>isv:Rancher:stable</code> 的行上方的行。因此，如果我有以下 Rancher Desktop Key 块：</p>]]></description>
</item>
</channel>
</rss>
