<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on Duke Hsu ｜ Learn • Build • Share</title><link>https://www.dukehsu.com/tags/linux.html</link><description>Recent content in Linux on Duke Hsu ｜ Learn • Build • Share</description><image><title>Duke Hsu ｜ Learn • Build • Share</title><url>https://www.dukehsu.com/images/og-default.jpg</url><link>https://www.dukehsu.com/images/og-default.jpg</link></image><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 12 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.dukehsu.com/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Install Jupyter notebook on Ubuntu 24.04 and allow remote access.</title><link>https://www.dukehsu.com/posts/install_jupyter_notebook_on_ubuntu_24-04.html</link><pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/install_jupyter_notebook_on_ubuntu_24-04.html</guid><description>&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vultr&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How to Install Jupyter Notebook on Ubuntu 24.04&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.vultr.com/how-to-install-jupyter-notebook-on-ubuntu-24-04"&gt;https://docs.vultr.com/how-to-install-jupyter-notebook-on-ubuntu-24-04&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 24.04&lt;/li&gt;
&lt;li&gt;Internet access&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-jupyter-notebook-with-pip"&gt;Install Jupyter Notebook with pip&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Update the APT package index:
&lt;code&gt;sudo apt update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Install the virtualenv package:
&lt;code&gt;sudo apt install python3-virtualenv -y&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Create a virtual environment:
&lt;code&gt;virtualenv jupyter_env&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Activate the virtual environment:
&lt;code&gt;source jupyter_env/bin/activate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Install Jupyter Notebook:
&lt;code&gt;pip install jupyter&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Verify the installed version:
&lt;code&gt;jupyter-notebook --version&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can deactivate the virtual environment at any time by running &lt;code&gt;deactivate&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Ubuntu Server 笔记</title><link>https://www.dukehsu.com/posts/ubuntu-server-%E7%AC%94%E8%AE%B0.html</link><pubDate>Thu, 24 Jul 2025 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/ubuntu-server-%E7%AC%94%E8%AE%B0.html</guid><description>&lt;p&gt;这篇笔记记录了日常使用ubuntu时需要设置的笔记&lt;/p&gt;
&lt;h3 id="systemd-networkd-wait-onlineservice"&gt;systemd-networkd-wait-online.service&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;systemd-networkd-wait-online.service&lt;/code&gt; 是 Systemd 的一个服务单元，主要用于在系统启动时等待网络连接就绪。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;作用&lt;/strong&gt;：该服务会等待 systemd-networkd 完成网络配置，并确认至少有一个网络接口在线后，才会标记为 ready，从而允许其他依赖网络的服务启动。默认情况下，它会监视所有由 systemd-networkd 管理的网络接口，直到连线成功或超时。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;常见问题&lt;/strong&gt;：如果 DHCP 获取 IP 耗时较长，可能导致系统启动卡在该服务；没有网络连接时，也可能会一直等待到超时。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优化方法&lt;/strong&gt;：可以调整超时时间、禁用服务，或者检查网络配置。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="调整超时时间"&gt;调整超时时间&lt;/h4&gt;
&lt;p&gt;将 &lt;code&gt;TimeoutStartSec&lt;/code&gt; 设置为 &lt;code&gt;2sec&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo vim /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 &lt;code&gt;[Service]&lt;/code&gt; 部分添加：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;TimeoutStartSec&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;2sec&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;保存后重新加载配置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl daemon-reload&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="禁用服务"&gt;禁用服务&lt;/h4&gt;
&lt;p&gt;如果不需要严格等待网络就绪，可以禁用并屏蔽服务：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl disable systemd-networkd-wait-online.service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl mask systemd-networkd-wait-online.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="优化网络配置"&gt;优化网络配置&lt;/h4&gt;
&lt;p&gt;检查 &lt;code&gt;/etc/netplan/50-cloud-init.yaml&lt;/code&gt; 或类似文件，确保 DHCP 配置正确。例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;ethernets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;eth0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;dhcp4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;对于固定 IP 环境，改用静态 IP 可避免 DHCP 延迟‌。&lt;/p&gt;
&lt;h3 id="timedatectl"&gt;timedatectl&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;设置时区&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo timedatectl set-timezone Asia/Shanghai
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;timedatectl status &lt;span class="c1"&gt;#验证&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;开启时间同步并设置 NTP 服务器&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt-get install chrony -y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /etc/chrony
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vim chrony.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;server time.google.com iburst
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;server time2.google.com iburst
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;server time3.google.com iburst
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; chronyd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;systemctl restart chronyd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 检查服务状态、同步源及同步状态&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl status chronyd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chronyc sources -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chronyc tracking&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="usermod"&gt;usermod&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;usermod -aG lpadmin username &lt;span class="c1"&gt;# 将用户名添加到 lpadmin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /etc/group&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Pangolin 安装和使用示范</title><link>https://www.dukehsu.com/posts/pangolin_install.html</link><pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/pangolin_install.html</guid><description>&lt;h2 id="pangolin-安装和使用示范"&gt;Pangolin 安装和使用示范&lt;/h2&gt;
&lt;h2 id="前提条件"&gt;前提条件&lt;/h2&gt;
&lt;p&gt;为了跟随视频中的操作和配置教学，以下条件是可选的。 视频内容： &lt;a href="https://www.bilibili.com/video/BV1cAJHz8EAj/"&gt;https://www.bilibili.com/video/BV1cAJHz8EAj/&lt;/a&gt;&lt;/p&gt;
&lt;iframe src="//player.bilibili.com/player.html?isOutside=true&amp;amp;aid=114551609689505&amp;amp;bvid=BV1cAJHz8EAj&amp;amp;cid=30094263026&amp;amp;p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"&gt;&lt;/iframe&gt;
&lt;ul&gt;
&lt;li&gt;一台有独立公网IP地址的云服务器&lt;/li&gt;
&lt;li&gt;一个域名&lt;/li&gt;
&lt;li&gt;一台在本地局域网中运行的Linux服务器 （博主的是Ubuntu 20.0.1)&lt;/li&gt;
&lt;li&gt;一台运行Ollama / Deepseek 的Windows电脑&lt;/li&gt;
&lt;li&gt;保持微笑&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="pangolin" loading="lazy" src="https://www.dukehsu.com/posts/pangolin_install/images/pangolin.webp"&gt;&lt;/p&gt;
&lt;p&gt;图： 简单的图示&lt;/p&gt;
&lt;h2 id="简介"&gt;简介&lt;/h2&gt;
&lt;p&gt;Project: &lt;a href="https://docs.fossorial.io/overview"&gt;https://docs.fossorial.io/overview&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Fossorial 系统以 Pangolin 为核心，是一个自托管的隧道反向代理，具有身份和访问管理功能，旨在通过运行在用户空间的加密 WireGuard 隧道安全地公开私有资源。想象一下自托管的 Cloudflare 隧道。 Pangolin 在底层使用 Traefik 进行实际的 HTTP 代理。Badger 插件提供了一种使用 Pangolin 验证每个请求的方法。第二个服务 Gerbil 提供了一个 WireGuard 管理服务器，Pangolin 可以使用它来创建对等体进行连接。最后，还有 Newt，这是一个 CLI 工具和 Docker 容器，它完全在用户空间通过 WireGuard 连接到 Newt 和 Gerbil，并代理您的本地资源。这意味着您无需运行特权进程或容器即可公开您的服务！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Fossorial System Diagram" loading="lazy" src="https://www.dukehsu.com/posts/pangolin_install/images/Fossorial-System-Diagram.webp"&gt;&lt;/p&gt;
&lt;p&gt;图： Fossorial system Diagram&lt;/p&gt;
&lt;h2 id="开始"&gt;开始&lt;/h2&gt;
&lt;h3 id="在腾讯云服务器下载-pangolin-服务端-的安装脚本"&gt;在腾讯云服务器下载 Pangolin 服务端 的安装脚本&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载并执行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -O installer &lt;span class="s2"&gt;&amp;#34;https://github.com/fosrl/pangolin/releases/download/1.2.0/installer_linux_&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;uname -m &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s1"&gt;&amp;#39;s/x86_64/amd64/;s/aarch64/arm64/&amp;#39;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod +x ./installer&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="添加dns-记录"&gt;添加DNS 记录&lt;/h3&gt;
&lt;p&gt;注意：需要关闭Proxy&lt;/p&gt;</description></item><item><title>在 Ubuntu 24.04 LTS 中的安装ERPNext 笔记 Step by Step</title><link>https://www.dukehsu.com/posts/erpnext_installtion.html</link><pubDate>Wed, 05 Mar 2025 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/erpnext_installtion.html</guid><description>&lt;h2 id="文章目录--table-of-contents"&gt;文章目录 | Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;ERPnext 简介&lt;/li&gt;
&lt;li&gt;先决条件&lt;/li&gt;
&lt;li&gt;安装步骤&lt;/li&gt;
&lt;li&gt;总结 &amp;amp; 引用&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="先决条件--prerequisites"&gt;先决条件 | Prerequisites&lt;/h2&gt;
&lt;h3 id="系统环境要求"&gt;系统环境要求&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 24.04&lt;/li&gt;
&lt;li&gt;A user with sudo privileges&lt;/li&gt;
&lt;li&gt;Python 3.11+&lt;/li&gt;
&lt;li&gt;pip 20+&lt;/li&gt;
&lt;li&gt;MariaDB 10.3.x&lt;/li&gt;
&lt;li&gt;Node.js 18&lt;/li&gt;
&lt;li&gt;Yarn 1.12+&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="硬件要求"&gt;硬件要求&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;2 Process 2 Core&lt;/li&gt;
&lt;li&gt;4GB ram&lt;/li&gt;
&lt;li&gt;40GB Storage&lt;/li&gt;
&lt;li&gt;Intenet&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="安装步骤--installtion-steps"&gt;安装步骤 | Installtion Steps&lt;/h2&gt;
&lt;h3 id="包升级和创建新用户"&gt;包升级和创建新用户&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update and Upgrade Packages&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get update -y &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt-get upgrade -y&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a New user&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo adduser **Your-user-name**
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Fill in the information as prompted&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo usemod -aG sudo **Your-user-name**
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;su **Your-user-name**
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Enter your password&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~ &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="安装环境需要的包"&gt;安装环境需要的包&lt;/h3&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;Install Git&lt;/p&gt;</description></item><item><title>Linux 常用命令笔记</title><link>https://www.dukehsu.com/posts/linuxcommand.html</link><pubDate>Fri, 22 Nov 2024 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/linuxcommand.html</guid><description>&lt;h2 id="linux-真好用"&gt;Linux 真好用&lt;/h2&gt;
&lt;p&gt;与Windows 相比， Linux 的效率实在太好了。为了避免自己忘记用过的命令，避免手忙脚乱又到处去找，特意写一下笔记。&lt;br&gt;
最近在忙别的~ 11月好快，就要过完了，所以及时来水一篇。&lt;/p&gt;
&lt;h2 id="vim-配置"&gt;Vim 配置&lt;/h2&gt;
&lt;p&gt;以下命令可以对齐VIM编辑器，会高亮输入光标&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nb"&gt;set&lt;/span&gt; nu &lt;span class="nv"&gt;ts&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt; et &lt;span class="nv"&gt;sw&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt; cuc autoindent &amp;gt; ~/.vimrc&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="修改root-密码"&gt;修改root 密码&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo passwd root &lt;span class="c1"&gt;#之后根据提示输入2次密码即可&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="网络配置"&gt;网络配置&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#显示网卡&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nmcli con show
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#修改网卡IP地址&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nmcli con mod &lt;span class="s2"&gt;&amp;#34;Wire connection 1&amp;#34;&lt;/span&gt; ipv4.method manual ipv4.address 172.25.250.100/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.250 autoconnect yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#禁用和启用网卡&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nmcli con down &lt;span class="s2"&gt;&amp;#34;Wire connection 1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nmcli con up &lt;span class="s2"&gt;&amp;#34;Wire connection 1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#修改 允许root 访问 ssh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PermitRootLogin yes&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/ssh/sshd_config.d/01-permitrootlogin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemd restart sshd &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="进程管理"&gt;进程管理&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#查找名为qcloud 的进程
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ps aux | grep qcloud
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#根据进程ID 强制杀死进程
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kill -9 1588&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Setting Up SMB Service on Ubuntu 18.04</title><link>https://www.dukehsu.com/posts/ubuntu_smb.html</link><pubDate>Thu, 25 Jul 2024 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/ubuntu_smb.html</guid><description>&lt;h1 id="setting-up-smb-service-on-ubuntu-1804"&gt;Setting Up SMB Service on Ubuntu 18.04&lt;/h1&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install SMB and enable the SMB server and restart it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add an SMB user.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Edit the SMB configuration file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Permission configuration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read (R)&lt;/li&gt;
&lt;li&gt;Read/Write (RW)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Firewall configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Visit the SMB server on your local network.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="install-smb-server"&gt;Install SMB server&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install samba
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; smbd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl restart smbd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="add-an-smb-user"&gt;Add an SMB user&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo smbpasswd -a username&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="edit-the-smb-configuration-file"&gt;Edit the SMB configuration file&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo vim /etc/samb/smb.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;WiKiFolder_for_Client&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;comment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; Shared Folder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; /home/username/wiki
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;browseable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;valid &lt;span class="nv"&gt;users&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; @username&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;[WiKiFolder_for_Client]&lt;/code&gt;: The name of the shared folder being defined.&lt;/p&gt;</description></item><item><title>Flash OpenIPC firmware onto SigmaStar SSC335 SoC and Sony IMX307 IPC module.</title><link>https://www.dukehsu.com/posts/openipc_ssc335.html</link><pubDate>Thu, 18 Jul 2024 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/openipc_ssc335.html</guid><description>&lt;h2 id="flash-openipc-firmware-onto-sigmastar-ssc335-soc-and-sony-imx307-ipc-module"&gt;Flash OpenIPC firmware onto SigmaStar SSC335 SoC and Sony IMX307 IPC module.&lt;/h2&gt;
&lt;h3 id="requirements"&gt;Requirements&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;IPC module&lt;/li&gt;
&lt;li&gt;USB to TTL cable&lt;/li&gt;
&lt;li&gt;Windows laptop or computer&lt;/li&gt;
&lt;li&gt;Running a TFTP server on your Windows computer&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="results"&gt;Results&lt;/h3&gt;
&lt;p&gt;&lt;img alt="image-20240712185451240.png" loading="lazy" src="https://www.dukehsu.com/posts/openipc_ssc335/images/2158464686.png" title="image-20240712185451240.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20240712190215930.png" loading="lazy" src="https://www.dukehsu.com/posts/openipc_ssc335/images/319271948.png" title="image-20240712190215930.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20240712190239974.png" loading="lazy" src="https://www.dukehsu.com/posts/openipc_ssc335/images/3131038306.png" title="image-20240712190239974.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20240712190443909.png" loading="lazy" src="https://www.dukehsu.com/posts/openipc_ssc335/images/1791547843.png" title="image-20240712190443909.png"&gt;&lt;/p&gt;
&lt;h3 id="ipc-module-specifications"&gt;IPC module specifications&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Flash:&lt;br&gt;
GD25Q64CSIG:&lt;br&gt;
&lt;a href="https://www.digikey.cn/zh/products/detail/gigadevice-semiconductor-hk-limited/GD25Q64CSIG/9484942"&gt;https://www.digikey.cn/zh/products/detail/gigadevice-semiconductor-hk-limited/GD25Q64CSIG/9484942&lt;/a&gt;&lt;br&gt;
Soc:&lt;br&gt;
SigmaStar SSC335&lt;br&gt;
&lt;a href="https://linux-chenxing.org/infinity6/ssc335_pb_v03.pdf"&gt;https://linux-chenxing.org/infinity6/ssc335_pb_v03.pdf&lt;/a&gt;&lt;br&gt;
Sensor:&lt;br&gt;
1/2.8&amp;quot; 2MP CMOS Sony IMX307&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id="lan-windows-computer-tftp-server-directory-structure"&gt;LAN Windows computer TFTP SERVER directory structure&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;ldquo;bin&amp;rdquo; directory serves as the current directory for the TFTP server, used to store firmware files.&lt;/li&gt;
&lt;li&gt;Disable the firewall on the Windows computer and run tftp64.exe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://www.dukehsu.com/posts/openipc_ssc335/images/2070423656.png"&gt;&lt;/p&gt;</description></item><item><title>Share an Old Printer on Your Local Network - CUPS</title><link>https://www.dukehsu.com/posts/cupsinstall.html</link><pubDate>Sun, 16 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/cupsinstall.html</guid><description>&lt;p&gt;In this article, I will share with you about my second time installing CUPS on Ubuntu.&lt;/p&gt;
&lt;h2 id="requriement"&gt;Requriement&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 18.04 LTS Install on an Old Computer&lt;/li&gt;
&lt;li&gt;Canon E410 Series Printer&lt;/li&gt;
&lt;li&gt;Internet&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="cups-installation-and-configuration-step-by-step"&gt;CUPS Installation and Configuration Step by Step&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Install CUPS on your system&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#install cups&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get install cups cups-pdf cups-bsd &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Back up the configuration file&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#copy configuration file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo cp /etc/cups/cupsd.conf cupsd.conf.bak&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Editing the CUPS configuration file&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#add user simith to lpadmin group&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo usermod -aG lpadmin simith
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#edit cupsd.conf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo vim cupsd.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Edited cupsd.conf contents.&lt;br&gt;
（Configuration options not mentioned should be left as default.）&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#allow access port&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Port &lt;span class="m"&gt;63100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LogLevel warn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PageLogFormat
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MaxLogSize &lt;span class="m"&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Show shared printers on the local network.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Browsing on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;BrowseLocalProtocols dnssd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Web interface setting...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WebInterface Yes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Restrict access to the server...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;Location /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Order Allow,deny
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow @LOCAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow From 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow From 192.168.0.0/16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/Location&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Restrict access to the admin pages...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;Location /admin&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#access user simith can visit admin page&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Require user simith
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Order Allow,deny
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow @LOCAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow From 192.168.0.0/16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/Location&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Restrict access to configuration files...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;Location /admin/conf&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; AuthType Default
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Require user simith
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Order allow,deny
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow @LOCAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow From 192.168.0.0/16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/Location&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Restrict access to log files...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;Location /admin/log&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; AuthType Default
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Require user simith
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Order allow,deny
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow @LOCAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Allow 192.168.0.0/16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Restart CUPS service and add to starup&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl restart cups
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudp systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; cups&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="end"&gt;End&lt;/h3&gt;
&lt;p&gt;Finally, you can visit the Ubuntu IP address and configuration&lt;/p&gt;</description></item><item><title>Nssm在Windows操作系统中安装系统服务</title><link>https://www.dukehsu.com/posts/nssminsallation.html</link><pubDate>Sun, 02 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/nssminsallation.html</guid><description>&lt;p&gt;&lt;img loading="lazy" src="https://www.dukehsu.com/posts/nssminsallation/images/2727162793.png"&gt;
因为Frp client 之前是使用批处理启动的，所以每次电脑重启之后，需要等到登录之后才能启动。
目的是要操作系统启动之后就直接启动Frp client。为了解决这个问题，所以使用nssm来将Frp client安装到windows的服务，使它作为服务启动。这样就可以实现当电脑启动之后就可以直接启动。&lt;/p&gt;
&lt;h2 id="目录"&gt;目录&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;先决条件&lt;/li&gt;
&lt;li&gt;安装过程&lt;/li&gt;
&lt;li&gt;验证和引用&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="先决条件"&gt;先决条件&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Frp 服务端 与客户端
&lt;a href="https://github.com/fatedier/frp"&gt;https://github.com/fatedier/frp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;nssm 程序
&lt;a href="https://nssm.cc/download"&gt;https://nssm.cc/download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;根据Frp服务端的信息配置好相对应的Frp客户端信息&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="安装过程"&gt;安装过程&lt;/h4&gt;
&lt;h5 id="step-1"&gt;Step 1&lt;/h5&gt;
&lt;p&gt;在 Windows 操作系统下配置好 Frp 客户端信息之后，使用命令行进入 nssm 目录，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://www.dukehsu.com/posts/nssminsallation/images/387264339.png"&gt;&lt;/p&gt;
&lt;p&gt;注：请根据实际情况进入相对应的目录。&lt;/p&gt;
&lt;h5 id="step-2"&gt;Step 2&lt;/h5&gt;
&lt;p&gt;通过命令行安装服务：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nssm install MyFirstService&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="step-3"&gt;Step 3&lt;/h5&gt;
&lt;p&gt;输入 Step 2 的命令后，系统会打开 nssm GUI。填写服务的相关信息即可：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://www.dukehsu.com/posts/nssminsallation/images/980108514.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;程序路径&lt;/li&gt;
&lt;li&gt;程序工作目录&lt;/li&gt;
&lt;li&gt;额外参数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;顶部的 “Details” 是服务的详细描述和设置。填完以上信息后，服务就安装完成了。记得以管理员模式运行 nssm。&lt;/p&gt;
&lt;h4 id="验证和应用"&gt;验证和应用&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;在windows 的命令行输入“services.msc” 打开windows 的服务管理窗口
&lt;img loading="lazy" src="https://www.dukehsu.com/posts/nssminsallation/images/2352057980.png"&gt;&lt;/li&gt;
&lt;li&gt;通过上图就可以判断 服务已经添加成功。 另外你还可以在frp 根目录下查看frp运行的日志。&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="引用"&gt;引用&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Frp 服务端 与客户端
&lt;a href="https://github.com/fatedier/frp"&gt;https://github.com/fatedier/frp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;nssm 程序
&lt;a href="https://nssm.cc/download"&gt;https://nssm.cc/download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这就是使用nssm 在windows下，快速的创建服务的简单使用笔记。&lt;/p&gt;</description></item><item><title>SoftEther VPN Server Ubuntu 安装笔记</title><link>https://www.dukehsu.com/posts/softether.html</link><pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate><guid>https://www.dukehsu.com/posts/softether.html</guid><description>&lt;p&gt;&lt;img alt="1.0_vpnserver.jpg" loading="lazy" src="https://www.dukehsu.com/posts/softether/images/1111183263.jpg" title="1.0_vpnserver.jpg"&gt;&lt;br&gt;
SoftEther 是一个由日本筑波大学开发的开源VPN 项目，&lt;br&gt;
你可以自由的使用它为你的家庭或者公司组建虚拟局域网。&lt;br&gt;
它拥有多平台服务端和客户端，方便简易的操作界面，得到了很多人的喜爱。接下来就跟着我的操作一起来学习一下吧。&lt;/p&gt;
&lt;h4 id="softether-简介"&gt;SoftEther 简介&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.softether.org/9-about"&gt;https://www.softether.org/9-about&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="softeher下载"&gt;SoftEher下载&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.softether.org/5-download"&gt;https://www.softether.org/5-download&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="服务端环境"&gt;服务端环境&lt;/h4&gt;
&lt;p&gt;Ubuntu 16.4.1 &amp;amp; Centos 7.6&lt;/p&gt;
&lt;h4 id="操作步骤"&gt;操作步骤&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;通过SSH 客户端连接到Linux服务器，更新下载gcc工具&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get install build-essential&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将SoftEther服务端下载到Linux服务器(需要科学上网环境,根据你的系统版本下载相对应版本)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://www.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;解压SoftEther服务端&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tar -zxvf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;进入VPNserver 目录 进行make（make后会有3个问题询问。一直同意按1回车即可）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cd vpnserver
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;make&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在vpnserver目录启动VPNServer&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./vpnserver start #启动服务
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./vpnserver stop #停止服务&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动服务之后可以直接通过Softher管理工具进行连接管理和初始化配置了。 这里就不一一介绍了。此笔记只记录服务端配置。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ubuntu 设置开机启动（编辑rc.local 目录把vpnserver 启动添加进去即可）&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vi /etc/rc.local
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/home/ubuntu/vpnserver/vpnserver start #exit 0 之前写入&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Centos 7.6设置开机启动&lt;br&gt;
请参阅此文章&lt;br&gt;
&lt;a href="https://www.itiohub.com/log/centos6run.html"&gt;https://www.itiohub.com/log/centos6run.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样一来服务端就配置完成。 接下来就可以根据自己需求来通过SoftEther 管理工具进行配置和管理了。&lt;/p&gt;
&lt;h4 id="参考文章"&gt;参考文章：&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://dmesg.app/softether-vpnserver.html"&gt;https://dmesg.app/softether-vpnserver.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.softether.org/"&gt;https://www.softether.org/&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>