<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Net Boy</title>
    <link>https://lian.st/posts/</link>
    <description>Recent content in Posts on Net Boy</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <lastBuildDate>Sun, 09 Feb 2025 20:16:36 +0800</lastBuildDate><atom:link href="https://lian.st/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LinuxMint USB网卡固定DNS地址</title>
      <link>https://lian.st/posts/838304b3/</link>
      <pubDate>Sun, 09 Feb 2025 20:16:36 +0800</pubDate>
      
      <guid>https://lian.st/posts/838304b3/</guid>
      
      <description>&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;電腦通過type-c接口接了一塊2.5G的網卡，偶然髮現DNS解析有些問題。經過排查&lt;code&gt;/etc/resolv.conf&lt;/code&gt;文件髮現，每次啟用這個網卡，&lt;code&gt;nameserver&lt;/code&gt;都會被修改爲&lt;code&gt;127.0.0.53&lt;/code&gt;
&lt;img alt=&#34;問題&#34; src=&#34;https://b2.ccc.re/images/2025/02/04/1221.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;分析&#34;&gt;分析&lt;/h2&gt;
&lt;p&gt;在&lt;code&gt;Linux Mint&lt;/code&gt;中，當啟用&lt;code&gt;USB&lt;/code&gt;網卡時，&lt;code&gt;/etc/resolv.conf&lt;/code&gt; 文件中的&lt;code&gt;DNS&lt;/code&gt;服務器地址自動修改爲 &lt;code&gt;nameserver 127.0.0.53&lt;/code&gt; 是因爲繫統使用了&lt;code&gt;systemd-resolved&lt;/code&gt;服務來管理&lt;code&gt;DNS&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;解決&#34;&gt;解決&lt;/h2&gt;
&lt;h3 id=&#34;方法一禁用-systemd-resolved&#34;&gt;方法一：禁用 systemd-resolved&lt;/h3&gt;
&lt;p&gt;禁用 systemd-resolved：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;編輯 /etc/resolv.conf：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo nano /etc/resolv.conf
...
nameserver 8.8.8.8
nameserver 8.8.4.4
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;防止 /etc/resolv.conf 被覆蓋：
設置文件爲隻讀，以防止被其他服務修改：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo chattr +i /etc/resolv.conf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;方法二：配置 systemd-resolved
如果繼續使用 systemd-resolved，可以配置它使用自定義的 DNS 服務器：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo nano /etc/systemd/resolved.conf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;添加 DNS 服務器：
在文件中，找到 [Resolve] 部分，添加或修改 DNS 條目，例如：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Resolve]
DNS=8.8.8.8 8.8.4.4
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;重啟 systemd-resolved,保存更改後，重啟服務以應用更改：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo systemctl restart systemd-resolved
systemd-resolve --status
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Firewalld轉發端口</title>
      <link>https://lian.st/posts/0e58b5c8/</link>
      <pubDate>Sun, 09 Feb 2025 20:09:39 +0800</pubDate>
      
      <guid>https://lian.st/posts/0e58b5c8/</guid>
      
      <description>&lt;h2 id=&#34;轉發設定&#34;&gt;轉發設定&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --state # 查看防火牆狀態
firewall-cmd --add-masquerade --permanent # 開啟偽裝
firewall-cmd --add-forward-port=port=53389:proto=tcp:toport=3389:toaddr=我的伺服器IP --permanent # 新增轉發

firewall-cmd --add-forward-port=port=10010:proto=tcp:toport=10010:toaddr=45.221.113.97 --permanent # 新增轉發
firewall-cmd --reload # 重載防火牆
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;取消轉發設定&#34;&gt;取消轉發設定&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --remove-forward-port=port=3389:proto=tcp:toport=3389:toaddr=我的伺服器IP --permanent
firewall-cmd --remove-masquerade --permanent
firewall-cmd --reload
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Hugo 常用命令</title>
      <link>https://lian.st/posts/931b4dd0/</link>
      <pubDate>Sat, 25 Jan 2025 21:55:54 +0800</pubDate>
      
      <guid>https://lian.st/posts/931b4dd0/</guid>
      
      <description>&lt;h2 id=&#34;初始化新站點&#34;&gt;初始化新站點&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hugo new site /path/site-name/
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;運行&#34;&gt;運行&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hugo server
--bind=&amp;#34;127.0.0.1&amp;#34;    服務監聽地址
-p, --port=1313       服務監聽端口
-w, --watch[=true]    監聽站點目錄，發現文章有變動自動編譯。
-D, --buildDrafts     包括被標記為草稿的文章
-E, --buildExpired    包括已過期的文章
-F, --buildFuture     包括將在未來發布的文章
-b, --baseURL=&amp;#34;lian.st&amp;#34; 服務監聽域名
--log[=false]:        開啟日誌
--logFile=&amp;#34;/var/log/hugo.log&amp;#34; 日誌輸出路徑
-t, --theme=&amp;#34;&amp;#34;        指定主題
-v, --verbose[=false] 輸出詳細信息
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;新建文章&#34;&gt;新建文章&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hugo new content/post/new.md
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;編譯生成靜態文件&#34;&gt;編譯生成靜態文件&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;hugo
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>printer error cups-pki-invalid</title>
      <link>https://lian.st/posts/3707f36c/</link>
      <pubDate>Wed, 25 Dec 2024 20:11:05 +0800</pubDate>
      
      <guid>https://lian.st/posts/3707f36c/</guid>
      
      <description>&lt;h2 id=&#34;環境訊息&#34;&gt;環境訊息&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;作業系統： LinuxMint 22&lt;/li&gt;
&lt;li&gt;Kernrl： 6.8&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;錯誤訊息&#34;&gt;錯誤訊息&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Printer Error ：  cups pki invalid&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;錯誤原因&#34;&gt;錯誤原因&lt;/h2&gt;
&lt;p&gt;疑似因證書過時&lt;/p&gt;
&lt;h2 id=&#34;解決方法&#34;&gt;解決方法&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ sudo ls /etc/cups/ssl 
[sudo] ghost 的密碼：            
HPB0227ACC05EA.local.crt
➜  ~ sudo rm -rf /etc/cups/ssl 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;測試&#34;&gt;測試&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;重啓Print服務&lt;/li&gt;
&lt;li&gt;重啓Pirnter&lt;/li&gt;
&lt;li&gt;重新打印&lt;/li&gt;
&lt;/ol&gt;</description>
      
    </item>
    
    <item>
      <title>Debian vim滑鼠右鍵無法使用解決</title>
      <link>https://lian.st/posts/1342b289/</link>
      <pubDate>Mon, 09 Dec 2024 17:39:44 +0800</pubDate>
      
      <guid>https://lian.st/posts/1342b289/</guid>
      
      <description>&lt;p&gt;Debian中通過終端使用vim，滑鼠無法使用右鍵的復制粘貼等功能，這是由於vim的一向默認配置導致，按照下面方法修改即可。&lt;/p&gt;
&lt;h2 id=&#34;解決方法&#34;&gt;解決方法&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; vi /usr/share/vim/vim*/defaults.vim
....
 80 if has(&amp;#39;mouse&amp;#39;)
 81   if &amp;amp;term =~ &amp;#39;xterm&amp;#39;
 82     set mouse-=a
 83   else
 84     set mouse=nvi
 85   endif
 86 endif
...
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;說明&#34;&gt;說明&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mouse 選型默認爲 a，相關說明如下：

The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with:
:set mouse=a

When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn&amp;#39;t move the text cursor.
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>FreeBSD使用Rclone掛載報錯處理</title>
      <link>https://lian.st/posts/ff35cbdc/</link>
      <pubDate>Sun, 24 Nov 2024 00:54:53 +0800</pubDate>
      
      <guid>https://lian.st/posts/ff35cbdc/</guid>
      
      <description>&lt;h2 id=&#34;error&#34;&gt;Error&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;FreeBSD: failed to open fuse device: No such file or directory
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;解決方案&#34;&gt;解決方案&lt;/h2&gt;
&lt;h2 id=&#34;fuse&#34;&gt;FUSE&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pkg install fuse
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;rcconf&#34;&gt;rc.conf&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vim /etc/rc.conf
fusefs_enable=&amp;#34;YES&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;loaderconf&#34;&gt;loader.conf&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vim /boot/loader.conf
...
fusefs_load=YES
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上述配置文件修改完成後，執行&lt;code&gt;reboot&lt;/code&gt;,隨後繼續使用&lt;code&gt;rclone&lt;/code&gt;掛載就可以了。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Linux 格式化分區並設定開機自動掛載</title>
      <link>https://lian.st/posts/7d4aa2ff/</link>
      <pubDate>Sat, 16 Nov 2024 09:31:04 +0800</pubDate>
      
      <guid>https://lian.st/posts/7d4aa2ff/</guid>
      
      <description>&lt;h2 id=&#34;環境&#34;&gt;環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OS Version： LinuxMint 22&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;查看分區&#34;&gt;查看分區&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lsblk -f
sudo fdisk -l
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;格式化分區&#34;&gt;格式化分區&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo fdisk /dev/sdb
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;給格式化的分區添加標籤&#34;&gt;給格式化的分區添加標籤&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo e2label /dev/sdb Data_Disk
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;查看分區結果和uuid&#34;&gt;查看分區結果和UUID&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lsblk -f

# 查看分區ID
sudo blkid 
/dev/sdb1: LABEL=&amp;#34;disk1&amp;#34; UUID=&amp;#34;d366bc29-xxx&amp;#34; BLOCK_SIZE=&amp;#34;4096&amp;#34; TYPE=&amp;#34;ext4&amp;#34; PARTUUID=&amp;#34;0c08daf6-xxx&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;設置開機自動掛載&#34;&gt;設置開機自動掛載&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;創建掛載點&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo mkdir /data
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;編輯&lt;code&gt;/etc/fstab&lt;/code&gt;掛載文件&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;/etc/fstab 使用來存放文件系統的靜態信息的文件，當系統啓動的時候，系統會自動的從這個文件讀取訊息，並且會自動將此文件中指定的文件系統掛載到指定的目錄。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo vim /ets/fstab
UUID=9A3244AB87D900ED /data ext4 rw,suid,dev,exec,auto,users,async 0 2
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;驗證設定是否生效&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo mount -a
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;etcfstab文件說明&#34;&gt;/etc/fstab文件說明&lt;/h2&gt;
&lt;p&gt;/etc/fstab 文件的每一行主要包含 6 列设置，每一列通过空格或者是 Tab 隔开：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;Device&amp;gt; &amp;lt;Mount-Point&amp;gt; &amp;lt;File-System-Type&amp;gt; &amp;lt;Options&amp;gt; &amp;lt;Backup-Operation&amp;gt; &amp;lt;File-System-Check-Order&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-Device：通常是所挂载设备的&#34; data-lang=&#34;Device：通常是所挂载设备的&#34;&gt;Mount Point：掛載點。
File System Type：文件系統類型。
Options：掛載設備時使用的參數。
# 參數如下：
auto - 在启动时或键入了 mount -a 命令时自动挂载。
noauto - 只在你的命令下被挂载。
exec - 允许执行此分区的二进制文件。
noexec - 不允许执行此文件系统上的二进制文件。
ro - 以只读模式挂载文件系统。
rw - 以读写模式挂载文件系统。
user - 允许任意用户挂载此文件系统，若无显示定义，隐含启用 noexec, nosuid, nodev 参数。
users - 允许所有 users 组中的用户挂载文件系统.
nouser - 只能被 root 挂载。
owner - 允许设备所有者挂载.
sync - I/O 同步进行。
async - I/O 异步进行。
dev - 解析文件系统上的块特殊设备。
nodev - 不解析文件系统上的块特殊设备。
suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务，使一般用户运行程序时临时提升权限。
nosuid - 禁止 suid 操作和设定 sgid 位。
noatime - 不更新文件系统上 inode 访问记录，可以提升性能。
nodiratime - 不更新文件系统上的目录 inode 访问记录，可以提升性能(参见 atime 参数)。
relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。（与 noatime 相似，但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。），可以提升性能。
flush - vfat 的选项，更频繁的刷新数据，复制对话框或进度条在全部数据都写入后才消失。
defaults - 使用文件系统的默认挂载参数，例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.


Backup Operation：是否對這個文件系統進行悲憤，0 表示不備份，1 表示備份。
File System Check Order：需要檢查的文件系統的檢查順序;根目錄應該獲得最高的優先權，需設定爲 1,其他所有需要被檢查的設備設置爲 2,如果不想要檢查的則設定爲 0 。
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>ssh  connect to host github.com port 22  Connection refused</title>
      <link>https://lian.st/posts/cb6e0c09/</link>
      <pubDate>Thu, 14 Nov 2024 11:35:08 +0800</pubDate>
      
      <guid>https://lian.st/posts/cb6e0c09/</guid>
      
      <description>&lt;h2 id=&#34;前提&#34;&gt;前提&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;首選確認Deploy Key添加正確&lt;/li&gt;
&lt;li&gt;確認倉庫設定沒有問題&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;報錯訊息&#34;&gt;報錯訊息&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ git clone git@github.com:euiuu/life-blog.git
正在克隆到 &amp;#39;life-blog&amp;#39;...
ssh: connect to host github.com port 22: Connection refused
fatal: 無法讀取遠程倉庫。

請確認您有正確的訪問權限並且倉庫存在。
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;解決方法&#34;&gt;解決方法&lt;/h2&gt;
&lt;p&gt;According to &lt;a href=&#34;https://help.github.com/articles/using-ssh-over-the-https-port/&#34;&gt;this&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sometimes, firewalls refuse to allow SSH connections entirely. If using HTTPS cloning with credential caching is not an option, you can attempt to clone using an SSH connection made over the HTTPS port. Most firewall rules should allow this, but proxy servers may interfere&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Debian 12 部署Fail2ban保護SSH</title>
      <link>https://lian.st/posts/c9fd9755/</link>
      <pubDate>Wed, 06 Nov 2024 22:52:04 +0800</pubDate>
      
      <guid>https://lian.st/posts/c9fd9755/</guid>
      
      <description>&lt;h2 id=&#34;environment&#34;&gt;Environment&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;OS Version：&lt;code&gt; Debian GNU/Linux 12 (bookworm)&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fail2ban-Server： &lt;code&gt;1.0.2&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Python： &lt;code&gt;3.11.2&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;install-fail2ban&#34;&gt;Install Fail2ban&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt install fail2ban
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;configure-rule&#34;&gt;Configure Rule&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;nano /etc/fail2ban/jail.d/defaults-debian.conf

[DEFAULT]
# 用於指定忽略的ip地址， fail2ban 防御,以空格間隔。
ignoreip = 127.0.0.1/8
# ssh客戶端被禁止的時長（默認單位爲：秒）
bantime  = 86400
# 過濾的時長（秒）
findtime  = 600
# 匹配到的閥值（允許失敗的次數）
maxretry = 3
 
 
[ssh-iptables]
# 是否開啓
enabled  = true
# 過濾規則
port = 22
filter = sshd
# debian日志路徑
logpath = /var/log/auth.log
# centos7日志文件路徑
#logpath  = /var/log/secure
# 匹配到的閥值（允許失敗的次數）
maxretry = 4
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;install--rsyslog&#34;&gt;Install  Rsyslog&lt;/h2&gt;
&lt;p&gt;Debian 12 默認沒有安裝rsyslog，因fail2ban需要依賴rsyslog來做處理，所以我們這裏需要在debian12 中安裝rsyslog。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Kali遺忘用戶密碼恢復方法</title>
      <link>https://lian.st/posts/083f6594/</link>
      <pubDate>Tue, 05 Nov 2024 22:15:44 +0800</pubDate>
      
      <guid>https://lian.st/posts/083f6594/</guid>
      
      <description>&lt;p&gt;以下是Kali操作系統關於使用者密碼遺忘重置的方法。&lt;/p&gt;
&lt;h2 id=&#34;重新启动并进入-grub-菜单&#34;&gt;重新启动并进入 GRUB 菜单&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;重新啓動你的  &lt;code&gt;Kali Linux&lt;/code&gt; 系統。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;-編輯-grub-啓動項&#34;&gt;## 編輯 GRUB 啓動項&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在 GRUB 菜單中，選擇你的 &lt;code&gt;Kali&lt;/code&gt; 啓動項（通常是第一個）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然後，在&lt;code&gt;GRUB&lt;/code&gt;菜單處按&lt;code&gt;e&lt;/code&gt;進入。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;1&#34; src=&#34;https://b2.ccc.re/images/2024/11/05/1.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;修改啓動參數&#34;&gt;修改啓動參數&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;找到以&lt;code&gt;linux&lt;/code&gt;開頭的行，&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;linux /vmlinuz-... root=UUID=... ro quiet
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt=&#34;2&#34; src=&#34;https://b2.ccc.re/images/2024/11/05/2.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;然後在&lt;code&gt;quiet&lt;/code&gt;後面添加&lt;code&gt;rw init=/bin/bash&lt;/code&gt;，隨後按&lt;code&gt;Ctrl + X&lt;/code&gt;進入單用戶模式。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;3&#34; src=&#34;https://b2.ccc.re/images/2024/11/05/3.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;重置密碼&#34;&gt;重置密碼&lt;/h2&gt;
&lt;p&gt;在命令行中，輸入一下命令重置密碼，然後輸入&lt;code&gt;exec /sbin/init&lt;/code&gt;重新啓動系統。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;passwd your_username
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt=&#34;4&#34; src=&#34;https://b2.ccc.re/images/2024/11/05/4.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;重新登陸系統&#34;&gt;重新登陸系統&lt;/h2&gt;
&lt;p&gt;系統重新啓動後，使用剛才設定的新密碼就可以登陸了。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>LinuxMint自动挂载移动存储</title>
      <link>https://lian.st/posts/43b23ac3/</link>
      <pubDate>Fri, 01 Nov 2024 14:56:46 +0800</pubDate>
      
      <guid>https://lian.st/posts/43b23ac3/</guid>
      
      <description>&lt;p&gt;在LinuxMint(Ubuntu)中实现移动硬盘插入时自动挂载，并且自动打开文件夹，可以按照以下步骤进行设置。&lt;/p&gt;
&lt;h2 id=&#34;确认设备信息&#34;&gt;确认设备信息&lt;/h2&gt;
&lt;p&gt;首先，插入移动硬盘并使用以下命令查看设备信息：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lsblk
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;安装依赖工具&#34;&gt;安装依赖工具&lt;/h2&gt;
&lt;p&gt;确保安装了 &lt;code&gt;udisks2&lt;/code&gt; 和 &lt;code&gt;gvfs&lt;/code&gt;，这两个工具通常在大多数 Linux 发行版中默认安装。如果没有，可以使用以下命令安装。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt update
sudo apt install udisks2 gvfs
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;使用-udev-进行自动挂载和打开文件夹&#34;&gt;使用 &lt;code&gt;udev&lt;/code&gt; 进行自动挂载和打开文件夹&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;创建一个新的 &lt;code&gt;udev&lt;/code&gt; 规则文件：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo nano /etc/udev/rules.d/99-usb-autoscript.rules
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;添加以下内容（根据你的设备信息调整）：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ACTION==&amp;#34;add&amp;#34;, KERNEL==&amp;#34;sd[b-z][0-9]&amp;#34;, RUN+=&amp;#34;/usr/bin/udisksctl mount -b /dev/%k -o uid=1000,gid=1000,dmode=0777,fmode=0666&amp;#34; , RUN+=&amp;#34;/usr/local/bin/open-usb-folder.sh&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这条规则会在插入 USB 设备时自动挂载。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建一个脚本来打开文件夹：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo nano /usr/local/bin/open-usb-folder.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;添加以下内容：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#!/bin/bash
sleep 1  # 等待一段时间确保设备已挂载
xdg-open /media/$USER/$(ls /media/$USER | grep -v &amp;#34;.trash&amp;#34;)  # 打开最新挂载的文件夹
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这段脚本会在设备挂载后打开相应的文件夹。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;测试&#34;&gt;测试&lt;/h2&gt;
&lt;p&gt;完成上述操作后，我们可以重新插拔移动存储设备来测试是否可以正常挂载。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>LinuxMint 設置中沒有藍牙GUI問題解決</title>
      <link>https://lian.st/posts/76576d21/</link>
      <pubDate>Sat, 26 Oct 2024 14:34:24 +0800</pubDate>
      
      <guid>https://lian.st/posts/76576d21/</guid>
      
      <description>&lt;h2 id=&#34;检查硬件支持&#34;&gt;检查硬件支持&lt;/h2&gt;
&lt;p&gt;确保你的设备确实支持蓝牙，通常在笔记本电脑上这是内置的，但在桌面电脑上可能需要外接适配器&lt;/p&gt;
&lt;h2 id=&#34;安裝藍牙管理工具&#34;&gt;安裝藍牙管理工具&lt;/h2&gt;
&lt;p&gt;打开终端并运行以下命令以确保安装了蓝牙相关的软件包：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt update
sudo apt install bluez blueman
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;启动蓝牙服务&#34;&gt;启动蓝牙服务&lt;/h2&gt;
&lt;p&gt;确保蓝牙服务正在运行。可以通过以下命令检查并启动服务：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo systemctl start bluetooth
sudo systemctl enable bluetooth
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;检查蓝牙设备&#34;&gt;检查蓝牙设备&lt;/h2&gt;
&lt;p&gt;运行以下命令以确认蓝牙设备是否被系统识别：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bluetoothctl
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在命令行中输入 &lt;code&gt;power on&lt;/code&gt; 来开启蓝牙。&lt;/p&gt;
&lt;h2 id=&#34;檢查設置&#34;&gt;檢查設置&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;image-20241026142008608&#34; src=&#34;https://b2.ccc.re/images/2024/10/26/image-20241026142008608.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20241026142031264&#34; src=&#34;https://b2.ccc.re/images/2024/10/26/image-20241026142031264.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;其他&#34;&gt;其他&lt;/h2&gt;
&lt;p&gt;如果上述操作無法解決問題，可能需要進一步的排查問題。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;檢查驅動程式&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lsusb
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果你的藍牙設備在輸出中列出，但仍無法使用，可能需要根據具體的設備廠商和型號來手動安裝驅動程式。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看log&lt;/p&gt;
&lt;p&gt;檢查系統日志來排查可能存在的問題&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;journalctl -xe | grep bluetooth
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;更新作業系統&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt update
sudo apt upgrade
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Maybe you may need to use &lt;code&gt;reboot&lt;/code&gt; to try to solve the problem.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      
    </item>
    
    <item>
      <title>LinuxMint 訪問NTFS分區只讀錯誤</title>
      <link>https://lian.st/posts/0e6a861e/</link>
      <pubDate>Sat, 26 Oct 2024 11:38:40 +0800</pubDate>
      
      <guid>https://lian.st/posts/0e6a861e/</guid>
      
      <description>&lt;h2 id=&#34;报错&#34;&gt;报错&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  下载 sudo mount -t ntfs /dev/nvme0n1p1 /data
➜  下载 ls /data 
ls: 无法打开目录 &amp;#39;/data&amp;#39;: 权限不够
         
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;卸载分区&#34;&gt;卸载分区&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  下载 sudo umount /data       
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;安装依赖&#34;&gt;安装依赖&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  下载 sudo apt install ntfs-3g
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;修复分区权限&#34;&gt;修复分区权限&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  下载 sudo ntfsfix /dev/nvme0n1p1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/nvme0n1p1 was processed successfully.
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;重新挂载&#34;&gt;重新挂载&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  下载 sudo mount -t ntfs /dev/nvme0n1p1 /data
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Linuxmint 掛載NTFS分區</title>
      <link>https://lian.st/posts/d4127c2e/</link>
      <pubDate>Fri, 25 Oct 2024 09:37:16 +0800</pubDate>
      
      <guid>https://lian.st/posts/d4127c2e/</guid>
      
      <description>&lt;h2 id=&#34;安裝依賴&#34;&gt;安裝依賴&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ apt search ntfs-3g
v   libntfs-3g89                            -                                                  
i   libntfs-3g89t64                         - read/write NTFS driver for FUSE (runtime library)
i   ntfs-3g                                 - read/write NTFS driver for FUSE                  
p   ntfs-3g-dev                             - read/write NTFS driver for FUSE (development)  
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;查看ntfs分區&#34;&gt;查看NTFS分區&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo fdisk -l
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;掛載分區&#34;&gt;掛載分區&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ mkdir /data
➜  ~ mount -t ntfs ${NTFS Partition} /data 
➜  ~ mount -t ntfs /dev/sdb1 /data 
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;自動掛載&#34;&gt;自動掛載&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ sudo vim /etc/fstab
/dev/sdb1 /data/ ntfs default 0 0 
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Linux Setting Terminal Proxy</title>
      <link>https://lian.st/posts/eacbaf9c/</link>
      <pubDate>Thu, 24 Oct 2024 00:56:48 +0800</pubDate>
      
      <guid>https://lian.st/posts/eacbaf9c/</guid>
      
      <description>&lt;h2 id=&#34;臨時設定&#34;&gt;臨時設定&lt;/h2&gt;
&lt;h3 id=&#34;terminal&#34;&gt;Terminal&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ALL_PROXY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;socks5://127.0.0.1:&amp;lt;port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HTTP_PROXY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://127.0.0.1:&amp;lt;port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl ip.gs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;高級設定&#34;&gt;高級設定&lt;/h2&gt;
&lt;h3 id=&#34;script&#34;&gt;Script&lt;/h3&gt;
&lt;p&gt;Write the following code in  &lt;code&gt;~.bash_profile&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 設定終端代理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; setProxy&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ALL_PROXY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;socks5://127.0.0.1:&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 取消終端代理 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; unsetProxy&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; ALL_PROXY 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 測試終端代理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; testProxy&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    curl -i &lt;span class=&#34;s1&#34;&gt;&amp;#39;http://ip.cn&amp;#39;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我們執行如下指令使&lt;code&gt;~.bash_profile&lt;/code&gt;剛才的配置生效&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;source ~.bash_profile
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;使用&#34;&gt;使用&lt;/h3&gt;
&lt;p&gt;而後，我們就可以在terminal中可以使用上述函數來設定、取消、測試功能。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;setProxy # 設定終端代理
unsetProxy # 取消終端代理
testProxy # 測試終端代理
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Python 配置虚拟环境</title>
      <link>https://lian.st/posts/a51a736c/</link>
      <pubDate>Tue, 22 Oct 2024 16:15:19 +0800</pubDate>
      
      <guid>https://lian.st/posts/a51a736c/</guid>
      
      <description>&lt;h2 id=&#34;环境&#34;&gt;环境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OS Version： Linux Mint 22&lt;/li&gt;
&lt;li&gt;Python Versinon： 3.12.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;安装virtualenv&#34;&gt;安装virtualenv&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pip install virtualenv
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;创建virtualenv&#34;&gt;创建virtualenv&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;virtualenv [虚拟环境名称]
#如果不想使用系统的包,加上–no-site-packeages参数
virtualenv  --no-site-packages 创建路径名
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;激活virtualenv&#34;&gt;激活virtualenv&lt;/h2&gt;
&lt;h3 id=&#34;linux&#34;&gt;Linux&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cd venv
source ./bin/activate
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;windows&#34;&gt;Windows&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; cd venv
&amp;gt; .\Scripts\activate.bat
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;退出virtualenv&#34;&gt;退出virtualenv&lt;/h2&gt;
&lt;h3 id=&#34;linux-1&#34;&gt;Linux&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ deactivate
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;windows-1&#34;&gt;Windows&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; .\Scripts\deactivate.bat
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>FreeBSD防火墙之IPFW</title>
      <link>https://lian.st/posts/2d98e420/</link>
      <pubDate>Thu, 17 Oct 2024 13:53:42 +0800</pubDate>
      
      <guid>https://lian.st/posts/2d98e420/</guid>
      
      <description>&lt;p&gt;IPFIREWALL (IPFW) 是一个由 FreeBSD 发起的防火墙应用软件，它由 FreeBSD 的志愿者成员编写和维护。&lt;/p&gt;
&lt;p&gt;在 FreeBSD 12 中，ipfw 已经默认被编译进内核了，它默认会有一条规则，规则号为 &lt;code&gt;65536&lt;/code&gt;，是不可以删除的，这条规则会把所有流量都切断，所以还没配置好之前，千万不要随意启动 ipfw，否则就会面临无法连上远程 FreeBSD 的问题。&lt;/p&gt;
&lt;h2 id=&#34;环境&#34;&gt;环境&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;OS Version: freeBSD 14
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;配置-ipfw&#34;&gt;配置 ipfw&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sysrc firewall_enable=&amp;#34;YES&amp;#34;  # 允许防火墙开机自启
sysrc firewall_type=&amp;#34;open&amp;#34;  # 让系统把流量通过，这样就可以使用防火墙
sysrc firewall_script=&amp;#34;/etc/ipfw.rules&amp;#34;  # 制定ipfw规则的路径，我们待会儿在这里编辑规则
sysrc firewall_logging=&amp;#34;YES&amp;#34;  # 这样ipfw就可以打日志
sysrc firewall_logif=&amp;#34;YES&amp;#34;  # 把日志打到 `ipfw0` 这个设备里
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;编辑规则文件&#34;&gt;编辑规则文件&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;编辑 /etc/ipfw.rules 文件：
# vim /etc/ipfw.rules

IPF=&amp;#34;ipfw -q add&amp;#34;
ipfw -q -f flush

# loopback
$IPF 10 allow all from any to any via lo0
$IPF 20 deny all from any to 127.0.0.0/8
$IPF 30 deny all from 127.0.0.0/8 to any
$IPF 40 deny tcp from any to any frag

# statefull
$IPF 50 check-state
$IPF 60 allow tcp from any to any established
$IPF 70 allow all from any to any out keep-state
$IPF 80 allow icmp from any to any

# open port for ssh
$IPF 110 allow tcp from any to any 22 out
$IPF 120 allow tcp from any to any 22 in

# open port for http and https
$IPF 130 allow tcp from any to any 80 out
$IPF 150 allow tcp from any to any 80 in
$IPF 160 allow tcp from any to any 443 out
$IPF 170 allow tcp from any to any 443 in


# deny and log everything
$IPF 500 deny log all from any to any

# default rules . deny all
$IPF 65535 deny ip from any to any
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;启动-ipfw&#34;&gt;启动 ipfw&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@nl:~ # service ipfw start
Firewall rules loaded.
Firewall logging enabled.
Firewall logging pseudo-interface (ipfw0) already created.
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;检查状态&#34;&gt;检查状态&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@nl:~ # service ipfw status
ipfw is enabled
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;查看当前规则&#34;&gt;查看当前规则&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@nl:~ # ipfw list
00010 allow ip from any to any via lo0
00020 deny ip from any to 127.0.0.0/8
00030 deny ip from 127.0.0.0/8 to any
00040 deny tcp from any to any frag offset
00050 check-state :default
00060 allow tcp from any to any established
00070 allow ip from any to any out keep-state :default
00080 allow icmp from any to any
00110 allow tcp from any to any 22 out
00120 allow tcp from any to any 22 in
00130 allow tcp from any to any 80 out
00140 allow tcp from any to any 80 in
00500 deny log ip from any to any
65535 deny ip from any to any
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>FreeBSD编译安装openresty</title>
      <link>https://lian.st/posts/af40f8f4/</link>
      <pubDate>Wed, 16 Oct 2024 23:32:15 +0800</pubDate>
      
      <guid>https://lian.st/posts/af40f8f4/</guid>
      
      <description>&lt;h2 id=&#34;环境信息&#34;&gt;环境信息&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;OS Version : freeBSD 14
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;下载openresty&#34;&gt;下载openresty&lt;/h2&gt;
&lt;p&gt;freebsd 自带的fetch太慢了，还是用回wget吧.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wget https://openresty.org/download/openresty-1.25.3.2.tar.gz
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;创建运行用户&#34;&gt;创建运行用户&lt;/h2&gt;
&lt;p&gt;创建一个普通用户&lt;code&gt;www&lt;/code&gt;用来作为&lt;code&gt;openresty&lt;/code&gt;运行的用户.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;adduser www
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;安装依赖&#34;&gt;安装依赖&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;下面依赖包根据实时版本安装，下面列出来的版本号不是一成不变的.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@nl:/data/openresty-1.25.3.2 # pkg install cmake-3.30.5  perl5-5.36.3_2  gcc-13_5 make++-2.0_1 pcre-8.45_4 zlib-ng-2.2.2  openssl-3.0.15,1 git-2.46.2 make++-2.0_1 gmake-4.4.1
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;brotli&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git clone --recurse-submodules https://github.com/google/ngx_brotli
cd ngx_brotli/deps/brotli
mkdir out &amp;amp;&amp;amp; cd out
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_FLAGS=&amp;#34;-Ofast -m64 -march=native -mtune=native -flto -funroll-loops -ffunction-sections -fdata-sections -Wl,--gc-sections&amp;#34; -DCMAKE_CXX_FLAGS=&amp;#34;-Ofast -m64 -march=native -mtune=native -flto -funroll-loops -ffunction-sections -fdata-sections -Wl,--gc-sections&amp;#34; -DCMAKE_INSTALL_PREFIX=./installed ..
cmake --build . --config Release --target brotlienc


# nginx vhost config
...
    #启用brotli压缩
    brotli on;
    brotli_comp_level 6;
    brotli_buffers 16 8k;
    brotli_min_length 20;
    # 注意要配置压缩的文件类型(content-type)
    brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml application/wasm application/octet-stream;  
..
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;编译安装&#34;&gt;编译安装&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@nl:/data/openresty-1.25.3.2 # ./configure --prefix=/usr/local/openresty \
            --with-http_ssl_module \
            --with-http_gzip_static_module \
            --with-http_realip_module \
            --with-stream \
            --with-stream_ssl_module \
            --with-http_secure_link_module \
            --with-http_sub_module \
            --with-http_v2_module \
            --with-http_dav_module \
            --add-module=/data/ngx_brotli
root@nl:/data/openresty-1.25.3.2 #  gmake &amp;amp;&amp;amp; gmake install
root@localhost:/data/software/openresty-1.25.3.2 # ln -snf /usr/local/openresty/nginx/sbin/nginx /usr/local/bin/nginx
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;验证安装&#34;&gt;验证安装&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@localhost:/data/software/openresty-1.25.3.2 # nginx -v
nginx version: openresty/1.25.3.2
root@localhost:/data/software/openresty-1.25.3.2 # nginx
root@localhost:/usr/local/openresty/nginx/conf # netstat -anl | grep 80
tcp4       0      0 192.168.30.200.80                              192.168.30.120.43858                           FIN_WAIT_2 
tcp4       0      0 192.168.30.200.80                              192.168.30.120.56748                           TIME_WAIT  
tcp4       0      0 *.80                                          *.*                                           LISTEN     
tcp4       0     36 192.168.30.200.22                              192.168.30.120.38036         
root@localhost:/usr/local/openresty/nginx/conf # ps aux | grep nginx
root  18668   0.0  1.1 23596 10580  -  Is   07:29    0:00.00 nginx: master process nginx (nginx)
www   18669   0.0  1.5 30252 15032  -  S    07:29    0:00.01 nginx: worker process (nginx)
root  18678   0.0  0.2 12808  2000  0  S+   07:31    0:00.00 grep nginx
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>pkg報錯missing or size mismatch</title>
      <link>https://lian.st/posts/b615c08c/</link>
      <pubDate>Wed, 16 Oct 2024 21:55:44 +0800</pubDate>
      
      <guid>https://lian.st/posts/b615c08c/</guid>
      
      <description>&lt;h2 id=&#34;環境信息&#34;&gt;環境信息&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;OS Version: FreeBSD 14
PKG Version : 1.21.3
PKG Repo: NJU Eud
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;错误信息&#34;&gt;错误信息&lt;/h2&gt;
&lt;p&gt;在使用pkg安装git的时候报错&lt;code&gt;missing or size mismatch, fetching from remote&lt;/code&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@localhost:/etc/pkg # pkg install git 
Updating FreeBSD repository catalogue...
pkg: No SRV record found for the repo &amp;#39;FreeBSD&amp;#39;
Fetching meta.conf:   0%
FreeBSD repository is up to date.
All repositories are up to date.
The following 26 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	curl: 8.10.0
	expat: 2.6.2
	git: 2.45.2_1
	libnghttp2: 1.62.1
	libpsl: 0.21.5_1
	libssh2: 1.11.0_1,3
	p5-Authen-SASL: 2.17
	p5-CGI: 4.65
	p5-Clone: 0.46
	p5-Digest-HMAC: 1.04
	p5-Encode-Locale: 1.05
	p5-Error: 0.17029
	p5-GSSAPI: 0.28_2
	p5-HTML-Parser: 3.82
	p5-HTML-Tagset: 3.24
	p5-HTTP-Date: 6.06
	p5-HTTP-Message: 6.46
	p5-IO-HTML: 1.004
	p5-IO-Socket-IP: 0.42
	p5-IO-Socket-SSL: 2.085_1
	p5-LWP-MediaTypes: 6.04
	p5-Mozilla-CA: 20240730
	p5-Net-SSLeay: 1.94
	p5-TimeDate: 2.33,1
	p5-URI: 5.28
	pcre2: 10.43

Number of packages to be installed: 26

The process will require 54 MiB more space.
7 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/3] Fetching p5-HTTP-Message-6.46.pkg: 100%   81 KiB  83.2kB/s    00:01    
pkg: cached package p5-HTTP-Message-6.46: missing or size mismatch, fetching from remote
[2/3] Fetching p5-HTTP-Message-6.46.pkg: 100%   81 KiB  83.2kB/s    00:01    
pkg: cached package p5-HTTP-Message-6.46: missing or size mismatch, cannot continue
Consider running &amp;#39;pkg update -f&amp;#39;
[3/3] Fetching p5-HTTP-Message-6.46.pkg: 100%   81 KiB  83.2kB/s    00:01    
pkg: cached package p5-HTTP-Message-6.46: missing or size mismatch, fetching from remote
Fetching p5-HTTP-Message-6.46.pkg: 100%   81 KiB  83.2kB/s    00:01    
pkg: cached package p5-HTTP-Message-6.46: missing or size mismatch, cannot continue
Consider running &amp;#39;pkg update -f&amp;#39;
pkg: Package database is busy while closing!
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;解決方案&#34;&gt;解決方案&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;清空緩存&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>FreeBSD更換pkg國內源</title>
      <link>https://lian.st/posts/e703e108/</link>
      <pubDate>Wed, 16 Oct 2024 15:31:15 +0800</pubDate>
      
      <guid>https://lian.st/posts/e703e108/</guid>
      
      <description>&lt;h2 id=&#34;備份源文件&#34;&gt;備份源文件&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@localhost:/ # cd /etc/pkg/
root@localhost:/etc/pkg # cp FreeBSD.conf FreeBSD.conf.bak
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;編輯配置文件&#34;&gt;編輯配置文件&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@localhost:/etc/pkg # vi FreeBSD.conf
# 南京大學
FreeBSD: {
  url: &amp;#34;http://mirrors.nju.edu.cn/freebsd-pkg/${ABI}/quarterly&amp;#34;,
  mirror_type: &amp;#34;srv&amp;#34;,
  signature_type: &amp;#34;fingerprints&amp;#34;,
  fingerprints: &amp;#34;/usr/share/keys/pkg&amp;#34;,
  enabled: yes
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;更新-pkg-数据库&#34;&gt;更新 &lt;code&gt;pkg&lt;/code&gt; 数据库&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@localhost:/etc/pkg # pkg update
Updating FreeBSD repository catalogue...
pkg: Repository FreeBSD has a wrong packagesite, need to re-create database
pkg: No SRV record found for the repo &amp;#39;FreeBSD&amp;#39;
Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
Fetching data.pkg: 100%    7 MiB   7.3MB/s    00:01    
Processing entries: 100%
FreeBSD repository update completed. 34404 packages processed.
All repositories are up to date.
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;查看當前使用的源&#34;&gt;查看當前使用的源&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@localhost:/etc/pkg # pkg -vv | grep url
    url             : &amp;#34;http://mirrors.nju.edu.cn/freebsd-pkg/FreeBSD:14:amd64/quarterly&amp;#34;,
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;常用國內源&#34;&gt;常用國內源&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Owner&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;URL&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;中国科学技术大学&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;http://mirrors.ustc.edu.cn/freebsd-pkg/$%7BABI%7D/quarterly&#34;&gt;http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;南京大学&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;http://mirrors.nju.edu.cn/freebsd-pkg/$%7BABI%7D/quarterly&#34;&gt;http://mirrors.nju.edu.cn/freebsd-pkg/${ABI}/quarterly&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;網易&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;http://mirrors.163.com/freebsd-pkg/$%7BABI%7D/quarterly&#34;&gt;http://mirrors.163.com/freebsd-pkg/${ABI}/quarterly&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
      
    </item>
    
    <item>
      <title>Install FreeBSD14</title>
      <link>https://lian.st/posts/92fa3cfb/</link>
      <pubDate>Wed, 16 Oct 2024 15:00:21 +0800</pubDate>
      
      <guid>https://lian.st/posts/92fa3cfb/</guid>
      
      <description>&lt;ol&gt;
&lt;li&gt;進入到安裝界面,選擇&lt;code&gt;1&lt;/code&gt;,繼續下一步.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;1&#34; src=&#34;https://b2.ccc.re/images/2024/10/1.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;選擇&lt;code&gt;Install&lt;/code&gt;開始安裝.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;2&#34; src=&#34;https://b2.ccc.re/images/2024/10/2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;3.設定&lt;code&gt;hostname&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;3&#34; src=&#34;https://b2.ccc.re/images/2024/10/16/3.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;保持默認選擇即可.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;4&#34; src=&#34;https://b2.ccc.re/images/2024/10/4.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;硬盤分區設定,選擇&lt;code&gt;ZFS&lt;/code&gt;,並進行配置.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;5&#34; src=&#34;https://b2.ccc.re/images/2024/10/16/5.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;6&#34; src=&#34;https://b2.ccc.re/images/2024/10/16/6.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;7&#34; src=&#34;https://b2.ccc.re/images/2024/10/7.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;8&#34; src=&#34;https://b2.ccc.re/images/2024/10/8.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;9&#34; src=&#34;https://b2.ccc.re/images/2024/10/9.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;校驗上述選擇的參數.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;10&#34; src=&#34;https://b2.ccc.re/images/2024/10/10.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;11&#34; src=&#34;https://b2.ccc.re/images/2024/10/11.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;12&#34; src=&#34;https://b2.ccc.re/images/2024/10/12.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;7&#34;&gt;
&lt;li&gt;爲&lt;code&gt;root&lt;/code&gt;用戶設定密碼&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;13&#34; src=&#34;https://b2.ccc.re/images/2024/10/13.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;8&#34;&gt;
&lt;li&gt;網絡設定&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;14&#34; src=&#34;https://b2.ccc.re/images/2024/10/14.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;15&#34; src=&#34;https://b2.ccc.re/images/2024/10/15.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;16&#34; src=&#34;https://b2.ccc.re/images/2024/10/16.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;17&#34; src=&#34;https://b2.ccc.re/images/2024/10/17.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;18&#34; src=&#34;https://b2.ccc.re/images/2024/10/18.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;19&#34; src=&#34;https://b2.ccc.re/images/2024/10/19.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;20&#34; src=&#34;https://b2.ccc.re/images/2024/10/20.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;21&#34; src=&#34;https://b2.ccc.re/images/2024/10/21.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;9&#34;&gt;
&lt;li&gt;時區設定&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;22&#34; src=&#34;https://b2.ccc.re/images/2024/10/22.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;23&#34; src=&#34;https://b2.ccc.re/images/2024/10/23.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;24&#34; src=&#34;https://b2.ccc.re/images/2024/10/24.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;25&#34; src=&#34;https://b2.ccc.re/images/2024/10/25.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;26&#34; src=&#34;https://b2.ccc.re/images/2024/10/26.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;10&#34;&gt;
&lt;li&gt;選擇啓動項&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;27&#34; src=&#34;https://b2.ccc.re/images/2024/10/27.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;28&#34; src=&#34;https://b2.ccc.re/images/2024/10/28.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;11&#34;&gt;
&lt;li&gt;添加一個普通用戶&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;29&#34; src=&#34;https://b2.ccc.re/images/2024/10/29.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;30&#34; src=&#34;https://b2.ccc.re/images/2024/10/30.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;31&#34; src=&#34;https://b2.ccc.re/images/2024/10/31.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;12&#34;&gt;
&lt;li&gt;完成之後,選擇&lt;code&gt;Exit&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;32&#34; src=&#34;https://b2.ccc.re/images/2024/10/32.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;33&#34; src=&#34;https://b2.ccc.re/images/2024/10/33.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;13&#34;&gt;
&lt;li&gt;安裝完成,按&lt;code&gt;Reboot重新啓動操作系統.&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;34&#34; src=&#34;https://b2.ccc.re/images/2024/10/34.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;14&#34;&gt;
&lt;li&gt;使用&lt;code&gt;root&lt;/code&gt;用戶進入操作系統.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;35&#34; src=&#34;https://b2.ccc.re/images/2024/10/35.png&#34;&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>LinuxMint挂载NFS存储</title>
      <link>https://lian.st/posts/23a9c33e/</link>
      <pubDate>Wed, 16 Oct 2024 12:36:52 +0800</pubDate>
      
      <guid>https://lian.st/posts/23a9c33e/</guid>
      
      <description>&lt;h2 id=&#34;安装-nfs-客户端&#34;&gt;安装 NFS 客户端&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ sudo apt install nfs-common
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;heading&#34;&gt;&lt;/h2&gt;
&lt;h2 id=&#34;创建挂载点&#34;&gt;创建挂载点&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ mkdir /data/software
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;挂载&#34;&gt;挂载&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ sudo mount -t nfs server_ip:/path/to/nfs_share /mnt/nfs_share
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;验证挂载&#34;&gt;验证挂载&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ df -h
文件系统                       大小  已用  可用 已用% 挂载点
tmpfs                          784M  1.7M  783M    1% /run
efivarfs                       128K  109K   15K   88% /sys/firmware/efi/efivars
/dev/sda2                      109G   30G   74G   29% /
tmpfs                          3.9G   87M  3.8G    3% /dev/shm
tmpfs                          5.0M   12K  5.0M    1% /run/lock
/dev/sdb1                      299G  161G  138G   54% /data
/dev/sda1                      511M  6.2M  505M    2% /boot/efi
tmpfs                          784M  216K  784M    1% /run/user/1000
192.10.10.16:/volume1/software 1.8T  614G  1.2T   34% /data/software
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;自动挂载&#34;&gt;自动挂载&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;➜  ~ sudo vim /etc/fstab
...
# 加入下面的行
server_ip:/path/to/nfs_share /mnt/nfs_share nfs defaults 0 0

# 测试fstab挂载
➜  ~ sudo mount -a
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>FreeBSD切换用户权限</title>
      <link>https://lian.st/posts/599f60b0/</link>
      <pubDate>Tue, 15 Oct 2024 21:01:07 +0800</pubDate>
      
      <guid>https://lian.st/posts/599f60b0/</guid>
      
      <description>&lt;p&gt;freebad普通用户切换到root用户下。&lt;/p&gt;
&lt;p&gt;当你在 FreeBSD 中使用 &lt;code&gt;su&lt;/code&gt; 命令时遇到 &amp;ldquo;su: Sorry&amp;rdquo; 的错误信息，可以尝试如下方式解决：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;查看你当前用户是否在 &lt;code&gt;wheel&lt;/code&gt; 组中。可以使用以下命令查看用户组：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;groups yourusername 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果你的用户不在 &lt;code&gt;wheel&lt;/code&gt; 组中，你需要添加该用户到该组。&lt;/p&gt;
&lt;p&gt;2.**添加用户到 &lt;code&gt;wheel&lt;/code&gt; 组&lt;/p&gt;
&lt;p&gt;如果你有其他管理员权限，可以将你的用户添加到 &lt;code&gt;wheel&lt;/code&gt; 组。首先切换到 root 用户，然后执行以下命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pw usermod yourusername -G wheel
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这会将用户添加到 &lt;code&gt;wheel&lt;/code&gt; 组。&lt;/p&gt;
&lt;h3 id=&#34;heading&#34;&gt;&lt;/h3&gt;</description>
      
    </item>
    
    <item>
      <title>LinuxMint Install Snipaste</title>
      <link>https://lian.st/posts/linuxmint-install-snipaste/</link>
      <pubDate>Thu, 10 Oct 2024 17:00:00 +0800</pubDate>
      
      <guid>https://lian.st/posts/linuxmint-install-snipaste/</guid>
      
      <description>&lt;p&gt;&lt;strong&gt;Snipaste Download Link :&lt;/strong&gt; &lt;a href=&#34;https://www.snipaste.com/download.html&#34;&gt;https://www.snipaste.com/download.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20241010164912146&#34; src=&#34;https://b2.ccc.re/images/2024/10/image-20241010164912146.png&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;安装&#34;&gt;安装&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ghost@ghost:~$ cd /data/Download # 进入下载目录
ghost@ghost:~$ chmod +x Snipaste-2.10.2-x86_64.AppImage  # 授权
ghost@ghost:~$ ./Snipaste-2.10.2-x86_64.AppImage  # 运行
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;开机自启&#34;&gt;开机自启&lt;/h1&gt;
&lt;p&gt;&lt;img alt=&#34;image-20241010165225937&#34; src=&#34;https://b2.ccc.re/images/2024/10/image-20241010165225937.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image-20241010165355285&#34; src=&#34;https://b2.ccc.re/images/2024/10/image-20241010165355285.png&#34;&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>LinuxMint 22 修复没有声音问题</title>
      <link>https://lian.st/posts/linuxmint-no-sound/</link>
      <pubDate>Thu, 10 Oct 2024 16:59:00 +0800</pubDate>
      
      <guid>https://lian.st/posts/linuxmint-no-sound/</guid>
      
      <description>&lt;h1 id=&#34;检查音频设备&#34;&gt;检查音频设备&lt;/h1&gt;
&lt;p&gt;如果您的系统上存在音频，您将能够找到设备的品牌和型号：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ghost@ghost:~$ lspci -v | grep -i audio
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
	Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
	Subsystem: Gigabyte Technology Co., Ltd 8 Series/C220 Series Chipset High Definition Audio Controller
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;解决&#34;&gt;解决&lt;/h1&gt;
&lt;p&gt;识别音频设备后，下一步是解决问题，为此首先使用更新命令更新系统。接下来，运行以下命令在您的系统上安装&lt;strong&gt;pulseaudio-module-zeroconf&lt;/strong&gt;软件包：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ghost@ghost:~$ sudo apt-get install pulseaudio-module-zeroconf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上述软件包安装完成后，通过以下命令安装&lt;strong&gt;pavucontrol&lt;/strong&gt;；此命令将需要一些时间，具体取决于您的互联网连接：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ubuntu 22.04源码安装Python3.12</title>
      <link>https://lian.st/posts/ubuntu-install-python3.12/</link>
      <pubDate>Wed, 09 Oct 2024 21:27:03 +0800</pubDate>
      
      <guid>https://lian.st/posts/ubuntu-install-python3.12/</guid>
      
      <description>&lt;h1 id=&#34;安装依赖&#34;&gt;安装依赖&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev wget
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;下载312源码&#34;&gt;下载3.12源码&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;解压&#34;&gt;解压&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tar -xvf Python-3.12.0.tar.xz
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;编译安装&#34;&gt;编译安装&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 进入目录：
cd Python-3.12.0

# 配置安装选项：
sudo ./configure --enable-optimizations --prefix=/usr/local/python312

# 编译和安装：

sudo make -j $(nproc) # $(nproc) 会被替换为实际的 CPU 核心数量,并行编译  项目，使用所有可用的 CPU 核心
sudo make altinstall # 在原有安装基础上进行额外安装

# 使用 make altinstall 而不是 make install 是为了避免覆盖系统默认的Python版本。

# 在Python的./configure脚本中，常用的–enable参数及其含义如下：

–enable-ipv6：启用IPv6支持。
–enable-unicode=ucs4：启用UCS-4编码的Unicode支持。
–enable-shared：启用共享库的构建。
–enable-optimizations：启用优化，对Python进行一些优化以提高性能。
–enable-openssl：启用OpenSSL支持。
–enable-threads：启用多线程支持。
–enable-ssl-default-suites：启用默认的SSL密码套件。
这些参数可以根据你的需求进行配置，以便根据特定的功能或性能要求来构建Python。

在Python的./configure脚本中，常用的–with参数及其含义如下：

–with-threads：指定线程库的类型，例如–with-threads=pthread。
–with-dbmliborder：指定数据库访问库的优先顺序，例如–with-dbmliborder=gdbm:ndbm。
–with-computed-gotos：启用computed goto优化。
–with-ensurepip：指定ensurepip模块的安装方式，例如–with-ensurepip=upgrade。
–with-system-expat：使用系统安装的expat库。
–with-openssl：指定OpenSSL库的路径，例如–with-openssl=/usr/local/ssl
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;验证&#34;&gt;验证&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python3.12 --version
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;安装pip3&#34;&gt;安装pip3&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt install python3-pip
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;更新pip3&#34;&gt;更新pip3&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pip3 install --upgrade pip
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Rockylinx9 Install Angie</title>
      <link>https://lian.st/posts/rockylinx9-install-angie/</link>
      <pubDate>Thu, 03 Oct 2024 00:40:23 +0800</pubDate>
      
      <guid>https://lian.st/posts/rockylinx9-install-angie/</guid>
      
      <description>&lt;p&gt;&lt;img alt=&#34;anangie&#34; src=&#34;https://b2.ccc.re/2024/07/27/angie.png&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;what-is-angie&#34;&gt;what is Angie&lt;/h1&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Angie /&lt;a href=&#34;https://en.wikipedia.org/wiki/International_Phonetic_Alphabet&#34;&gt;ˈendʒi&lt;/a&gt;/ is an efficient, powerful, and scalable web server that was forked from nginx&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Conceived by ex-devs from the original team to venture beyond the earlier vision and act as a &lt;a href=&#34;https://angie.software/en/configuration/migration/#howto-migration&#34;&gt;drop-in replacement&lt;/a&gt; without major changes to module setup or configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Includes all capabilities of &lt;a href=&#34;https://nginx.org/en/CHANGES&#34;&gt;nginx 1.27.0&lt;/a&gt; and a number of &lt;a href=&#34;https://angie.software/en/#index-features-oss&#34;&gt;new features&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;install&#34;&gt;Install&lt;/h1&gt;
&lt;p&gt;Angie provides Dokker images, binary packages, source code, and other ways to install them, so I like to use source code to compile the installation.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Debian12更換apt源</title>
      <link>https://lian.st/posts/37d36afc/</link>
      <pubDate>Tue, 01 Oct 2024 17:41:25 +0800</pubDate>
      
      <guid>https://lian.st/posts/37d36afc/</guid>
      
      <description>&lt;h2 id=&#34;備份&#34;&gt;備份&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cp /etc/apt/sources.list /etc/apt/sources.list.bak
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;更換&#34;&gt;更換&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo nano /etc/apt/sources.list
# Official Debian 12 (Bookworm) Repositories
deb http://deb.debian.org/debian/ bookworm main contrib non-free
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free

# Security Updates
deb http://security.debian.org/debian-security bookworm-security main contrib non-free
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free

# Updates
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;更新&#34;&gt;更新&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt update
apt upgrade
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;常用源&#34;&gt;常用源&lt;/h2&gt;
&lt;h3 id=&#34;香港理工大學&#34;&gt;香港理工大學&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deb http://ftp.polyu.edu.hk/pub/Linux/debian/ bookworm main contrib non-free
deb-src http://ftp.polyu.edu.hk/pub/Linux/debian/ bookworm main contrib non-free

deb http://ftp.polyu.edu.hk/pub/Linux/debian-security bookworm-security main contrib non-free
deb-src http://ftp.polyu.edu.hk/pub/Linux/debian-security bookworm-security main contrib non-free

deb http://ftp.polyu.edu.hk/pub/Linux/debian/ bookworm-updates main contrib non-free
deb-src http://ftp.polyu.edu.hk/pub/Linux/debian/ bookworm-updates main contrib non-free
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;臺灣清華大學&#34;&gt;臺灣清華大學&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free non-free-firmware contrib

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bookworm-security main
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bookworm-security main

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free non-free-firmware contrib
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;新加坡nus&#34;&gt;新加坡NUS&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deb http://mirror.nus.edu.sg/debian/ bookworm main contrib non-free
deb-src http://mirror.nus.edu.sg/debian/ bookworm main contrib non-free

deb http://mirror.nus.edu.sg/debian-security/ bookworm-security main
deb-src http://mirror.nus.edu.sg/debian-security/ bookworm-security main

deb http://mirror.nus.edu.sg/debian/ bookworm-updates main contrib non-free
deb-src http://mirror.nus.edu.sg/debian/ bookworm-updates main contrib non-free
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;阿裏雲&#34;&gt;阿裏雲&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deb https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;清華大學&#34;&gt;清華大學&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free non-free-firmware contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bookworm-security main
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bookworm-security main
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main non-free non-free-firmware contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main non-free non-free-firmware contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main non-free non-free-firmware contrib
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>acme申请证书</title>
      <link>https://lian.st/posts/acme/</link>
      <pubDate>Thu, 01 Aug 2024 20:35:09 +0800</pubDate>
      
      <guid>https://lian.st/posts/acme/</guid>
      
      <description>&lt;h1 id=&#34;安装acme工具&#34;&gt;安装acme工具&lt;/h1&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;curl https://get.acme.sh | sh

source ~/.bashrc
acme.sh --register-account -m EMAIL ADDRESS
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;更换根证书：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;acme.sh --set-default-ca  --server zerossl
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;申请证书&#34;&gt;申请证书&lt;/h1&gt;
&lt;h2 id=&#34;http&#34;&gt;HTTP&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;acme.sh  --issue -d {DOMAIN}   --webroot  /data/wwwroot/{DOMAIN}
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;dns方式验证&#34;&gt;DNS方式验证&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;acme.sh --issue --dns dns_cf -d  {DOMAIN}
acme.sh --issue --dns dns_he  -d {DOMAIn}  --keylength ec-256
acme.sh --issue --dns dns_dp  -d {DOMAIN}
acme.sh --issue --dns dns_gd -d {DOMAIN}
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;安装证书&#34;&gt;安装证书&lt;/h1&gt;
&lt;p&gt;copy证书并指定nginx reload命令&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;acme.sh  --installcert  -d  {DOMAIN} \
        --key-file   /usr/local/nginx/conf/ssl/{KEY}  \
        --fullchain-file /usr/local/nginx/conf/ssl/{CER} \
        --reloadcmd  &amp;#34;/usr/local/nginx/sbin/nginx -s reload&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;生成-dhparampem-文件&#34;&gt;生成 dhparam.pem 文件&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048&lt;/code&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Reset Linux User Password on Google Cloud Computer</title>
      <link>https://lian.st/posts/reset-linux-user-password-on-google-cloud-computer/</link>
      <pubDate>Thu, 01 Aug 2024 20:35:09 +0800</pubDate>
      
      <guid>https://lian.st/posts/reset-linux-user-password-on-google-cloud-computer/</guid>
      
      <description>&lt;p&gt;if your root password is fotget,You can reset it using the following method .&lt;/p&gt;
&lt;h1 id=&#34;description&#34;&gt;Description&lt;/h1&gt;
&lt;h2 id=&#34;environment&#34;&gt;Environment&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;GCP security group allows 0.0.0.0/0 to access the SSH port;&lt;/li&gt;
&lt;li&gt;In the operating system, Firewall-cmd specifies the IP that can access the SSH port&lt;/li&gt;
&lt;li&gt;In the operating system, /etc/hosts.deny and /etc/hosts.allow are set&lt;/li&gt;
&lt;li&gt;Disable root user login&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;failure&#34;&gt;Failure&lt;/h2&gt;
&lt;p&gt;For some reason, all user passwords are lost and need to be reset.&lt;/p&gt;
&lt;h1 id=&#34;solution&#34;&gt;Solution&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;you need to shut down(Stop) the server.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;gcp-reset-linux-user-password-stop.png&#34; src=&#34;https://b2.ccc.re/2024/08/01/gcp-reset-linux-user-password-stop.png&#34;&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Debian安裝ClamAV病毒掃描工具</title>
      <link>https://lian.st/posts/976927fe/</link>
      <pubDate>Tue, 12 Mar 2024 17:36:15 +0800</pubDate>
      
      <guid>https://lian.st/posts/976927fe/</guid>
      
      <description>&lt;p&gt;&lt;img alt=&#34;Debian安裝ClamAV病毒掃描工具&#34; src=&#34;https://b2.ccc.re/images/2024/12/18/clamav.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;安裝&#34;&gt;安裝&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## Debian
sudo apt-get update
sudo apt-get install clamav clamav-daemon

## Centos
sudo yum install epel-release
sudo yum install clamav clamav-update
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;配置&#34;&gt;配置&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 如果日志文件不存在的話，需要手動創建。

sudo touch /var/log/clamav/freshclam.log
sudo chown clamav:clamav /var/log/clamav/freshclam.log
sudo chmod 644 /var/log/clamav/freshclam.log
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;使用&#34;&gt;使用&lt;/h2&gt;
&lt;p&gt;安裝之後，需要重啓一下機器，否則啓動服務不生效（至少我操作的時候是這樣的）。&lt;/p&gt;
&lt;h3 id=&#34;啓動服務&#34;&gt;啓動服務&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo systemctl start clamav-daemon
# 或者
sudo systemctl restart clamav-daemon
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;查看服務狀態&#34;&gt;查看服務狀態&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@debian:/home/ghost#  systemctl status clamav-daemon
● clamav-daemon.service - Clam AntiVirus userspace daemon
     Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/clamav-daemon.service.d
             └─extend.conf
     Active: active (running) since Wed 2024-12-18 00:27:03 EST; 2min 27s ago
TriggeredBy: ● clamav-daemon.socket
       Docs: man:clamd(8)
             man:clamd.conf(5)
             https://docs.clamav.net/
    Process: 823 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/SUCCESS)
    Process: 830 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
   Main PID: 831 (clamd)
      Tasks: 2 (limit: 2264)
     Memory: 1.5G
        CPU: 12.447s
     CGroup: /system.slice/clamav-daemon.service
             └─831 /usr/sbin/clamd --foreground=true

Dec 18 00:27:16 debian clamd[831]: Wed Dec 18 00:27:16 2024 -&amp;gt; Portable Executable support enabled.
Dec 18 00:27:16 debian clamd[831]: Wed Dec 18 00:27:16 2024 -&amp;gt; ELF support enabled.
Dec 18 00:27:16 debian clamd[831]: Wed Dec 18 00:27:16 2024 -&amp;gt; Mail files support enabled.
Dec 18 00:27:16 debian clamd[831]: Wed Dec 18 00:27:16 2024 -&amp;gt; OLE2 support enabled.
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;更新病毒庫&#34;&gt;更新病毒庫&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@debian:/home/ghost# freshclam
Wed Dec 18 00:29:38 2024 -&amp;gt; ClamAV update process started at Wed Dec 18 00:29:38 2024
Wed Dec 18 00:29:38 2024 -&amp;gt; daily.cld database is up-to-date (version: 27490, sigs: 2070490, f-level: 90, builder: raynman)
Wed Dec 18 00:29:38 2024 -&amp;gt; main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Wed Dec 18 00:29:38 2024 -&amp;gt; bytecode.cvd database is up-to-date (version: 335, sigs: 86, f-level: 90, builder: raynman)xxxxxxxxxx6 1更新 Cla•mAV 的病毒數據庫root@debian:/home/ghost# freshclam2Wed Dec 18 00:29:38 2024 -&amp;gt; ClamAV update process started at Wed Dec 18 00:29:38 20243Wed Dec 18 00:29:38 2024 -&amp;gt; daily.cld database is up-to-date (version: 27490, sigs: 2070490, f-level: 90, builder: raynman)4Wed Dec 18 00:29:38 2024 -&amp;gt; main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)5Wed Dec 18 00:29:38 2024 -&amp;gt; bytecode.cvd database is up-to-date (version: 335, sigs: 86, f-level: 90, builder: raynman)6
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;常用命令&#34;&gt;常用命令&lt;/h3&gt;
&lt;h4 id=&#34;掃描單個文件&#34;&gt;掃描單個文件&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;語法：clamscan /path/to/your/file
root@debian:/home/ghost# clamscan /etc/passwd
Loading:    15s, ETA:   0s [========================&amp;gt;]    8.70M/8.70M sigs       
Compiling:   6s, ETA:   0s [========================&amp;gt;]       41/41 tasks 

/etc/passwd: OK

----------- SCAN SUMMARY -----------
Known viruses: 8702280
Engine version: 1.0.7
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 22.179 sec (0 m 22 s)
Start Date: 2024:12:18 00:37:07
End Date:   2024:12:18 00:37:29
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;掃描整個目錄&#34;&gt;掃描整個目錄&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;clamscan -r /path/to/directory
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;自動刪除檢測到的病毒&#34;&gt;自動刪除檢測到的病毒&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;clamscan --remove -r /path/to/directory
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;掃描結果生成報告&#34;&gt;掃描結果生成報告&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;clamscan -r /path/to/directory &amp;gt; scanreport.txt
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;顯示掃描到的病毒信息&#34;&gt;顯示掃描到的病毒信息&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;clamscan -r --bell -i /path/to/directory
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;clamdscan&#34;&gt;clamdscan&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;clamdscan&lt;/code&gt; 是 Cla­mAV 防病毒服务器 &lt;code&gt;clamd&lt;/code&gt; 的客户端，用于与后台持续运行并加载病毒数据库的 &lt;code&gt;clamd&lt;/code&gt; 进行交互以执行病毒扫描，使得频繁或大规模的扫描任务更加高效。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>install YAY</title>
      <link>https://lian.st/posts/install-yay/</link>
      <pubDate>Fri, 01 Dec 2023 20:00:00 +0800</pubDate>
      
      <guid>https://lian.st/posts/install-yay/</guid>
      
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://aur.archlinux.org/yay.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; yay
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;makepkg -sic
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yay --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ghost@arindam-pc yay&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;$ yay --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yay v12.3.5 - libalpm v15.0.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;常用命令&#34;&gt;常用命令&lt;/h1&gt;
&lt;h2 id=&#34;search&#34;&gt;search&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay search_term
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;安装软件&#34;&gt;安装软件&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay -S package_name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;卸载软件&#34;&gt;卸载软件&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay -R package_name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;删除包和相关依赖&#34;&gt;删除包和相关依赖&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay -Rns package_name
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;仅升级aur包&#34;&gt;仅升级AUR包&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay -Sua
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;升级yay&#34;&gt;升级yay&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay -Sua
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;error&#34;&gt;Error&lt;/h1&gt;
&lt;h2 id=&#34;在-build-中发生一个错误&#34;&gt;在 build() 中发生一个错误&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ghost@arindam-pc yay&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;$ makepkg -si
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 正在创建软件包：yay 12.3.5-2 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;2024年09月16日 星期一 19时03分56秒&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 正在检查运行时依赖关系...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; &lt;span class=&#34;nv&#34;&gt;正在检查编译时依赖关系&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 获取源代码...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; 找到 yay-12.3.5.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 正在验证 &lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; 文件，使用sha256sums...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    yay-12.3.5.tar.gz ... &lt;span class=&#34;nv&#34;&gt;通过&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 正在释放源码...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; 正在解压缩 yay-12.3.5.tar.gz，使用 &lt;span class=&#34;nv&#34;&gt;bsdtar&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 正在删除现存的 &lt;span class=&#34;nv&#34;&gt;$pkgdir&lt;/span&gt;/ 目录...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 正在开始 build&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go build -trimpath -mod&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;readonly&lt;/span&gt; -modcacherw -ldflags &lt;span class=&#34;s1&#34;&gt;&amp;#39;-X &amp;#34;main.yayVersion=12.3.5&amp;#34; -X &amp;#34;main.localePath=/usr/share/locale/&amp;#34; -linkmode=external -compressdwarf=false&amp;#39;&lt;/span&gt; -buildmode&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pie -o yay
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/Jguer/aur v1.2.3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/Jguer/go-alpm/v2 v2.2.2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/Jguer/votar v1.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/Morganamilo/go-srcinfo v1.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/deckarep/golang-set/v2 v2.6.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/leonelquinteros/gotext v1.5.2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading golang.org/x/sys v0.18.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/Morganamilo/go-pacmanconf v0.0.0-20210502114700-cff030e927a5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/adrg/strutil v0.3.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading github.com/hashicorp/go-multierror v1.1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go: downloading golang.org/x/term v0.18.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;clean.go:8:2: github.com/Jguer/aur@v1.2.3: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21jguer/aur/@v/v1.2.3.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmd.go:11:2: github.com/Jguer/go-alpm/v2@v2.2.2: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21jguer/go-alpm/v2/@v/v2.2.2.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vote.go:8:2: github.com/Jguer/votar@v1.0.0: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21jguer/votar/@v/v1.0.0.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/text/errors.go:3:8: github.com/leonelquinteros/gotext@v1.5.2: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/leonelquinteros/gotext/@v/v1.5.2.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/db/ialpm/alpm.go:11:2: github.com/Morganamilo/go-pacmanconf@v0.0.0-20210502114700-cff030e927a5: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21morganamilo/go-pacmanconf/@v/v0.0.0-20210502114700-cff030e927a5.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/intrange/intrange.go:8:2: github.com/deckarep/golang-set/v2@v2.6.0: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/deckarep/golang-set/v2/@v/v2.6.0.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/query/metric.go:7:2: github.com/adrg/strutil@v0.3.1: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/adrg/strutil/@v/v0.3.1.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/query/query_builder.go:13:2: github.com/adrg/strutil@v0.3.1: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/adrg/strutil/@v/v0.3.1.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/query/source.go:7:2: github.com/hashicorp/go-multierror@v1.1.1: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/hashicorp/go-multierror/@v/v1.1.1.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/dep/dep_graph.go:10:2: github.com/Morganamilo/go-srcinfo@v1.0.0: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21morganamilo/go-srcinfo/@v/v1.0.0.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/runtime/runtime.go:20:2: github.com/Jguer/aur@v1.2.3: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21jguer/aur/@v/v1.2.3.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/runtime/runtime.go:21:2: github.com/Jguer/aur@v1.2.3: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/github.com/%21jguer/aur/@v/v1.2.3.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg/runtime/pacman.go:10:2: golang.org/x/term@v0.18.0: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/golang.org/x/term/@v/v0.18.0.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;print.go:16:2: golang.org/x/sys@v0.18.0: Get &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://proxy.golang.org/golang.org/x/sys/@v/v0.18.0.zip&amp;#34;&lt;/span&gt;: dial tcp 142.250.189.241:443: i/o timeout
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make: *** &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Makefile:114：yay&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; 错误 &lt;span class=&#34;nv&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; 错误： 在 build&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; 中发生一个错误。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    正在放弃...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;export GOPROXY=https://goproxy.cn&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; ~/.profile
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.profile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/Jguer/yay/issues/1278c&#34;&gt;https://github.com/Jguer/yay/issues/1278c&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      
    </item>
    
    <item>
      <title>Nginx隐藏版本号</title>
      <link>https://lian.st/posts/b387f540/</link>
      <pubDate>Thu, 09 Feb 2023 20:18:50 +0800</pubDate>
      
      <guid>https://lian.st/posts/b387f540/</guid>
      
      <description>&lt;h2 id=&#34;修改&#34;&gt;修改&lt;/h2&gt;
&lt;p&gt;編輯你的nginx主配置文件，新增server_tokens off;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; 53         gzip_vary on;
 54         gzip_proxied   expired no-cache no-store private auth;
 55         gzip_disable   &amp;#34;MSIE [1-6]\.&amp;#34;;
 56 
 57         #limit_conn_zone $binary_remote_addr zone=perip:10m;
 58         ##If enable limit_conn_zone,add &amp;#34;limit_conn perip 10;&amp;#34; to server section.
 59 
 60         server_tokens off;  # 設定爲off即可隱藏nginx版本號
 61         access_log off;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;生效&#34;&gt;生效&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;nginx -t 
nginx -s reload
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Firewalld防火牆常用命令</title>
      <link>https://lian.st/posts/46bbd722/</link>
      <pubDate>Thu, 09 Feb 2023 20:12:44 +0800</pubDate>
      
      <guid>https://lian.st/posts/46bbd722/</guid>
      
      <description>&lt;h2 id=&#34;開啓防火牆&#34;&gt;開啓防火牆&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl start firewalld.service
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;開機自啓&#34;&gt;開機自啓&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl enable firewalld.service
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;關閉防火牆&#34;&gt;關閉防火牆&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl stop firewalld.service
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;查看防火牆狀態&#34;&gt;查看防火牆狀態&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --state
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;查看現有規則&#34;&gt;查看現有規則&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;iptables -nL
firewall-cmd --zone=public --list-ports
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;新建zone&#34;&gt;新建ZONE&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --per --new-zone=tailscale
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;設置默認zone&#34;&gt;設置默認ZONE&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --set --default-zone=zone
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;將指定網卡加入到zone&#34;&gt;將指定網卡加入到ZONE&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd  --zone=public --add-inter
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;重載防火牆&#34;&gt;重載防火牆&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --reload
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;添加單個端口&#34;&gt;添加單個端口&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --zone=public --add-port=81/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;添加多個端口&#34;&gt;添加多個端口&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;刪除指定端口&#34;&gt;刪除指定端口&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --zone=public --remove-port=81/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;允許指定ip訪問指定端口&#34;&gt;允許指定ip訪問指定端口&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --add-rich-rule=&amp;#34;rule family=&amp;#34;ipv4&amp;#34; source address=&amp;#34;192.168.2.166&amp;#34; port protocol=&amp;#34;tcp&amp;#34; port=&amp;#34;3306&amp;#34; accept&amp;#34;
firewall-cmd --permanent --add-rich-rule=&amp;#34;rule family=&amp;#34;ipv4&amp;#34; source address=&amp;#34;192.168.123.3&amp;#34; accept&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;刪除指定ip&#34;&gt;刪除指定IP&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --remove-rich-rule=&amp;#34;rule family=&amp;#34;ipv4&amp;#34; source address=&amp;#34;192.168.1.51&amp;#34; accept&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;允許指定ip段訪問&#34;&gt;允許指定IP段訪問&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --add-rich-rule=&amp;#34;rule family=&amp;#34;ipv4&amp;#34; source address=&amp;#34;192.168.0.0/16&amp;#34; accept&amp;#34;
firewall-cmd --permanent --add-rich-rule=&amp;#34;rule family=&amp;#34;ipv4&amp;#34; source address=&amp;#34;192.168.1.0/24&amp;#34; port protocol=&amp;#34;tcp&amp;#34; port=&amp;#34;9200&amp;#34; accept&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;端口轉發&#34;&gt;端口轉發&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --zone=&amp;lt;區域&amp;gt; --add-forward-port=port=&amp;lt;源端口號&amp;gt;:proto=&amp;lt;协议&amp;gt;:toport=&amp;lt;目標端口號&amp;gt;:toaddr=&amp;lt;目標IP地址&amp;gt;

firewall-cmd --per --add-masquerade  # 開啓僞裝

# 轉發本地12380端口到遠程服務器的22855端口
firewall-cmd --zone=public --add-forward-port=port=12380:proto=tcp:toport=22855:toaddr=10.3.7.2 --permanent
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;拒絕指定ip段的icmp&#34;&gt;拒絕指定IP段的ICMP&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewalld-cmd --per --add-rich-rule &amp;#39;rule faimly=ipv4 source address=192.168.31.1/24 protocol=icmp reject&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;禁止icmp&#34;&gt;禁止ICMP&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewall-cmd --permanent --add-rich-rule=&amp;#39;rule protocol value=icmp drop&amp;#39;
iptables -A OUTPUT  -d 3.15.61.25 -j DROP
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;拒絕指定ip段訪問指定端口服務&#34;&gt;拒絕指定IP/段訪問指定端口/服務&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;firewalld --per --add-rich-rule &amp;#39;rule faimly=ipv4 source address=192.168.31.1/24 protocol=tcp  port port=20-22 drop
&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    
    <item>
      <title>Hello Hugo</title>
      <link>https://lian.st/posts/start/</link>
      <pubDate>Sat, 01 Jan 2000 20:35:09 +0800</pubDate>
      
      <guid>https://lian.st/posts/start/</guid>
      
      <description>&lt;p&gt;hello Hugo.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
