<?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 Freedom Wolf</title>
    <link>https://www.freedomwolf.cc/post/</link>
    <description>Recent content in Posts on Freedom Wolf</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-tw</language>
    <lastBuildDate>2023-06-04 00:00 +0800</lastBuildDate><atom:link href="https://www.freedomwolf.cc/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>在 RedHat 4 上安裝 Rsyslog 8</title>
      <link>https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/</link>
      <pubDate>2023-06-04 00:00 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/</guid>
      <description>&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/00-cover.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/00-cover.png&#34;
          
          alt=&#34;Cover&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

&lt;p&gt;你驚訝嗎？我也很驚訝，撰文時間 2023 年我還需要用到 RHEL4？反正既然都遇到了，那就順便紀錄紀錄，不過倒底什麼時候會用到呢？搞不好寫這篇文章其實就是在浪費我時間吧。&lt;br&gt;
總之，這篇沒有什麼重點，主要就是紀錄我在 RHEL4 要執行 Rsyslog 但 Repo 早就關光光，只能從 SourceCode 自己編譯的過程。&lt;br&gt;
一層一層解開相依關係，最後完成安裝，折騰自己的紀錄。&lt;/p&gt;
&lt;h2 id=&#34;前情提要&#34;&gt;前情提要&lt;/h2&gt;
&lt;p&gt;因為工作需要（沒錯，老公司老機器老系統死不更新），所以要在 RHEL4 上安裝 Rsyslog，也就因為出現了這篇文。不過在這篇文章我採用比較比我當時處理還要再完整一點的作法去處理，畢竟我也不敢動系統東西太多，保守一點。&lt;br&gt;
後來自己弄了一個虛擬機環境出來，用 RHEL4 全新安裝，一些 devel package，應該會是符合當時的環境，於是就開始囉。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/01-RHEL4_LoginScreen.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/01-RHEL4_LoginScreen.png&#34;
          
          alt=&#34;RHEL4 GUI 登入畫面&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/02-RHEL4_LoginScreen_tty.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/02-RHEL4_LoginScreen_tty.png&#34;
          
          alt=&#34;RHEL4 TTY 登入畫面&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

&lt;em&gt;在2023年還可以看到 RHEL4 啊（冏&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;必要的套件包&#34;&gt;必要的套件包&lt;/h2&gt;
&lt;p&gt;如圖片所示，需要的套件包有以下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.rsyslog.com/&#34;&gt;Rsyslog (本文主角)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://libestr.adiscon.com/&#34;&gt;libestr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.rsyslog.com/tag/libfastjson/&#34;&gt;libfastjson&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/&#34;&gt;util-linux (libuuid)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://curl.se/download.html&#34;&gt;curl (libcurl)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gnupg.org/download/index.html&#34;&gt;libgcrypt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gnupg.org/download/index.html&#34;&gt;libgpg-error&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;都下載完成後，我將他們解壓縮到另一個資料&lt;code&gt;unpack&lt;/code&gt;中。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/03-Source_packages_list.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/03-Source_packages_list.png&#34;
          
          alt=&#34;原始套件包列表&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/04-Source_unpack_packages_list.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/04-Source_unpack_packages_list.png&#34;
          
          alt=&#34;解壓縮後套件列表&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h2 id=&#34;rsyslog-第一次見面&#34;&gt;Rsyslog 第一次見面&lt;/h2&gt;
&lt;h3 id=&#34;編譯步驟&#34;&gt;編譯步驟&lt;/h3&gt;
&lt;p&gt;OK，進到這部份，最簡單的部份結束了（&lt;strong&gt;笑&lt;/strong&gt;），接下來才是困難的地方。&lt;br&gt;
首先要先進入到&lt;code&gt;rsyslog&lt;/code&gt;的資料夾內，然後編譯步驟基本上大同小異：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;./configure&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;make&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;make install&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;rsquo;s ALL.&lt;/p&gt;
&lt;p&gt;於是乎，開始進行第一步驟吧！


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/05-1-rsyslog-1.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/05-1-rsyslog-1.png&#34;
          
          alt=&#34;rsyslog configure&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/06-1-rsyslog-2.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/06-1-rsyslog-2.png&#34;
          
          alt=&#34;rsyslog configure failed&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h3 id=&#34;configure-失敗&#34;&gt;configure 失敗？&lt;/h3&gt;
&lt;p&gt;沒想到第一個難題馬上就遇到了，事情總是沒想像中順利，不過，這都不是大問題，它很明確跟你說哪裡有問題對吧？我們再看一次圖片：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Package requirements (libestr &amp;gt;= 0.1.9) were not met:&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;No package &#39;libestr&#39; found&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;聰明的各位應該知道問題在哪吧？沒錯，把&lt;code&gt;libestr&lt;/code&gt;安裝進去就可以囉。不過事情總不是想像中那麼順利，是吧？&lt;br&gt;
因為 RHEL4 是一個上古版本，你在網路上都沒有辦法找到還有在維護的 repo，所以你只剩下手動編譯一途，讓我們繼續吧！&lt;/p&gt;
&lt;h2 id=&#34;解決相依問題&#34;&gt;解決相依問題&lt;/h2&gt;
&lt;p&gt;沒有特別的步驟，就參照上述&lt;a href=&#34;#%E7%B7%A8%E8%AD%AF%E6%AD%A5%E9%A9%9F&#34;&gt;編譯步驟&lt;/a&gt;對以下每一個進行編譯安裝。&lt;/p&gt;
&lt;h3 id=&#34;libestr&#34;&gt;libestr&lt;/h3&gt;
&lt;p&gt;一樣進入到&lt;code&gt;libestr&lt;/code&gt;資料夾中編譯安裝它。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/07-libestr-1.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/07-libestr-1.png&#34;
          
          alt=&#34;libestr configure&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/08-libestr-2.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/08-libestr-2.png&#34;
          
          alt=&#34;libestr configured&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/09-libestr-3.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/09-libestr-3.png&#34;
          
          alt=&#34;libestr make &#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/10-libestr-4.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/10-libestr-4.png&#34;
          
          alt=&#34;libestr make install&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

繼續回到&lt;code&gt;rsyslog&lt;/code&gt;去 configure 它：

 
 &lt;div class=&#34;pure-g&#34;&gt;
 
   
   
   
   
   &lt;div class=&#34;pure-u-1-1&#34;&gt;
     &lt;div style=&#34;padding: 0 .2em&#34;&gt;
       
     
     
     
       &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/11-2-rsyslog.png&#34;&gt; 
         &lt;img 
     
           class=&#34;pure-img-responsive&#34;
           
           src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/11-2-rsyslog.png&#34;
           
           alt=&#34;rsyslog configure failed&#34;
           &gt;
         &lt;/a&gt;
     &lt;/div&gt;
   &lt;/div&gt;
   
 
 &lt;/div&gt;

OK，這次換成了 &lt;code&gt;libfastjson&lt;/code&gt;，那一樣繼續下去囉！&lt;/p&gt;
&lt;h3 id=&#34;libfastjson&#34;&gt;libfastjson&lt;/h3&gt;
&lt;p&gt;進入到&lt;code&gt;libfastjson&lt;/code&gt;資料夾中編譯安裝它。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/12-libfastjson-1.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/12-libfastjson-1.png&#34;
          
          alt=&#34;libfastjson configured&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/13-libfastjson-2.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/13-libfastjson-2.png&#34;
          
          alt=&#34;libfastjson make &#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/14-libfastjson-3.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/14-libfastjson-3.png&#34;
          
          alt=&#34;libfastjson make install&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

繼續回到&lt;code&gt;rsyslog&lt;/code&gt;去 configure 它：

 
 &lt;div class=&#34;pure-g&#34;&gt;
 
   
   
   
   
   &lt;div class=&#34;pure-u-1-1&#34;&gt;
     &lt;div style=&#34;padding: 0 .2em&#34;&gt;
       
     
     
     
       &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/15-3-rsyslog.png&#34;&gt; 
         &lt;img 
     
           class=&#34;pure-img-responsive&#34;
           
           src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/15-3-rsyslog.png&#34;
           
           alt=&#34;rsyslog configure failed&#34;
           &gt;
         &lt;/a&gt;
     &lt;/div&gt;
   &lt;/div&gt;
   
 
 &lt;/div&gt;

這次是 &lt;code&gt;uuid&lt;/code&gt;，有在往前推進度呢！持續下去！&lt;/p&gt;
&lt;h3 id=&#34;libuuid&#34;&gt;libuuid&lt;/h3&gt;
&lt;p&gt;因為&lt;code&gt;libuuid&lt;/code&gt;是&lt;code&gt;util-linux&lt;/code&gt;中的一部分，所以這是進去的資料夾不一樣。&lt;br&gt;
進入到&lt;code&gt;util-linux&lt;/code&gt;資料夾中編譯安裝它。&lt;/p&gt;
&lt;p&gt;不過因為&lt;code&gt;util-linux&lt;/code&gt;裡面有很多東西，我只要&lt;code&gt;libuud&lt;/code&gt;，所以 configure 參數要改一下： &lt;br&gt;
&lt;code&gt;./configure --disable-all-programs --enable-libuuid&lt;/code&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/16-util_linux-1.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/16-util_linux-1.png&#34;
          
          alt=&#34;uuid configured&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/17-util_linux-2.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/17-util_linux-2.png&#34;
          
          alt=&#34;uuid make install&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

繼續回到&lt;code&gt;rsyslog&lt;/code&gt;去 configure 它：

 
 &lt;div class=&#34;pure-g&#34;&gt;
 
   
   
   
   
   &lt;div class=&#34;pure-u-1-1&#34;&gt;
     &lt;div style=&#34;padding: 0 .2em&#34;&gt;
       
     
     
     
       &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/18-4-rsyslog.png&#34;&gt; 
         &lt;img 
     
           class=&#34;pure-img-responsive&#34;
           
           src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/18-4-rsyslog.png&#34;
           
           alt=&#34;rsyslog configure failed&#34;
           &gt;
         &lt;/a&gt;
     &lt;/div&gt;
   &lt;/div&gt;
   
 
 &lt;/div&gt;

訊息好像不一樣？不過沒關係，還是可以看出端倪，去找&lt;code&gt;libgcrypt&lt;/code&gt;玩吧！&lt;/p&gt;
&lt;h3 id=&#34;libgcrypt&#34;&gt;libgcrypt&lt;/h3&gt;
&lt;p&gt;進入到&lt;code&gt;libgcrypt&lt;/code&gt;資料夾中編譯安裝它。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/19-1-libgcrypt.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/19-1-libgcrypt.png&#34;
          
          alt=&#34;libgcrypt configure failed&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

慘了，編譯不起來，同時缺少這麼多東西，不過不用緊張，&lt;code&gt;make&lt;/code&gt;只有跟你說他需要&lt;code&gt;libgpg-error&lt;/code&gt;而已，先是試看吧！&lt;/p&gt;
&lt;h3 id=&#34;案外案-libgpg-error&#34;&gt;案外案 libgpg-error&lt;/h3&gt;
&lt;p&gt;進入到&lt;code&gt;libgpg-error&lt;/code&gt;資料夾中編譯安裝它。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/20-libgpg-error-1.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/20-libgpg-error-1.png&#34;
          
          alt=&#34;libgpg-error configure&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/21-libgpg-error-2.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/21-libgpg-error-2.png&#34;
          
          alt=&#34;libgpg-error make&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/22-libgpg-error-3.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/22-libgpg-error-3.png&#34;
          
          alt=&#34;libgpg-error make instll&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

看起來很順利，繼續回到&lt;a href=&#34;#libgcrypt&#34;&gt;&lt;code&gt;libgcrypt&lt;/code&gt;&lt;/a&gt;吧。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/23-2-libgcrypt.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/23-2-libgcrypt.png&#34;
          
          alt=&#34;libgcrypt configure&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/24-3-libgcrypt.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/24-3-libgcrypt.png&#34;
          
          alt=&#34;libgcrypt make instll&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

OK 收工，大家可以下班了（誤）。&lt;br&gt;
還記得剛剛卡在缺少&lt;a href=&#34;#libuuid&#34;&gt;&lt;code&gt;libgcrypt&lt;/code&gt;&lt;/a&gt;的話，那繼續編譯 rsyslog 吧。&lt;/p&gt;
&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/25-5-rsyslog.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/25-5-rsyslog.png&#34;
          
          alt=&#34;rsyslog configure failed&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

是是是，&lt;code&gt;libcurl&lt;/code&gt;是吧，我知道了知道了。&lt;/p&gt;
&lt;h3 id=&#34;libcurl&#34;&gt;libcurl&lt;/h3&gt;
&lt;p&gt;依照慣例去找&lt;code&gt;curl&lt;/code&gt;然後完成你知道該做的事情。&lt;br&gt;
不過這裡要注意一下，因為&lt;code&gt;CURL&lt;/code&gt;跟 TLS 連線有關，所以你要手動跟他說你要找誰的 SSL 套件參照，這裡用最方便系統有的&lt;code&gt;openssl&lt;/code&gt;處理，所以 configure 指令會變成： &lt;br&gt;
&lt;code&gt;./configure --with-openssl&lt;/code&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/26-libcurl-1.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/26-libcurl-1.png&#34;
          
          alt=&#34;libcurl configure&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/27-libcurl-2.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/27-libcurl-2.png&#34;
          
          alt=&#34;libcurl make &#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/28-libcurl-3.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/28-libcurl-3.png&#34;
          
          alt=&#34;libcurl make instll&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;回到編譯&lt;code&gt;rsyslog&lt;/code&gt;編譯，如果你直接下&lt;code&gt;./confiugre&lt;/code&gt;的話應該還是會出現錯誤：&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/25-5-rsyslog.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/25-5-rsyslog.png&#34;
          
          alt=&#34;rsyslog configure failed&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

我不是裝了CURL嗎，怎麼跟我說沒有？那是因為一般來說，lib 有優先順序，所以他在系統預設的&lt;code&gt;/lib&lt;/code&gt;中有找到，就不會去找我們自己編譯的&lt;code&gt;/usr/local/lib&lt;/code&gt;，也就是這樣。&lt;br&gt;
因此我們要手動跟他說「誒！CURL在這裡，去這裡找！」&lt;/p&gt;
&lt;p&gt;把&lt;code&gt;./configure&lt;/code&gt;參數前面增加變數，變成：&lt;br&gt;
&lt;code&gt;CURL_LIBS=/usr/local/lib/ CURL_CFLAGS=&amp;quot;-I/usr/local/lib/&amp;quot;  ./configure&lt;/code&gt;&lt;br&gt;
這樣就會成功了。&lt;/p&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/29-6-rsyslog.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/29-6-rsyslog.png&#34;
          
          alt=&#34;rsyslog configure&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/30-7-rsyslog.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/30-7-rsyslog.png&#34;
          
          alt=&#34;rsyslog make &#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/31-8-rsyslog.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/31-8-rsyslog.png&#34;
          
          alt=&#34;rsyslog make instll&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

&lt;h2 id=&#34;rsyslog-終局&#34;&gt;Rsyslog 終局&lt;/h2&gt;
&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/32-9-rsyslog.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2023/06/rhel4-rsyslog-compile/images/32-9-rsyslog.png&#34;
          
          alt=&#34;rsyslog version&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

真高興看到他可以噴版本給我，堂堂正正&lt;code&gt;Rsyslog 8.2304.0&lt;/code&gt;在 RHEL4 上的 i686 架構。&lt;br&gt;
辛苦各位了。（鞠躬）&lt;/p&gt;
&lt;h2 id=&#34;錯誤訊息&#34;&gt;錯誤訊息？&lt;/h2&gt;
&lt;p&gt;上途中第一行還是有錯誤，那個沒問題嗎？&lt;br&gt;
恩&amp;hellip;那是因為在&lt;code&gt;/lib/tls/&lt;/code&gt;中放著 RHEL4 自己的 lib，優先順序似乎高於所有，暫時我也沒有找到解決方法，不過手動&lt;code&gt;ln&lt;/code&gt;過去的話就會正常，會不會影響到整個系統我就不確定了（逃）。&lt;/p&gt;
&lt;h2 id=&#34;結語&#34;&gt;結語&lt;/h2&gt;
&lt;p&gt;其實我這篇超級亂寫，很多東西略過，像是看到 Rsyslog 裡面的很多功能支援，如果要啟用應該要編很多東西，所以最後我就只是給一個很基本可以用的 Rsyslog 出來，反正就交差了事（攤手）。&lt;br&gt;
剩下有興趣就請各位自己弄啦，大致上都大同小異就是了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下台一鞠躬。&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>單硬碟中的 Windows 與 Linux 共存之路—第一篇：磁區準備</title>
      <link>https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/</link>
      <pubDate>2021-03-04 19:00 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/</guid>
      <description>&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/00-cover.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/00-cover.png&#34;
          
          alt=&#34;Cover&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

在台灣，許多套裝機、筆記型電腦出廠都已經預載 Windows 作業系統，你不要還不行（我曾經問過，廠商可以給你乾淨硬碟，但授權費不會退還）。另外硬碟空間都已經規劃好了，這時候我如果需要安裝雙系統，難道只能外接新的硬碟嗎？對於輕薄筆電或是沒有預算的人來說，難道就沒有辦法了嗎？&lt;/p&gt;
&lt;p&gt;在這裡，手把手帶你從頭到尾帶你實際（虛擬機）演練！&lt;/p&gt;
&lt;h2 id=&#34;環境確認&#34;&gt;環境確認&lt;/h2&gt;
&lt;p&gt;首先，先確認目前環境，我這邊利用虛擬機先建立一個全新安裝的 Windows 10系統，基本上不會相差多遠。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/01-Disk_manager.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/01-Disk_manager.png&#34;
          
          alt=&#34;開始右鍵點選硬碟管理員&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;進來後這邊可以看到一些資訊，大致如下：


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/02-Disk_manager_detail.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/02-Disk_manager_detail.png&#34;
          
          alt=&#34;硬碟詳細&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

這是一顆 40GB 的硬碟，其中有三個磁區，分別是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EFI 磁區：100MB，同時也代表這台電腦是 UEFI 開機模式。&lt;/li&gt;
&lt;li&gt;C:\ 磁區：39.34GB，整個空間都給它了。&lt;/li&gt;
&lt;li&gt;修復磁區：557MB，Windwos 很多這種「保留磁區」，砍掉好像沒差，但就先擺著。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;稍微解說一下，目前主流系統應該都是使用&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E7%B5%B1%E4%B8%80%E5%8F%AF%E5%BB%B6%E4%BC%B8%E9%9F%8C%E9%AB%94%E4%BB%8B%E9%9D%A2&#34;&gt;UEFI 開機模式&lt;/a&gt;了，比較少還在使用&lt;a href=&#34;https://zh.wikipedia.org/wiki/MBR&#34;&gt;MBR 開機&lt;/a&gt;的新電腦。如果你上面畫面，沒有出現「EFI 分割區」或是下面還有「邏輯分割區」的圖例，那您可能不在這篇教學範圍之中。&lt;/p&gt;
&lt;h2 id=&#34;開始動工&#34;&gt;開始動工&lt;/h2&gt;
&lt;p&gt;所以這樣看下來，只能找 &lt;code&gt;C:\&lt;/code&gt; 可以動手，我們就在它身上 &lt;code&gt;右鍵 -&amp;gt; 壓縮磁碟區&lt;/code&gt;。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/03-Disk_manager_shirk_space.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/03-Disk_manager_shirk_space.png&#34;
          
          alt=&#34;壓縮磁碟區&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;這邊在計算完成後，會出現可以壓縮的空間，以及預計要壓縮多少空間。我以壓縮 10GB 為例，所以輸入「10240（MB）」，按下&lt;code&gt;壓縮&lt;/code&gt;。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/04-Disk_manager_shirk_space_operation.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/04-Disk_manager_shirk_space_operation.png&#34;
          
          alt=&#34;壓縮磁碟區操作&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;看到這樣的畫面就是操作完成了，從既有空間空挖出 10GB 的可用空間出來，這就是給 Linux 要用的空間，Windows 的操作基本上就到這裡了。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/05-Disk_manager_shirk_space_operation_done.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/05-Disk_manager_shirk_space_operation_done.png&#34;
          
          alt=&#34;壓縮磁碟區操作&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h2 id=&#34;準備-linux-安裝光碟&#34;&gt;準備 Linux 安裝光碟&lt;/h2&gt;
&lt;p&gt;接著，就可以準備你要安裝的 Linux 光碟，&lt;a href=&#34;https://ubuntu.com/&#34;&gt;Ubuntu&lt;/a&gt;、&lt;a href=&#34;https://www.opensuse.org/&#34;&gt;OpenSuSE&lt;/a&gt; 等等都可以使用，不過這裡還是以 &lt;a href=&#34;https://archlinux.org/&#34;&gt;ArchLinux&lt;/a&gt; 為例。&lt;br&gt;
&lt;a href=&#34;https://archlinux.org/&#34;&gt;ArchLinux&lt;/a&gt; 網站右上角有 &lt;a href=&#34;https://archlinux.org/download/&#34;&gt;Download&lt;/a&gt; 頁面，裡面可以選擇 「Taiwan」的伺服器可以選，速度會比較快。&lt;br&gt;
選擇 &lt;code&gt;archlinux-2021.03.01-x86_64.iso&lt;/code&gt; 的檔案就可以了，名字或許會和我這邊不一樣，主要是 ArchLinux 約莫一個月會更新一次 iso，所以日期會不同。&lt;br&gt;
下載完成後，拿出開機 USB 製作神器 &lt;a href=&#34;https://rufus.ie/&#34;&gt;Rufus&lt;/a&gt;，雖然老掉牙，不過下面還是會講如何製作。&lt;/p&gt;
&lt;h3 id=&#34;利用-rufus-製作安裝-usb&#34;&gt;利用 Rufus 製作安裝 USB&lt;/h3&gt;
&lt;p&gt;這邊先假設你已經抓好了 Rufus 以及 ArchISO 了，那麼這時先開啟 Rufus，將 ISO 檔案拉進 Rufus 內就會自動載入。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/06-Rufus.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/06-Rufus.png&#34;
          
          alt=&#34;Rufus UI&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

基本上照著預設就可以，另外確定一下有隨身碟插在電腦內，最上面需要選擇對應的裝置。
&lt;font color=&#34;red&#34;&gt;&lt;strong&gt;請注意，這裡選擇的裝置將會被清除所有資料&lt;/strong&gt;&lt;/font&gt;，不過不會列出隨身碟以外的裝置，但還是請再三確認。&lt;br&gt;
如果遇到下面幾個問題，請照說明選擇：&lt;br&gt;
syslinux（開機程式）版本不同，按「是」即可，不影響操作。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/07-Rufus_syslinux.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/07-Rufus_syslinux.png&#34;
          
          alt=&#34;Rufus syslinux&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

選擇「ISO 模式」。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/08-Rufus_isohybrid.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/08-Rufus_isohybrid.png&#34;
          
          alt=&#34;Rufus iso mode&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

確定會清除選擇的裝置資料。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/09-Rufus_confirm.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/09-Rufus_confirm.png&#34;
          
          alt=&#34;Rufus confirm&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;完成後在檔案總管內就會看到裝置了。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/10-Rufus_done.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/10-Rufus_done.png&#34;
          
          alt=&#34;Rufus done&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;接著就重新開機進入開機選單囉。&lt;/p&gt;
&lt;h2 id=&#34;開機選單&#34;&gt;開機選單&lt;/h2&gt;
&lt;p&gt;各家主機板都不盡相同，詳細可以查閱一下主機說明書，或是開機畫面上都會有寫按鍵操作，筆電就要稍微查一下了。不過主流上都是 &lt;code&gt;Esc&lt;/code&gt;、&lt;code&gt;F2&lt;/code&gt;、&lt;code&gt;Del&lt;/code&gt; 等等，如果懶的查可以試試看。&lt;br&gt;
找一下，通常會是 &lt;code&gt;UEFI：&lt;/code&gt; 開頭的選項，後面接著製造商，例如：&lt;code&gt;UEFI： SanDisk xxxxx&lt;/code&gt; 這樣。另外如果看到同樣的裝置但是沒有 UEFI 開頭，代表是使用 MBR 開機，那不是我們要做的事情。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/11-Boot_menu.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/11-Boot_menu.png&#34;
          
          alt=&#34;Boot Menu&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;進入後會看到這樣的畫面，恭喜你完成第一步了！接著我們下篇再繼續系統的安裝。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/12-Boot_list.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2021/03/series-windows_linux_dualboot-01_preparing_partition/images/12-Boot_list.png&#34;
          
          alt=&#34;Boot List&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>替代官方 Youtube App 的開源新秀 NewPipe</title>
      <link>https://www.freedomwolf.cc/2020/05/newpipe_android/</link>
      <pubDate>2020-05-07 16:00 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2020/05/newpipe_android/</guid>
      <description>&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/0-cover.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/0-cover.png&#34;
          
          alt=&#34;Github@bagelcake BY-NC-SA&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

&lt;a href=&#34;https://newpipe.schabi.org/&#34;&gt;NewPipe&lt;/a&gt; 是一個 Youtube 第三方應用程式，除 Youtube 外，同時也支援 &lt;a href=&#34;https://soundcloud.com/&#34;&gt;SoundCloud&lt;/a&gt;、&lt;a href=&#34;https://media.ccc.de/&#34;&gt;media.ccc.de&lt;/a&gt; 以及 &lt;a href=&#34;https://zh.wikipedia.org/wiki/PeerTube&#34;&gt;PeerTube&lt;/a&gt; 的實例。&lt;br&gt;
NewPipe 擁有許多官方應用程式沒有的功能：&lt;strong&gt;背景播放&lt;/strong&gt;、&lt;strong&gt;懸浮視窗&lt;/strong&gt;、&lt;strong&gt;手勢控制&lt;/strong&gt;等等，更重要的是，程式沒有使用 Google API 框架，在隱私上更是大大的加分。&lt;/p&gt;
&lt;p&gt;&lt;font color=&#34;red&#34;&gt;&lt;strong&gt;說在前頭&lt;/strong&gt;&lt;/font&gt;：這篇開始之後應該會採用更多的動態畫面，由於 gif 會造成低畫質又龐大的情況，所以改用 webm 格式取代，為了節省資源也不開啟自動播放，如有遇到者煩請自行點擊播放。&lt;/p&gt;
&lt;h2 id=&#34;那麼要去哪裡找呢&#34;&gt;那麼，要去哪裡找呢？&lt;/h2&gt;
&lt;p&gt;NewPipe 有兩種取得方式（當然也可以自編），從 &lt;a href=&#34;https://f-droid.org/packages/org.schabi.newpipe/&#34;&gt;F-Droid&lt;/a&gt; 或 &lt;a href=&#34;https://github.com/TeamNewPipe/NewPipe/releases&#34;&gt;Github&lt;/a&gt; 上安裝，不過兩者的簽章不同，所以沒有辦法混合安裝，要更換軟體來源就要重新安裝。&lt;br&gt;
自編的部份應該是少數人的選擇，就不在這裡做說明。&lt;br&gt;
另外 F-Droid 在更新推送的部份會比較緩慢（編譯時程的關係），偶爾會帶來不便，不過在升級上比起自行下載 apk 來的方便，可以考慮看看。&lt;/p&gt;
&lt;h2 id=&#34;有哪些功能&#34;&gt;有哪些功能？&lt;/h2&gt;
&lt;p&gt;大家最關心的就是這個了，不過話說在前提，因為沒有使用 Google API 的緣故，所以沒有辦法對影片進行留言評分，也沒有同步的訂閱清單可以使用，所以需要這些服務的話，還是需要使用官方應用程式或者網頁來執行。&lt;/p&gt;
&lt;h3 id=&#34;主要特點功能&#34;&gt;主要特點功能&lt;/h3&gt;
&lt;p&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;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/1-viedo_info.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/1-viedo_info.png&#34;
          
          alt=&#34;1-viedo_info.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;video controls 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/video/2-floating_play.webm&#34;
          
          alt=&#34;2-floating_play.webm&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;



&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/10-play_layout.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/10-play_layout.png&#34;
          
          alt=&#34;3-volume_brightness_control.gif&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&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;li&gt;歷史紀錄&lt;/li&gt;
&lt;li&gt;選擇預設解析度&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這些都是單機只存在於目前裝置上的資訊，所以訂閱的任何頻道只有在這台裝置上會出現，其他裝置不會取得（當然也不會透過網路流傳出去）。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;video controls 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/video/4-playlist_others.webm&#34;
          
          alt=&#34;4-playlist_others.webm&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;video controls 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/video/5-select_resolution.webm&#34;
          
          alt=&#34;5-select_resolution.webm&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h3 id=&#34;無關緊要的功能&#34;&gt;無關緊要的功能&lt;/h3&gt;
&lt;p&gt;其實也蠻重要的，就是可以選擇「預設內容國家」，會影響到「發燒影片」的地區，如果覺得不重要其實可以不要理它。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/10-play_layout.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/10-play_layout.png&#34;
          
          alt=&#34;6-content_options.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;再來是「我可不可以直接匯入在 Youtube 上有訂閱的頻道啊？上百個訂閱手動訂閱會死人捏」，可以，當然可以，只需要簡單機個步驟就可以了。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;點選「訂閱清單」分頁&lt;/li&gt;
&lt;li&gt;點選「訂閱清單」選單&lt;/li&gt;
&lt;li&gt;選擇「Youtube」&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;接著就會跳出說明，照著操作後點擊最下面的「匯入檔案」，你的訂閱列表就會被匯入啦！


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/11-open_in_app.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/11-open_in_app.png&#34;
          
          alt=&#34;7-import_Youtube_subscriptions.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/12-live_streaming.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/12-live_streaming.png&#34;
          
          alt=&#34;8-import_Youtube_subscriptions_introduction.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;如果你有 SoundCloud 想要匯入的話，方法大同小異，可以參考&lt;a href=&#34;https://newpipe.schabi.org/FAQ/tutorials/import-export-data/&#34;&gt;這裡&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;另外對於某些人需要下載影片或音訊的時候，NewPipe 也支援，不僅支援選擇解析度，包含單純音訊及字幕也可以獨立下載。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;video controls 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/video/9-download.webm&#34;
          
          alt=&#34;9-download.webm&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h2 id=&#34;實際操作&#34;&gt;實際操作&lt;/h2&gt;
&lt;p&gt;大致上用起來跟官方應用程式（或其他媒體播放器）沒什麼不一樣，直接從播放界面下手：


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/13-button_in_video.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/13-button_in_video.png&#34;
          
          alt=&#34;10-play_layout.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

主要界面長這樣，功能都寫在圖片上了，除了&lt;a href=&#34;#%E4%B8%BB%E8%A6%81%E7%89%B9%E9%BB%9E%E5%8A%9F%E8%83%BD&#34;&gt;前段&lt;/a&gt;有講到的手勢音量亮度調整外，當然左右雙擊快進快退的功能也是有的，在設定中也可以調整前後的幅度。&lt;br&gt;
另外當從其他程式點擊 Youtube 影片時，也會有選項可以選擇，包含：&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;li&gt;背景播放&lt;/li&gt;
&lt;li&gt;下載&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/14-overwrite_setting.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/14-overwrite_setting.png&#34;
          
          alt=&#34;11-open_in_app.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

這樣子就不用先轉跳進主程式才選擇功能啦，是不是很方便呢？&lt;/p&gt;
&lt;h3 id=&#34;這可不可以看直播&#34;&gt;這可不可以看直播？&lt;/h3&gt;
&lt;p&gt;&lt;font color=&#34;red&#34;&gt;&lt;strong&gt;可以&lt;/strong&gt;，&lt;strong&gt;當然可以&lt;/strong&gt;&lt;/font&gt;。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/15-import_setting.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/15-import_setting.png&#34;
          
          alt=&#34;12-live_streaming.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

不過直播好像沒有辦法調整解析度，筆者從手機上看，似乎是用最高解析度在播放，不知道會不會成為一個 feature。&lt;/p&gt;
&lt;h2 id=&#34;缺點&#34;&gt;缺點&lt;/h2&gt;
&lt;p&gt;講這麼多，一定會有幾個缺點，不過仔細想想，到底是缺點還是優點呢？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;沒辦法留言或評分&lt;br&gt;
因為沒有使用 Google API 及隱私問題，不提供登入功能當然也不能留言。&lt;/li&gt;
&lt;li&gt;沒有同步功能&lt;br&gt;
同上，基於隱私問題沒有這樣的服務，所以在 NewPipe 裡面的設定資料都是要透過手動備份的。&lt;/li&gt;
&lt;li&gt;少了很多 Youtube 官方應用程式的功能（像是「社群」）。&lt;br&gt;
就只能說 NewPipe 專注的東西不一樣吧，現階段沒辦法提供這樣的功能。&lt;/li&gt;
&lt;li&gt;影片內的連結不會出現。&lt;br&gt;
對，就是那種貼在影片上的訂閱按鈕以及推薦影片並不會顯示出來，某些情況下還真的有點小不便。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/6-content_options.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/6-content_options.png&#34;
          
          alt=&#34;13-button_in_video.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;NewPipe 不會顯示廣告。&lt;br&gt;
對，如果你是習慣用&lt;strong&gt;看廣告&lt;/strong&gt;來支持創作者的話，NewPipe 沒辦法做到這件事情，隔壁 &lt;a href=&#34;https://vanced.app/&#34;&gt;Youtube Vanced&lt;/a&gt; 還可以開啟廣告播放，不過那是因為架構問題就不討論了。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;結論&#34;&gt;結論&lt;/h2&gt;
&lt;p&gt;這邊提供給各位一個 Youtube 應用程式的替代方案，&lt;del&gt;雖然這樣講很屁話&lt;/del&gt;不過背景播放跟懸浮視窗及無廣告都可以都過 &lt;a href=&#34;https://www.youtube.com/premium&#34;&gt;Youtube Premium&lt;/a&gt; 達成，如果如果如果你真的很喜歡 Youtube 的話，這不乏是一個很好的支持管道，筆者在這邊也提供一個替代方案給大家參考選用。&lt;/p&gt;
&lt;h2 id=&#34;同場加映&#34;&gt;同場加映&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;#%E9%82%A3%E9%BA%BC%EF%BC%8C%E8%A6%81%E5%8E%BB%E5%93%AA%E8%A3%A1%E6%89%BE%E5%91%A2%EF%BC%9F&#34;&gt;最前面&lt;/a&gt;有說到可以從不同的軟體來源進行安裝，但是偶爾會遇到嚴重錯誤（像是 Youtube 更改 API 導致解析失敗）時，F-Droid 版本的更新推送會比 GitHub 版本來得慢許多，這時您可能會想要更換軟體來源，但是又不能安裝雙版本，所以想要保留資料的情況下就要先匯出資料。&lt;br&gt;
在「設定」→「內容」中，選擇「匯出資料庫」，確定好儲存位置後會建立名稱為「NewPipeData-yyyymmdd_HHMMSS.zip」的檔案，這就是你的備份檔。&lt;br&gt;
在移除舊版本安裝新版本之後，同樣的進入「設定」→「內容」，選擇「匯入資料庫」，找到剛剛的檔案，這時會提示「將會覆蓋原有設定」及「是否匯入設定」，沒意外都選擇「是」即可，之後會自動重新啟動軟體，一切就跟以前一樣。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/7-import_Youtube_subscriptions.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/7-import_Youtube_subscriptions.png&#34;
          
          alt=&#34;14-overwrite_setting.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/8-import_Youtube_subscriptions_introduction.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/05/newpipe_android/images/8-import_Youtube_subscriptions_introduction.png&#34;
          
          alt=&#34;15-import_setting.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>使用 systemd 自動切換路由至 USB 網路分享</title>
      <link>https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/</link>
      <pubDate>2020-01-06 00:15 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/</guid>
      <description>&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/images/00-cover.svg&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/images/00-cover.svg&#34;
          
          alt=&#34;Cover,icons from wikipedia commons.&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

前面的文章有說明了如何改用 systemd-networkd 進行系統的網路管理，但是在沒有另外設定的情況下並不會自動幫你切路由，所以必須要手動把裝置的設定檔寫好，讓系統自動去設定。&lt;br&gt;
配合之前的文章&lt;a href=&#34;https://www.freedomwolf.cc/2019/10/network_by_systemd/&#34;&gt;《使用 systemd-networkd 設定網路組態》&lt;/a&gt;要重新寫一個針對手機的 .link 檔以及 .network 檔，再外加一個 udev rule 讓手機插上去時可以自動重新啟動 systemd-networkd 服務達成目的。&lt;/p&gt;
&lt;h2 id=&#34;準備&#34;&gt;準備&lt;/h2&gt;
&lt;p&gt;首先，你要是 Android 手機，如果不是的話，那這篇就不是給你看的了，iPhone 好像不適用，手邊沒有 iPhone 我也無從測試。&lt;br&gt;
然後拿出你的傳輸線，把手機插上電腦，手機選擇什麼模式都不影響（應該是可以不要理它），接著開啟  terminal 後輸入 &lt;code&gt;lsusb&lt;/code&gt;，接著找到自己的手機。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/images/01-lsusb.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/images/01-lsusb.png&#34;
          
          alt=&#34;lsusb.&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

這邊我們需要的是手機的那條，我的是 Sony 手機，所以位於圖片中第一條。接著找到 &lt;code&gt;ID&lt;/code&gt; 後方的 &lt;code&gt;0fce:01ba&lt;/code&gt;，前四碼是 vendor ID，後四碼是 product ID，基本上同樣的廠商會是一樣的 vendor ID，所以同品牌手機愛好者就有福了，不過先假設只有這隻手機需要拿來分享網路，所以請記住&lt;font color=&#34;red&#34;&gt; vender ID &lt;/font&gt; ，後面會需要它。&lt;/p&gt;
&lt;h2 id=&#34;設定-systemd-networkd&#34;&gt;設定 systemd-networkd&lt;/h2&gt;
&lt;p&gt;知道手機 &lt;code&gt;vendor ID&lt;/code&gt; 後，接著要設定手機接上電腦後的裝置辨識，因為 systemd 的緣故，NIC 命名都是 &lt;code&gt;enpxxxx&lt;/code&gt; 之類的，然後每次插手機後裝置名稱都會不一樣，所以要先來固定住 NIC 名稱。&lt;/p&gt;
&lt;h3 id=&#34;編寫-30-rndislink&#34;&gt;編寫 30-rndis.link&lt;/h3&gt;
&lt;p&gt;當然名稱隨便填都可以，但是數字可以往後安排一點（數字影響讀取的順序），以下給一個範例：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Match]
Driver=rndis_host

[Link]
Description=Adnroid Rndis Link
NamePolicy=keep
Name=rndis
MACAddressPolicy=persistent
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在 &lt;code&gt;[Match]&lt;/code&gt; 中，可以選擇使用 &lt;code&gt;MACAddress=&lt;/code&gt; 來指令沒錯，但是考量到可能會更換手機的關係，所以使用&lt;code&gt;驅動程式&lt;/code&gt;來作為判斷標準，&lt;code&gt;rndis_host&lt;/code&gt; 也就是 &lt;a href=&#34;https://zh.wikipedia.org/wiki/RNDIS&#34;&gt;RNDIS&lt;/a&gt; 在 Linux 下的驅動，多數情況都是手機網路分享才會用到這個驅動，如果讀者會有其他情況用到 RNDIS 的話就自己更改一下匹配規則囉。&lt;br&gt;
&lt;code&gt;NamePolicy=keep&lt;/code&gt; 讓他不會被系統自動命名，然後下行的 &lt;code&gt;Name=&lt;/code&gt;可以自己取名字，這裡就會成為之後在系統中對於手機 NIC 的辨識名稱。&lt;br&gt;
&lt;code&gt;MACAddressPolicy=persisten&lt;/code&gt; 就是使用原本的 Mac 位置，除非無法取得就隨機產生一個，基本上不會影響使用。&lt;/p&gt;
&lt;p&gt;然後這段就完成了。&lt;/p&gt;
&lt;h3 id=&#34;編寫-30-rndisnetwork&#34;&gt;編寫 30-rndis.network&lt;/h3&gt;
&lt;p&gt;名稱盡量跟前面一樣，可以做一組配對方便辨識，以下給一組範例：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Match]
Name=rndis

[Network]
DHCP=true

[DHCP]
RouteMetric=10
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;[Match&lt;/code&gt; 的話採用 &lt;code&gt;Name=&lt;/code&gt; 匹配裝置，因為前面已經有指定裝置名稱了，所以可以這樣用，當然如果名稱設定不一樣請記得做更改。&lt;br&gt;
&lt;code&gt;[Network]&lt;/code&gt; 部份，&lt;code&gt;DHCP&lt;/code&gt; 一般來說是 &lt;code&gt;yes&lt;/code&gt;，手機自己會做分配。&lt;br&gt;
&lt;code&gt;[DHCP]&lt;/code&gt; 底下的 &lt;code&gt;RouteMetric=&lt;/code&gt; 是重點，這邊設定為 &lt;code&gt;10&lt;/code&gt;，代表權重，數字越小權重越大，之後會用到。&lt;br&gt;
到這邊就算完成了讓系統在手機接上去後可以自動連接設定網路的部份。&lt;/p&gt;
&lt;h3 id=&#34;修改原本的網路&#34;&gt;修改原本的網路&lt;/h3&gt;
&lt;p&gt;因為原本有連線存在，如果沒有的話就可以略過這段。&lt;br&gt;
假設原本的網路是 &lt;code&gt;enp3s0&lt;/code&gt; 好了，設定檔在 &lt;code&gt;20-enp3s0.network&lt;/code&gt;（這時候的 &lt;code&gt;20-enp3s0.link&lt;/code&gt; 不重要，因為這是管理硬體連線用的），打開設定檔後，在 &lt;code&gt;[DHCP]&lt;/code&gt; 下多加一條:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[DHCP]
RouteMetric=20
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;這邊的 &lt;code&gt;RouteMetric=&lt;/code&gt; 基本上只要比前面設定的小就可以了，這會影響到路由的權重，所以看起來會像這樣：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:center&#34;&gt;NIC&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;RouterMetric&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;RNDIS&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;enp3s0&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;當然，只有 &lt;code&gt;enp3s0&lt;/code&gt; 存在時也只有它可以走，權重就不影響了，只有在兩者同時存在時才會有權重問題。&lt;/p&gt;
&lt;h2 id=&#34;測試設定&#34;&gt;測試設定&lt;/h2&gt;
&lt;p&gt;這時候把手機插上電腦，手機選擇「USB 數據連線」，然後重新啟動 systemd-networkd：&lt;br&gt;
&lt;code&gt;# systemctl restart systemd-networkd&lt;/code&gt;&lt;br&gt;
這時候可以用查詢 IP 位置的方式看看是不是有改變，如果沒有的話可以看是不是裝置沒有被變更到：&lt;br&gt;
&lt;code&gt;$ ip l s&lt;/code&gt; 應該要出現 &lt;code&gt;rndis&lt;/code&gt;，像是這樣：&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/images/02-ip_a_s.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/01/auto_switching_usb_tethering/images/02-ip_a_s.png&#34;
          
          alt=&#34;ip a s.&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

如果有出現裝置，但是名稱不對的話，應該是設定檔沒有寫好，再看看是不是打錯了什麼。&lt;/p&gt;
&lt;h2 id=&#34;設定-udev&#34;&gt;設定 udev&lt;/h2&gt;
&lt;p&gt;前面的部份如果插入拔出的話都要自己手動重新啟動 systemd-networkd 才能套用網路，但是這裡可以透過 &lt;code&gt;udev&lt;/code&gt; 來偵測裝置行為後進行動作，還記的前面的 &lt;code&gt;vendor ID&lt;/code&gt; 嗎？這時候派上用場了！&lt;br&gt;
我們要先新增一個 &lt;code&gt;udev rule&lt;/code&gt;，要放置在 &lt;code&gt;/etc/udev/rules.d/&lt;/code&gt; 底下，名稱的話也是隨便取，這邊就叫它 &lt;code&gt;90-android-tethering.rules&lt;/code&gt;，裡面長這樣：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ACTION==&amp;#34;add|remove&amp;#34;, SUBSYSTEM==&amp;#34;net&amp;#34;, ATTR{idVendor}==&amp;#34;18d1&amp;#34; ENV{ID_USB_DRIVER}==&amp;#34;rndis_host&amp;#34;, SYMLINK+=&amp;#34;android&amp;#34;, RUN+=&amp;#34;/usr/bin/systemctl restart systemd-networkd.service&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;其中的 &lt;code&gt;18d1&lt;/code&gt; 要改成自己的 vendor ID，所以實際上會像這樣：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ACTION==&amp;#34;add|remove&amp;#34;, SUBSYSTEM==&amp;#34;net&amp;#34;, ATTR{idVendor}==&amp;#34;0fce&amp;#34; ENV{ID_USB_DRIVER}==&amp;#34;rndis_host&amp;#34;, SYMLINK+=&amp;#34;android&amp;#34;, RUN+=&amp;#34;/usr/bin/systemctl restart systemd-networkd.service&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;然後保存，接著再重新把手機插上去，這次就不要手動下指令重新啟動 systemd-networkd 了，看看是不是可以正常切換呢？&lt;br&gt;
如果可以的話，恭喜你完成了這樣方便的功能！&lt;/p&gt;
&lt;h2 id=&#34;結論&#34;&gt;結論&lt;/h2&gt;
&lt;p&gt;筆者之前都沒有這樣的需求，是後來租屋處的網路竟然是 cable 網路還只有 12/3，根本要人命啊，只好拿手機 4G 網路出來壓壓驚，但是有線網路在，手機插上去又不會自動改順序，只好自己看一下要怎樣處理這個問題了，也順便分享給大家，如果遇到這樣的情況也可以輕鬆解決。&lt;br&gt;
然後讚嘆 ArchLinux Wiki 可以方便查資料。&lt;br&gt;
附上資料來源囉：&lt;a href=&#34;https://wiki.archlinux.org/index.php/Android_tethering&#34;&gt;Android tethering&lt;/a&gt;，裡面還有很多種方法，筆者自己覺得這樣是最好用最方便的，推薦給大家。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>使用 systemd-resolved 設定 DNS 域名解析</title>
      <link>https://www.freedomwolf.cc/2020/01/dns_by_systemd/</link>
      <pubDate>2020-01-03 19:30 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2020/01/dns_by_systemd/</guid>
      <description>&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2020/01/dns_by_systemd/images/00-cover.svg&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2020/01/dns_by_systemd/images/00-cover.svg&#34;
          
          alt=&#34;Cover&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

接續上一篇 systemd-networkd 後，是說明 DNS 解析的部份。&lt;br&gt;
一般來說都是給系統（普遍都是 DHCP 配發 DNS server 給各位）處理，也就是系統內的 &lt;code&gt;Name Service Switch&lt;/code&gt;（簡稱 NSS）去做解析，但是這東西有些年頭了，新的協定像是 &lt;a href=&#34;https://zh.wikipedia.org/zh-tw/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E6%89%A9%E5%B1%95&#34;&gt;DNSSEC&lt;/a&gt;、&lt;a href=&#34;https://zh.wikipedia.org/zh-tw/DNS_over_TLS&#34;&gt;DNS over TLS&lt;/a&gt; 都沒有支援，對於安全性來說是減少了許多。&lt;br&gt;
於是在 systemd 裡面就有了 systemd-resolved 出現來代替 NSS 的位置。&lt;/p&gt;
&lt;p&gt;大部分前面都說過了，就從設定檔開始說起吧！&lt;br&gt;
大致上跟域名解析會有幾個檔案有關係：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/etc/hosts&lt;br&gt;
這是本機的 DNS 查詢，這個優先權最大，有符合的話會直接被套用不會再查詢。&lt;/li&gt;
&lt;li&gt;/etc/resolv.conf&lt;br&gt;
這是 DNS 伺服器設定的位置，需要查詢就會從這裡抓伺服器。&lt;/li&gt;
&lt;li&gt;/etc/systemd/resolved.conf&lt;br&gt;
這是 systemd-resolved 的設定檔，也是今天的主軸。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;設定系統使用-systemd-resolved&#34;&gt;設定系統使用 systemd-resolved&lt;/h2&gt;
&lt;p&gt;預設來說都不會採用 systemd-resolved  作為 DNS 查詢，所以都要自己設定一下。&lt;br&gt;
&lt;code&gt;systemd-resolved&lt;/code&gt; 是一個獨立的 DNS 服務，有 API 可以呼叫查詢，但是同時也提供的傳統的 &lt;code&gt;nameserver&lt;/code&gt; 監聽服務，也就是說，如果你開啟了 systemd-resolved 服務，但是沒有用任何 API 或是對它發送查詢的話也是沒有用的，接下來就是讓查詢會往 systemd-resolved 送囉。&lt;br&gt;
一般來說都是透過 &lt;code&gt;/etc/resolv.conf&lt;/code&gt; 更改 nameserver 去指定 DNS 位置，不過 systemd-resolved 自己有提供文件，所以這邊就直接 link 過去就可以了。&lt;br&gt;
&lt;code&gt;# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf&lt;/code&gt;&lt;br&gt;
這樣的話就會把一般的 DNS 查詢也丟過去了，也不用自己管理 &lt;code&gt;/etc/resolv.conf&lt;/code&gt; ，最方便的設定方式了。之後看 &lt;code&gt;/etc/resolv.conf&lt;/code&gt;  會長像這樣：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run &amp;#34;resolvectl status&amp;#34; to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;基本上就是跟 &lt;code&gt;/etc/resolv.conf&lt;/code&gt; 長差不多，就是 nameserver 指定到 &lt;code&gt;127.0.0.53&lt;/code&gt;，這就是 systemd-resolved 監聽的位置，這邊就完成 DNS 查詢的轉換了。&lt;/p&gt;
&lt;h2 id=&#34;設定-systemd-resolved&#34;&gt;設定 systemd-resolved&lt;/h2&gt;
&lt;p&gt;設定檔位置在 &lt;code&gt;/etc/systemd/resolved.conf &lt;/code&gt;，打開就像這樣（我把註解刪掉）：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Resolve]
#DNS=
#FallbackDNS=1.1.1.1 9.9.9.10 8.8.8.8 2606:4700:4700::1111 2620:fe::10 2001:4860:4860::8888
#Domains=
#LLMNR=yes
#MulticastDNS=yes
#DNSSEC=allow-downgrade
#DNSOverTLS=no
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;一般來說其實不太用動它，自己可以運作很好，不過還是稍微說一下幾個重點：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;DNS=&lt;br&gt;
基本上是會從 DHCP 裡面撈，如果撈不到就會抓 &lt;code&gt;/etc/resolv.conf&lt;/code&gt; 來用。&lt;/li&gt;
&lt;li&gt;FallbackDNS=&lt;br&gt;
如果連 &lt;code&gt;/etc/resolv.conf&lt;/code&gt; 都沒有可以用的，就會抓這裡的來用，基本上不太會用到這裡的位置。&lt;/li&gt;
&lt;li&gt;DNSSEC=&lt;br&gt;
有 &lt;code&gt;yes&lt;/code&gt;、&lt;code&gt;no&lt;/code&gt; 以及 &lt;code&gt;allow-downgrade&lt;/code&gt;，最後一個（也是預設選項）就是如果查詢時簽名驗證失敗的話，也允許使用結果。&lt;br&gt;
但是有開啟 DNSSEC 的話都會增加一點反應時間，如果覺得查詢變很慢的話，可以考慮關閉一下 DNSSEC。&lt;/li&gt;
&lt;li&gt;Cache=&lt;br&gt;
開啟本機快取，算是最主要得功能之一，因為你查詢過後，就可以直接從本機撈不用再往外跑一次，速度會快上許多，又如果有開啟 DNSSEC 的話，更不用走大老遠再次查詢已經驗證過的資料了。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;筆者個人人為，需要改的就只有 &lt;code&gt;DNSSEC&lt;/code&gt; 視情況可以關閉，&lt;code&gt;DNS&lt;/code&gt; 的話可以在 AP 上 或是 systemd-networkd 上就設定好不需要這邊手動指定。&lt;br&gt;
詳細可以參考 &lt;a href=&#34;https://jlk.fjfi.cvut.cz/arch/manpages/man/systemd-resolved.8&#34;&gt;systemd-resolved(8)&lt;/a&gt; 以及 &lt;a href=&#34;https://jlk.fjfi.cvut.cz/arch/manpages/man/resolved.conf.5&#34;&gt;resolved.conf(5)&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;一些工具&#34;&gt;一些工具&lt;/h2&gt;
&lt;p&gt;上面設定完後，可以看一下下面的工具，方便偵錯或是檢視運作情況。&lt;/p&gt;
&lt;h3 id=&#34;resolvectl&#34;&gt;resolvectl&lt;/h3&gt;
&lt;p&gt;常用的會有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;resolvectl query &lt;code&gt;domain | ip address&lt;/code&gt;&lt;br&gt;
用於 DNS 的正向或反向查詢，取決於輸入資料。&lt;br&gt;
裡面也會寫查詢的協議、回應時間等等資料。&lt;/li&gt;
&lt;li&gt;resolvectl status&lt;br&gt;
查詢目前 systemd-resolved 的設定。&lt;/li&gt;
&lt;li&gt;resolvectl statistics&lt;br&gt;
查詢 systemd-resolved 的統計資料，像是快取數量及命中率。&lt;/li&gt;
&lt;li&gt;resolvectl flush-caches&lt;br&gt;
清除本機 DNS 快取，一般來說應該用不到，除非 DNS 被污染而快取錯誤的資料吧。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;結論&#34;&gt;結論&lt;/h2&gt;
&lt;p&gt;雖然有這麼多新的功能，但是我只是要查詢 DNS 而已啊要這麼多東西幹麻呢？至少在台灣用不到吧，沒有網路封鎖的地方，不怕被 &lt;a href=&#34;https://zh.wikipedia.org/zh-tw/%E4%B8%AD%E9%96%93%E4%BA%BA%E6%94%BB%E6%93%8A&#34;&gt;MITM&lt;/a&gt; 也不怕域名污染。&lt;br&gt;
不過如果哪一天我們面臨到這樣的問提，或許就可以有恃無恐的解決這問題了。&lt;/p&gt;
&lt;h3 id=&#34;補充&#34;&gt;補充&lt;/h3&gt;
&lt;p&gt;我不太清楚是為什麼，筆者自己之前會有 &lt;code&gt;ping&lt;/code&gt; 回不來的問題，也有 &lt;code&gt;gpg&lt;/code&gt; 無法連接金鑰伺服的問題，如果有遇到上述問題的話，就還是改回 &lt;code&gt;nameserver 1.1.1.1&lt;/code&gt; 吧，這篇就當長知識就好。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>使用 systemd-networkd 設定網路組態</title>
      <link>https://www.freedomwolf.cc/2019/10/network_by_systemd/</link>
      <pubDate>2019-10-21 01:30 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2019/10/network_by_systemd/</guid>
      <description>&lt;p&gt;

&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/10/network_by_systemd/images/00-cover.svg&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/10/network_by_systemd/images/00-cover.svg&#34;
          
          alt=&#34;Cover&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

對於現在來說，網路是十分重要的一種資源，「網路若不好，人生是黑白的」，現在要你沒有網路大概就跟死了一樣吧 XD。在 Windows 下比較沒有網路問題，畢竟你連選擇都沒有，不過在 Linux 下你選擇就很多了。&lt;br&gt;
從以前 Gnome 提供的 &lt;code&gt;NetworkManager&lt;/code&gt; 到現在各式這樣的網路管理器，大家都有各自的優缺點，端看自己想要怎麼選擇了。&lt;br&gt;
於是今天我要介紹的是近期的新秀 &lt;code&gt;systemd&lt;/code&gt; 所提供的 &lt;code&gt;systemd-networkd&lt;/code&gt;，包含怎麼去設定、調整以及後續的整合，這篇算是前導文，之後還會有一系列的延伸應用。&lt;/p&gt;
&lt;h2 id=&#34;network-managers&#34;&gt;Network Managers?&lt;/h2&gt;
&lt;p&gt;說到網路，一定要有東西來管它，那就是「網路管理器（Network Managers）」了，常見的有上述說的 NetworkManager、netctl 及 systemd-networkd，這些東西都是管理整個系統的網路組態，其中當然包含 NIC（Network Interface Controller：網路卡）的管理，以及連線、路由、IP 設定等都是由網路管理器負責。&lt;br&gt;
這樣說起來，網路管理器的身份就非常重要了，除非你不需要網路，那就跟你一點關係都沒有XD。說回來，如果要網路乖乖，除了放一包乖乖外，跟網路管理器搞好關係也是非常重要的事情，只要適當的處理好，之後要修改或是維護都非常的容易，所以第一步就是要選一個你喜歡的網路管理器。&lt;/p&gt;
&lt;h3 id=&#34;networkmanager&#34;&gt;NetworkManager?&lt;/h3&gt;
&lt;p&gt;你說你不知道要選什麼？也是，雖然本文主題是 systemd-networkd，不過就先從大多數都會有的 NetworkManager 開始吧！但是因為主題不是著重在 NetworkManager 上，所以容許我簡單帶過。&lt;br&gt;
NetworkManager（以下簡稱 NM）名字就跟網路管理器一模一樣，在 systemd 中的 service 就是長這樣大小寫有區分，如果需要操作它還請注意大小寫。&lt;br&gt;
NM 跟 Gnome 的關係非常好，幾乎都會在安裝 Gnome 時連同依賴關係一起安裝，所以選擇 Gnome 系的 Window Manager 都會看見 NM 的蹤影，基本上不會讓你沒有網路用就是了。&lt;br&gt;
NM 有不好嗎？幹麻要換掉它？也不是說 NM 不好，就單純不喜歡，或許對一般使用者來說算是非常親民，易用的設定畫面，還有配合桌面的小工具，其實算是非常方便的，但是對於我來說就稍稍不適合了，又或者對於非使用 Gnome 的人，NM 的優勢也就沒這麼明顯，不過如果你用 Gnome 的話，NM 應該會因為依賴關係無法移除，那就不要理它，把它停用就好 XD。&lt;br&gt;
&lt;code&gt;sudo systemctl disable NetworkManager&lt;/code&gt; 給他下去就對了 XD。&lt;/p&gt;
&lt;h3 id=&#34;systemd-networkd&#34;&gt;systemd-networkd?&lt;/h3&gt;
&lt;p&gt;簡單說完 NM 了，現在來到主軸 systemd-networkd，其實會選用 systemd-networkd 的關係還有是現在多數發行版都改用 systemd 來取代 System V，所以統一用 systemd 來管理也比較方便，systemd 也提供完整的元件可以使用，而不需要另外安裝東西或依賴，在同一套系統內也比較好釐清之間的關係。所以其實如果沒有特別需求的話（就是一般的使用者啦，只需要上網的那種），我都會比較推薦用 systemd-networkd，目前大多數的情況下都沒有問題，等一下會講說哪種情況下不建議使用。&lt;/p&gt;
&lt;h4 id=&#34;我該不該用-systemd-networkd&#34;&gt;我該不該用 systemd-networkd？&lt;/h4&gt;
&lt;p&gt;目前我知道有一種情況你不要用比較好，就是&lt;font color=&#34;red&#34;&gt;你是直接撥號的 (PPPoE)&lt;/font&gt;，因為 systemd-networkd 目前不支援 ppp，所以沒有辦法幫你處理這問題，必須藉由 &lt;code&gt;pppd&lt;/code&gt; 幫你撥號完才能完成後續，不過本文就先以位於 AP 後面的機器（也就是 AP 幫你撥號完了）為例子，一般家裡多數應該也會是這樣的狀態，無論是用中華電信提供的 DSL 或是額外接的 AP，我應該之後會補一篇用 ppp 接進 systemd-networkd 的文，至少我現在沒有設備可以測試就是了。&lt;/p&gt;
&lt;h2 id=&#34;dhcp-client&#34;&gt;DHCP Client?&lt;/h2&gt;
&lt;p&gt;如果用 NM 的話，有三種方式使用 DHCP，透過 systemd-networkd、dhcpcd 或 dhclient，不過不建議用 dhcpcd，因為&lt;font color=&#34;red&#34;&gt;因為 NM 不支援透過 dhcpcd取得 IPv6&lt;/font&gt;，而 systemd-networkd 自己就可以處理 DHCP 了，也不需要安裝其他元件。&lt;/p&gt;
&lt;h2 id=&#34;dns-解析&#34;&gt;DNS 解析?&lt;/h2&gt;
&lt;p&gt;一樣的 systemd 提供了 systemd-resolved 負責處理 DNS 解析的工作，除了一般解析外，還支援 &lt;a href=&#34;https://zh.wikipedia.org/zh-tw/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E6%89%A9%E5%B1%95&#34;&gt;DNSSEC&lt;/a&gt;、&lt;a href=&#34;https://zh.wikipedia.org/zh-tw/DNS_over_TLS&#34;&gt;DNS over TLS&lt;/a&gt;、群播 DNS (mDNS) 及 LLNMR，後兩者比較不常見，前兩者算是目前比較新的規範，提昇了 DNS 查詢的安全性。&lt;br&gt;
有關 systemd-resolved 的部份應該會另外寫一篇來說明。&lt;/p&gt;
&lt;h2 id=&#34;設定-systemd-networkd&#34;&gt;設定 systemd-networkd&lt;/h2&gt;
&lt;p&gt;終於來到這裡了，在經過上面的講解不知道有沒有更了解 systemd-networkd 扮演什麼角色呢？這裡就再簡單說明一下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;管理網路卡
&lt;ul&gt;
&lt;li&gt;名稱&lt;/li&gt;
&lt;li&gt;MTU&lt;/li&gt;
&lt;li&gt;雙工模式&lt;/li&gt;
&lt;li&gt;還有其他東西&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;管理網路連線
&lt;ul&gt;
&lt;li&gt;DHCP 設定&lt;/li&gt;
&lt;li&gt;IP 設定&lt;/li&gt;
&lt;li&gt;路由設定&lt;/li&gt;
&lt;li&gt;還有其他東西&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在 systemd-networkd 中，有三種設定檔，存放在 &lt;code&gt;/etc/systemd/network/&lt;/code&gt; 之中，分別是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.link&lt;br&gt;
負責處理 NIC 配置。&lt;/li&gt;
&lt;li&gt;.netdev&lt;br&gt;
負責處理虛擬 NIC 配置。&lt;/li&gt;
&lt;li&gt;.network&lt;br&gt;
負責處理網路連線配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在這邊就不提 &lt;code&gt;.netdev&lt;/code&gt; 了，一般來說是用不到虛擬 NIC 的。&lt;/p&gt;
&lt;h3 id=&#34;設定-link-檔&#34;&gt;設定 .link 檔&lt;/h3&gt;
&lt;p&gt;這檔案攸關 NIC 是否運作正常，這裡貼出一個範例檔案：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Match]
MACAddress= 01:5a:f3:a8:84:76

[Link]
NamePolicy=kernel database onboard slot path
MACAddressPolicy=persistent
WakeOnLan=magic
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;[Match]&lt;/code&gt; 的部份，只有&lt;font color=&#34;red&#34;&gt;完全符合&lt;/font&gt;其中的設定值，才會把以下的設定都套進這個 NIC 中。範例中是以 MAC 位置做為判斷標準，其他還可以用像是 &lt;code&gt;Driver&lt;/code&gt; 作為判斷標準，詳細可以在 &lt;a href=&#34;https://jlk.fjfi.cvut.cz/arch/manpages/man/systemd.link.5#_MATCH__SECTION_OPTIONS&#34;&gt;systemd.link(5)&lt;/a&gt; 找到。&lt;br&gt;
&lt;code&gt;[Link]&lt;/code&gt; 的話，包含命名方式、MAC 位置設定、WOL 設定及雙工模式都在這裡設定。範例中的 &lt;code&gt;NamePolicy&lt;/code&gt; 是設定命名順序，符合後就停止往後尋找，一般來說是不需要去設定或更動的。&lt;code&gt;MACAddressPolicy&lt;/code&gt; 設定 MAC 位置，一般來說也是固定位置，不太需要更動。最後是 &lt;code&gt;WakeOnLan&lt;/code&gt;，設定只有 &lt;code&gt;magic 封包&lt;/code&gt;可以喚醒電腦，細部設定一樣可以在 &lt;a href=&#34;https://jlk.fjfi.cvut.cz/arch/manpages/man/systemd.link.5#_LINK__SECTION_OPTIONS&#34;&gt;systemd.link(5)&lt;/a&gt; 找到。&lt;br&gt;
如果你懶的話，可以拿上面的設定檔去用，把 &lt;code&gt;MACAddress=&lt;/code&gt; 換成自己的就可以。&lt;/p&gt;
&lt;h4 id=&#34;設定範例更改-nic-名稱&#34;&gt;設定範例：更改 NIC 名稱&lt;/h4&gt;
&lt;p&gt;以往都要用更改 udev  rule 的方式會有點討厭，NIC 的部份就可以用 .link 檔案做到。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Link]
NamePolicy=keep
Name=MyNic
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在 &lt;code&gt;[Link]&lt;/code&gt; 中改寫這兩行，把 &lt;code&gt;Name=&lt;/code&gt; 的值改成自己要的後存檔，重新啟動 systemd-networkd（內建網卡的話應該要重開機？），就會生效了。&lt;/p&gt;
&lt;h3 id=&#34;設定-network-檔&#34;&gt;設定 .network 檔&lt;/h3&gt;
&lt;p&gt;確定好 NIC 設定後就是設定網路連線了，以下是一個簡易的設定：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Match]
Name=enp3s0

[Network]
DHCP=true
IPv6PrivacyExtensions=true
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;[Match]&lt;/code&gt; 跟 .link 檔一樣，全部符合才會採用，條件一樣多元，但是在上面已經以 MAC 位置設定好 NIC 名稱了，所以就直接以 &lt;code&gt;Name=&lt;/code&gt; 來指定 NIC 做設定。&lt;br&gt;
（請注意，Name 可以使用萬用字元進行比對，像是 &lt;code&gt;enp*&lt;/code&gt; 就會指定到所有 &lt;code&gt;enp&lt;/code&gt; 開頭的 NIC）&lt;br&gt;
&lt;code&gt;[Network]&lt;/code&gt; 就是最主要設定的部份了，一般來說 DHCP 選項可以設定成：true、ipv4、ipv6，true 的話就是同時使用 IPv4 以及 IPv6，如果不在 IPv6 網路的話就可以只啟用 IPv4 的 DHCP 服務，又或者只需要透過 DHCP 使用 IPv6 的話，下面可以手動設定 IPv4 位置。&lt;br&gt;
其他還有 &lt;code&gt;[Link]&lt;/code&gt; &lt;code&gt;[Address]&lt;/code&gt; &lt;code&gt;[Route]&lt;/code&gt; &lt;code&gt;[DHCP]&lt;/code&gt;，因為 &lt;code&gt;[Link]&lt;/code&gt; 在 .link 中設定過了就不理它，至於其他部份是手動設定才需要輸入的。&lt;code&gt;[Address]&lt;/code&gt; 與 &lt;code&gt; [Route]&lt;/code&gt; 都可以在 &lt;code&gt;[Network]&lt;/code&gt; 中簡單設定，沒有特殊需求也可以不需要獨立寫出來。&lt;br&gt;
另外值得注意的是，在上面的範例中有一條 &lt;code&gt;IPv6PrivacyExtensions=true&lt;/code&gt;，這是根據 &lt;a href=&#34;https://tools.ietf.org/html/rfc4941&#34;&gt;RFC 4941&lt;/a&gt; 所設計的，代表在使用 IPv6 時，如果採用 SLAAC 的方式取得 IPv6 位置，會另外產生一個 IPv6 位置，而不是使用前一個基於 MAC 位置所產生的 IPv6 位置，如果你是用 IPv6 網路的話可以把這個選項加進去。&lt;/p&gt;
&lt;p&gt;其他設定檔的細項可以在 &lt;a href=&#34;https://jlk.fjfi.cvut.cz/arch/manpages/man/systemd.network.5&#34;&gt;systemd.network(5)&lt;/a&gt; 中找到。&lt;/p&gt;
&lt;h4 id=&#34;設定範例手動指定-ip-位置及-gateway&#34;&gt;設定範例：手動指定 IP 位置及 Gateway&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Match]
Name=enp3s0

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=1.1.1.1
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;結論&#34;&gt;結論&lt;/h2&gt;
&lt;p&gt;看起來應該不會太難吧？自己在摸索的過程中覺得算是很好寫的設定檔，簡單又直覺，很多比較複雜的保持預設值都不會有太大的問題，簡單幾行自己需要的填上去就大公告成了！&lt;br&gt;
&lt;strong&gt;歡迎大家改用 systemd-networkd！&lt;/strong&gt;&lt;br&gt;
然後啊，請記得所有設定檔修改完後都需要重新啟動 systemd-networkd ，也就是 &lt;code&gt;sudo systemctl restart systemd-networkd&lt;/code&gt; 要給它執行過一次嘿，不然自己改得很開心卻都沒有套用進去真的會給它氣死。&lt;br&gt;
大致上就這樣吧，有線網路就到這邊了，無線網路可能要等等，要弄的東西更多了，而且在沒有 GUI 的情況下都用指令操作無線網路連線確實是有點複雜，應該是系列文擺在最後再寫吧。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>andOTP 開源的 OTP 軟體</title>
      <link>https://www.freedomwolf.cc/2019/09/andotp/</link>
      <pubDate>2019-09-16 16:12 +0800</pubDate>
      
      <guid>https://www.freedomwolf.cc/2019/09/andotp/</guid>
      <description>&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/00-andOTP_cover.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/00-andOTP_cover.png&#34;
          
          alt=&#34;Cover Form https://github.com/andOTP/andOTP&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

&lt;p&gt;對於現在人來說，雙因素認證（two-factor authentication，簡稱 2FA）已經是在使用網路服務很習慣的一件事了，許多網站都會在設定時推薦使用由 Google 所發行的 &lt;code&gt;Google身份驗證器（Google Authenticator）&lt;/code&gt;，但是久而久之，遇到了像是更換手機、遺失手機甚至是手機毀損的時候，接著你就頭大了。&lt;br&gt;
然後你就慢慢找，或許找到了 &lt;a href=&#34;https://authy.com/&#34;&gt;Authy&lt;/a&gt; 這個線上服務， 但是想一想「&lt;strong&gt;這不就是把鑰匙放在別人家嗎？&lt;/strong&gt;」，於是又開始轉往單機軟體&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;程式特點&#34;&gt;程式特點&lt;/h2&gt;
&lt;p&gt;所以今天要介紹的就是在 Android 上ㄧ款開源的 OTP 應用程式：andOTP，主要功能有：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;開源&lt;/li&gt;
&lt;li&gt;最少的權限（為了掃描 QRCode 及備份需要相機與檔案存取）&lt;/li&gt;
&lt;li&gt;兩種資料庫加密方式&lt;/li&gt;
&lt;li&gt;三種備份選項&lt;/li&gt;
&lt;li&gt;三種佈景主題&lt;/li&gt;
&lt;li&gt;好用&lt;/li&gt;
&lt;li&gt;相容於 Google 身份驗證器&lt;/li&gt;
&lt;li&gt;支援 TOTP 與 HOTP&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;andOTP 可以在 &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.shadowice.flocke.andotp&#34;&gt;GooglePlay&lt;/a&gt;、&lt;a href=&#34;https://f-droid.org/packages/org.shadowice.flocke.andotp/&#34;&gt;F-Droid&lt;/a&gt; 及 &lt;a href=&#34;https://github.com/andOTP/andOTP&#34;&gt;Github&lt;/a&gt; 上取得。&lt;br&gt;
&lt;em&gt;&lt;strong&gt;請注意，三種版本互不相容，轉換前請先備份資料庫。&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;那就讓我們開始吧&#34;&gt;那就讓我們開始吧！&lt;/h2&gt;
&lt;p&gt;首先當然是下載囉，上面有三種方式任君選擇，接著就是打開程式。&lt;br&gt;
前幾版的程式雖然有正體中文的翻譯，但是沒有編譯進去，不過現在的版本已經有了，所以使用上不是太困難，繼續下一步。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/01-First_open.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/01-First_open.png&#34;
          
          alt=&#34;01-First_open.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
接著這裡會問你「資料庫加密的方式」，這裡推薦使用 &lt;strong&gt;密碼/PIN&lt;/strong&gt; 的方式，下方說明可以參閱一下，雖然用「密碼/PIN」的方式會稍微麻煩一些（因為必須每次開啟都輸入密碼），但是對於資料庫穩定性較高。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/02-Encrypt_selection.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/02-Encrypt_selection.png&#34;
          
          alt=&#34;02-Encrypt_selection.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
下一步驟是設定加密資料庫的密碼，同時也是開啟所需要輸入的密碼，這邊可以選擇「密碼」或「PIN」，PIN 只接受數字，而密碼則是連同特殊符號也可輸入。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/03-Setup_Password.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/03-Setup_Password.png&#34;
          
          alt=&#34;03-Setup_Password.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
一切準備就緒！


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/04-Finished.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/04-Finished.png&#34;
          
          alt=&#34;04-Finished.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h2 id=&#34;首次使用&#34;&gt;首次使用&lt;/h2&gt;
&lt;p&gt;設定完成後程式會自動開啟，輸入剛剛設定的密碼解除鎖定。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/05-Login.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/05-Login.png&#34;
          
          alt=&#34;05-Login.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
主畫面就是一片空白，讓我們新增一點東西吧！一般來說你可以用 QRCode 掃描，不過這裡因為是測試，所以選擇「鍵入詳細資訊」。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/06-Main_View.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/06-Main_View.png&#34;
          
          alt=&#34;06-Main_View.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/07-Main_Menu.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/07-Main_Menu.png&#34;
          
          alt=&#34;07-Main_Menu.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
如果只是要測試的話，可以用 &lt;a href=&#34;https://totp.danhersam.com/&#34;&gt;TOTP Token Generator&lt;/a&gt; 測試，開啟後會給你一些資料，照著填入即可。一般來說「詳細選單」內的是不需要做更動的，絕大多數網站都是採用「30秒6位數」的設定，少部份使用「10秒7位數」，在 andOTP 也是可以相容的。&lt;br&gt;
這裡說明一下，第一個「標籤」指的是「Label」第二個則是「Tag」，這應該是翻譯問題，之後應該會修正掉。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/08-TOTP_Generator.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/08-TOTP_Generator.png&#34;
          
          alt=&#34;08-TOTP_Generator.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/09-Add_Token.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/09-Add_Token.png&#34;
          
          alt=&#34;09-Add_Token.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
完成後就會在主畫面顯示出 Token 了，標題列下方黃色橫條是更新時間，當跑到最左側時也就是一次更新時間。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/10-Added.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/10-Added.png&#34;
          
          alt=&#34;10-Added.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h2 id=&#34;其他設定&#34;&gt;其他設定&lt;/h2&gt;
&lt;h3 id=&#34;主畫面隱藏-token&#34;&gt;主畫面隱藏 Token&lt;/h3&gt;
&lt;p&gt;預設下你的 Token 會大剌剌的顯示在上面，在設定中是可以選擇說必須點擊後才會顯示，也可以設定顯示時間，點選三點選單後「設定」。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-3&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/11-3Dots_Menu.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/11-3Dots_Menu.png&#34;
          
          alt=&#34;11-3Dots_Menu.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-3&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/12-Setting_Menu.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/12-Setting_Menu.png&#34;
          
          alt=&#34;12-Setting_Menu.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-3&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/13-Hidden_Token.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/13-Hidden_Token.png&#34;
          
          alt=&#34;13-Hidden_Token.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h3 id=&#34;備份與匯入&#34;&gt;備份與匯入&lt;/h3&gt;
&lt;p&gt;一樣點開三點選單，選擇「備份」。這裡總共有三種備份方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;明文&lt;/li&gt;
&lt;li&gt;密文&lt;/li&gt;
&lt;li&gt;OpenPGP&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;明文就是完全沒加密，取得者可以直接開啟。&lt;br&gt;
密文在匯出時會詢問密碼，在匯入時也必須輸入解密。&lt;em&gt;&lt;strong&gt;這裡的密碼與開啟解鎖時的密碼不相關，前者是資料庫密碼，這裡是匯出文件的密碼。&lt;/strong&gt;&lt;/em&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-3&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/15-Export_Password.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/15-Export_Password.png&#34;
          
          alt=&#34;15-Export_Password.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-3&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/16-Export_Loaction.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/16-Export_Loaction.png&#34;
          
          alt=&#34;16-Export_Loaction.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-3&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/16-Export_Loaction.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/16-Export_Loaction.png&#34;
          
          alt=&#34;17-Import_Password.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
OpenPGP 則必須安裝 &lt;code&gt;Openkeychain&lt;/code&gt; 等 OpenPGP 相容程式才可以運作，同時也必須要指定加密的電子郵件及簽章金鑰（可選，端看是否要驗證完整性）。


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/18-OpenPGP_Serring.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/18-OpenPGP_Serring.png&#34;
          
          alt=&#34;18-OpenPGP_Serring.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/19-OpenPGP_Provider.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/09/andotp/images/19-OpenPGP_Provider.png&#34;
          
          alt=&#34;19-OpenPGP_Provider.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;/p&gt;
&lt;h2 id=&#34;結語&#34;&gt;結語&lt;/h2&gt;
&lt;p&gt;andOTP 在使用上都比其他我用過的 OTP 應用程式還要優異，Google 身份驗證器 雖然畫面簡單，但是你可否想像當你用的服務都開始支援 2FA 的時候，滿山滿谷 Token 找老半天，利用 andOTP 的 tag 及搜尋排排序等等，可以更快的找到所需的 Token，對於少用的 Token 也可以加以隱藏，免除主畫面雜亂無章的情況。&lt;/p&gt;
&lt;h3 id=&#34;同場加映&#34;&gt;同場加映&lt;/h3&gt;
&lt;p&gt;對於想從 Authy 跳槽的使用者（我自己就是），這裡提供&lt;a href=&#34;https://gist.github.com/gboudreau/94bb0c11a6209c82418d01a59d958c93&#34;&gt;一個方法&lt;/a&gt;可以使用，都匯出後確認沒問題就可以請求刪除 Authy 帳號了。&lt;br&gt;
對於想要在電腦上使用 OTP 的人，這裡也提供一個軟體（僅限 Linux）：&lt;a href=&#34;https://github.com/paolostivanin/OTPClient&#34;&gt;OTPClient&lt;/a&gt;，它相容於 andOTP 的備份檔案，所以兩者之間可以互通。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Energized Protection 遠離廣告及保護你的隱私</title>
      <link>https://www.freedomwolf.cc/2019/04/energized-protection/</link>
      <pubDate>2019-04-04 00:00 +0000</pubDate>
      
      <guid>https://www.freedomwolf.cc/2019/04/energized-protection/</guid>
      <description>&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-1&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/00-Energized_cover.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/00-Energized_cover.png&#34;
          
          alt=&#34;Cover From https://github.com/EnergizedProtection/block&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

&lt;p&gt;Energized Protection 是一款除了自身有 core list 外，還結合許多外部過濾清單的黑名單整合。簡單來說，就是集合很多過濾清單然後給使用者使用。&lt;br&gt;
傳統上都會使用 &lt;code&gt;Adblock&lt;/code&gt; 或是 &lt;code&gt;adaway&lt;/code&gt; 等軟體抵禦廣告，這類軟體作用原理是阻擋這些元素的載入達成目的，但往往需要更高的使用權限才能在載入時介入，對於一般電腦上沒有太大得問題，但是在手機上卻是棘手問題。&lt;br&gt;
所以後來研發出使用 DNS 的方式，讓廣告商網域無法正常連線，即使發出連線要求，無法到達目的地廣告便無法顯示。&lt;/p&gt;
&lt;h2 id=&#34;那麼要怎使用呢&#34;&gt;那麼，要怎使用呢？&lt;/h2&gt;
&lt;p&gt;首先，先確定你想要幹麻，單純檔廣告？保護自己不要被追蹤？還是全部封殺封光光？&lt;br&gt;
因為 Energized Protection 有很多種不同的 &lt;code&gt;Pack&lt;/code&gt; ，裡面有不同程度的黑名單，有些封鎖廣告、釣魚網站、色情或是社群網站，所以看你需要怎樣的保護，選擇怎樣的 &lt;code&gt;Pack&lt;/code&gt;。&lt;br&gt;
可以先到 Energized Protection 的 &lt;a href=&#34;https://github.com/EnergizedProtection/block#Packs&#34;&gt;Github Repo&lt;/a&gt; 或是 &lt;a href=&#34;https://energized.pro/&#34;&gt;官方網站&lt;/a&gt; 看一下，裡面有詳細的說明。因為不同程度的封鎖，會有不同程度的 &lt;code&gt;host&lt;/code&gt; 文件大小，擋越多當然越大，這時候要看手機的處理能力，如果不夠強的話還會造成速度變慢的反效果。&lt;br&gt;
如果沒什麼要求只需要檔廣告，可以選擇最小的 &lt;code&gt;Spark Pack&lt;/code&gt;，再來就是選擇套用的方式了。&lt;/p&gt;
&lt;h2 id=&#34;支援的格式&#34;&gt;支援的格式&lt;/h2&gt;
&lt;p&gt;Energized Protection 支援很多種格式，像是手機上的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DNS66&lt;/li&gt;
&lt;li&gt;Perosnal DNS FILTER&lt;/li&gt;
&lt;li&gt;Blokada&lt;/li&gt;
&lt;li&gt;Magick Module (Root)&lt;/li&gt;
&lt;li&gt;ADAway (Root)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;電腦部份也包含了 &lt;code&gt;Dnsmasq&lt;/code&gt; 用的檔案，這邊就不詳述所有格式，在 &lt;a href=&#34;https://github.com/EnergizedProtection/block#Packs&#34;&gt;Github Repo&lt;/a&gt; 上都可以找到。&lt;br&gt;
回到手機，以我自己的使用是 &lt;code&gt;Magick Module&lt;/code&gt; 的方法，很簡單，使用 &lt;code&gt;Magisk Manager&lt;/code&gt; 下載 Module 就可以了。&lt;/p&gt;
&lt;h2 id=&#34;使用-magick-module&#34;&gt;使用 Magick Module&lt;/h2&gt;
&lt;p&gt;打開 &lt;code&gt;Manager&lt;/code&gt; 後下載 &lt;code&gt;Energized Protection&lt;/code&gt;，因為我已經下載裝過了，所以畫面上是已安裝的狀態，正常下是會需要重開機才能啟用。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/01-Manager.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/01-Manager.png&#34;
          
          alt=&#34;01-Manager.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
之後要安裝 &lt;code&gt;Terminal Simulator&lt;/code&gt;，任何的都可以，我是使用 &lt;code&gt;Termux&lt;/code&gt;，可以在 &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.termux&#34;&gt;Play Store&lt;/a&gt; 或 &lt;a href=&#34;https://f-droid.org/repository/browse/?fdid=com.termux&#34;&gt;F-Droid&lt;/a&gt; 上取得。&lt;br&gt;
假設到這邊，都安裝完模組了，也裝好 &lt;code&gt;Termux&lt;/code&gt; 了，接著重開機也沒有問題，正式上工！&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;開啟 Termux，輸入 &lt;code&gt;su&lt;/code&gt; 後，沒有取得過 root 權限應該會在這邊提示，當然是是允許囉。&lt;/li&gt;
&lt;li&gt;接著輸入 &lt;code&gt;energized&lt;/code&gt; 後 Enter。（可以輸入 &lt;code&gt;ene&lt;/code&gt; 後點擊畫面上的 &lt;code&gt;tab&lt;/code&gt; 自動補齊）&lt;/li&gt;
&lt;li&gt;接著就是一連串的畫面，等跳到主選單就完成一半了。&lt;br&gt;

    
    &lt;div class=&#34;pure-g&#34;&gt;
    
      
      
      
      
      &lt;div class=&#34;pure-u-1-2&#34;&gt;
        &lt;div style=&#34;padding: 0 .2em&#34;&gt;
          
        
        
        
          &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/02-Energized_menu_disable.png&#34;&gt; 
            &lt;img 
        
              class=&#34;pure-img-responsive&#34;
              
              src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/02-Energized_menu_disable.png&#34;
              
              alt=&#34;02-Energized_menu_disable.png&#34;
              &gt;
            &lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      
    
    &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;畫面中可以看到這種資訊，分成：
&lt;ol&gt;
&lt;li&gt;基本資訊（Basic Info） &lt;br&gt;
裡面有 root 狀態、是否 Energized 化、目前套用的過濾包等等。&lt;/li&gt;
&lt;li&gt;過濾包（Packs）&lt;br&gt;
就是上面說的那些，可以在網站上看詳細內容。&lt;/li&gt;
&lt;li&gt;附加元件（Extensions）&lt;br&gt;
針對其他項目的封鎖，例如色情或是社群媒體，沒有需要就不用套用。&lt;/li&gt;
&lt;li&gt;選項（Options）&lt;br&gt;
進階的選項，像是白名單、重定向等等功能在這，下面會介紹白名單功能。&lt;/li&gt;
&lt;li&gt;雜項（Misc）&lt;br&gt;
備份、還原等等都在這裡，要清除設定也是在這裡。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;現在就輸入你要的選項吧，現在我想安裝 &lt;code&gt;Basic Pack&lt;/code&gt; ，所以輸入 &lt;code&gt;4&lt;/code&gt; 後 Enter。&lt;br&gt;
這時候會問你，因為檔案比較大，如果手機效能不夠可能會無法負荷。現在手機應該不會太差，就選 &lt;code&gt;Y&lt;/code&gt; 吧。&lt;br&gt;

   
   &lt;div class=&#34;pure-g&#34;&gt;
   
     
     
     
     
     &lt;div class=&#34;pure-u-1-2&#34;&gt;
       &lt;div style=&#34;padding: 0 .2em&#34;&gt;
         
       
       
       
         &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/03-Energized-BigFile.png&#34;&gt; 
           &lt;img 
       
             class=&#34;pure-img-responsive&#34;
             
             src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/03-Energized-BigFile.png&#34;
             
             alt=&#34;03-Energized-BigFile.png&#34;
             &gt;
           &lt;/a&gt;
       &lt;/div&gt;
     &lt;/div&gt;
     
   
     
     
     
     
     &lt;div class=&#34;pure-u-1-2&#34;&gt;
       &lt;div style=&#34;padding: 0 .2em&#34;&gt;
         
       
       
       
         &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/04-Energized-Applying.png&#34;&gt; 
           &lt;img 
       
             class=&#34;pure-img-responsive&#34;
             
             src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/04-Energized-Applying.png&#34;
             
             alt=&#34;04-Energized-Applying.png&#34;
             &gt;
           &lt;/a&gt;
       &lt;/div&gt;
     &lt;/div&gt;
     
   
   &lt;/div&gt;

之後就是下載及套用。&lt;br&gt;
完成後回到主畫面，應該會呈現這樣的畫面：&lt;br&gt;

   
   &lt;div class=&#34;pure-g&#34;&gt;
   
     
     
     
     
     &lt;div class=&#34;pure-u-1-2&#34;&gt;
       &lt;div style=&#34;padding: 0 .2em&#34;&gt;
         
       
       
       
         &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/05-Energized_menu_enable.png&#34;&gt; 
           &lt;img 
       
             class=&#34;pure-img-responsive&#34;
             
             src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/05-Energized_menu_enable.png&#34;
             
             alt=&#34;05-Energized_menu_enable.png&#34;
             &gt;
           &lt;/a&gt;
       &lt;/div&gt;
     &lt;/div&gt;
     
   
   &lt;/div&gt;
&lt;br&gt;
這樣就可以關閉 Termux 了。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不要忘記重開機。&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;白名單黑名單的使用&#34;&gt;白名單/黑名單的使用&lt;/h3&gt;
&lt;p&gt;有時候自己會 &lt;del&gt;想要被釣魚或是想被騙的時候&lt;/del&gt; 被誤鎖的時候，就需要用白名單來解套。舉一個真實案例，Humble Bundle App 在下載檔案的時候總是不成功，大概就是這個問題了，不過比較麻煩是，需要自己找出被封鎖的網域，然後加入白名單後套用，不熟的人可能不太會找，所以，如果有誤鎖的情況，可以先換比較前面的 &lt;code&gt;Pack&lt;/code&gt; 試試（Spark 沒有封鎖 Humble Bundle App）。&lt;br&gt;
總之，我找出來 HB App 下載的網域是 &lt;code&gt;dl.humble.com&lt;/code&gt; ，那就可以加入白名單了。&lt;br&gt;
你要知道的是，白名單黑名單運作方式都差不多，檔案放在 &lt;code&gt;sdcard/EnergizedProtection&lt;/code&gt; 內，開啟 &lt;code&gt;whitelist&lt;/code&gt; 後貼上 &lt;code&gt;dl.humble.com&lt;/code&gt; 存檔。再次使用 Termux 開啟 Energized 進到主選單，只是這次使用 &lt;code&gt;w&lt;/code&gt; 後 Enter。&lt;br&gt;
根據 Pack 的大小，套用會需要一點時間，完成後會像這樣。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/06-Energized-Whitelist.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/06-Energized-Whitelist.png&#34;
          
          alt=&#34;06-Energized-Whitelist.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;

一樣，不要忘記重開機套用，之後應該就不會被擋了。&lt;/p&gt;
&lt;p&gt;到這邊， Magick Module 的使用方式結束。&lt;/p&gt;
&lt;h2 id=&#34;使用-dns66&#34;&gt;使用 DNS66&lt;/h2&gt;
&lt;p&gt;首先當然是先抓軟體，不過好像只能從 &lt;a href=&#34;https://f-droid.org/app/org.jak_linux.dns66&#34;&gt;F-Droid&lt;/a&gt; 或 &lt;a href=&#34;https://github.com/julian-klode/dns66&#34;&gt;Github&lt;/a&gt; 下載。
開啟 DNS66，選擇 &lt;code&gt;HOSTS&lt;/code&gt; 頁籤，右下角可以新增新的 HOST，在 &lt;a href=&#34;https://github.com/EnergizedProtection/block#Formats&#34;&gt;Github Repo&lt;/a&gt; 上找到你要的 Pack ，然後複製 &lt;code&gt;HOSTS RAW&lt;/code&gt; 的網址，貼上在 &lt;code&gt;Location&lt;/code&gt; 內，&lt;code&gt;Title&lt;/code&gt; 可以填 Pack 的名稱方便辨別，至於 &lt;code&gt;Action&lt;/code&gt; 的話當然是 &lt;code&gt;Deny&lt;/code&gt; 囉，完成後右上角勾勾按下去。&lt;br&gt;


&lt;div class=&#34;pure-g&#34;&gt;

  
  
  
  
  &lt;div class=&#34;pure-u-1-2&#34;&gt;
    &lt;div style=&#34;padding: 0 .2em&#34;&gt;
      
    
    
    
      &lt;a target=&#34;_blank&#34; href=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/07-DNS66-Add_Host.png&#34;&gt; 
        &lt;img 
    
          class=&#34;pure-img-responsive&#34;
          
          src=&#34;https://www.freedomwolf.cc/2019/04/energized-protection/images/07-DNS66-Add_Host.png&#34;
          
          alt=&#34;07-DNS66-Add_Host.png&#34;
          &gt;
        &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  

&lt;/div&gt;
&lt;br&gt;
然後記得點右上角 &lt;code&gt;重新整理&lt;/code&gt; 讓 DNS66 可以更新 HOST 檔案。&lt;br&gt;
回到 &lt;code&gt;START&lt;/code&gt; 頁籤，點擊 &lt;code&gt;START&lt;/code&gt; 後，應該會跳出 VPN 連線的允許，因為是透過本機的 VPN 連線進行過濾，所以這是正常的操作，記得要允許。&lt;br&gt;
接下來應該就完成囉。&lt;/p&gt;
&lt;h2 id=&#34;移除&#34;&gt;移除&lt;/h2&gt;
&lt;p&gt;使用 &lt;code&gt;Magidk Module&lt;/code&gt; 的話，進 &lt;code&gt;Manager&lt;/code&gt; 中移除再重開機就好了，如果是 &lt;code&gt;DNS66&lt;/code&gt; 的話也是直接解除安裝程式就好，沒有什麼大問題的。&lt;/p&gt;
&lt;h2 id=&#34;結語&#34;&gt;結語&lt;/h2&gt;
&lt;p&gt;還記得之前（很久很久之前）都是用 Xposed 去直接檔掉廣告的元素，還真是愉悅啊，但是現在就沒有那麼方便了，扯到 SafetyNet 啦，鎖死死的才需要其他方式來解決，不然其實 Xposed 是最好最有效的方案，只可惜沒有像之前一樣輝煌了。&lt;br&gt;
我目前使用狀態還算不錯，JPTT，其他遊戲等等都沒有廣告跳出來或是佔位置，成效令人滿意，不過這種東西就是貓捉老鼠，三不五時就要更新，不然就會失效。&lt;br&gt;
感謝各位開發者讓我可以不用看廣告（跪）。&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>