<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on 布萊恩 | QA job | Testing</title><link>https://brian-hsu.github.io/categories/linux/</link><description>Recent content in Linux on 布萊恩 | QA job | Testing</description><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Tue, 08 Jun 2021 16:41:00 +0800</lastBuildDate><atom:link href="https://brian-hsu.github.io/categories/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>Alpine Linux</title><link>https://brian-hsu.github.io/blog/my_share-017/</link><pubDate>Tue, 08 Jun 2021 16:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-017/</guid><description>&lt;h4 id="wiki-介紹如下"&gt;WIKI 介紹如下&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Alpine Linux是一個由社群開發的基於musl和BusyBox的Linux作業系統，該作業系統以安全為理念，面向x86路由器、防火牆、虛擬私人網路、IP電話盒及伺服器而設計。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id="package-management-叫-apk"&gt;package management 叫 apk&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;add	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 添加 package&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;del	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 刪除 package&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fix	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 修復或升級 package&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;update	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 更新可用 package 的索引&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;info	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 印出 有關已安裝或可用 package 的信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;search	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 搜索 package 或描述&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;upgrade	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 升級當前已安裝的軟件 package&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cache	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 本地緩存 package 存儲庫的維護操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;version	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 比較已安裝和可用 package 之間的版本差異&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;index	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 從 package 列表中創建存儲庫索引&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fetch	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 下載（但不安裝） package&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;audit	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 列出原始 package 安裝狀態的文件系統的更改&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;verify	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 驗證 package 簽名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dot	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 為給定 package 創建GraphViz圖表描述&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;policy	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 顯示更新給定 package 的存儲庫，加上還提供 package 的存儲庫&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;stats	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 顯示統計信息，包括安裝和可用的 package 數，目錄和文件的數量等。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;manifest	&lt;span style="color:#93a1a1;font-style:italic"&gt;# 顯示給定 package 中包含的文件的校驗和&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="常用的-與-apt-一樣-先更新-apk-update"&gt;常用的 與 apt 一樣 先更新 &lt;code&gt;apk update&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="列出-目前已經安裝的-package-list-apk-info"&gt;列出 目前已經安裝的 package list: &lt;code&gt;apk info&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="列出-目前已經安裝的-package-list-加上版本與資訊--apk-info--vv"&gt;列出 目前已經安裝的 package list 加上版本與資訊 : &lt;code&gt;apk info -vv&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="如果-想知道-哪個-binary-是-哪個-package--apk-info---who-owns-path"&gt;如果 想知道 哪個 binary 是 哪個 package : &lt;code&gt;apk info --who-owns [path]&lt;/code&gt;&lt;/h4&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apk info --who-owns /bin/sh
## /bin/sh is owned by busybox-1.31.1-r20
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="查詢-資訊--apk-search--v-package-name"&gt;查詢 資訊 &lt;code&gt;apk search -v [package name]&lt;/code&gt;&lt;/h4&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/ # apk search -v &amp;#39;python3&amp;#39;
python3-tkinter-3.8.10-r0 - A graphical user interface for the Python
python3-idle-3.8.10-r0 - IDE for Python3 using Tkinter
python3-dev-3.8.10-r0 - A high-level scripting language (development files)
boost-python3-1.72.0-r6 - Boost python3 shared library
postgresql-plpython3-contrib-12.7-r0 - PL/Python 3 extension modules distributed with PostgreSQL
python3-dbg-3.8.10-r0 - A high-level scripting language (debug symbols)
python3-3.8.10-r0 - A high-level scripting language
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="安裝-package-並且不要暫存以及相關依賴--apk---no-cache--i-add-vim"&gt;安裝 package 並且不要暫存以及相關依賴 : &lt;code&gt;apk --no-cache -i add vim&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="刪除-package--apk-del-package-name"&gt;刪除 package : &lt;code&gt;apk del [package name]&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="搜尋-python3-pip--apk-search--v-pipgrep--i-python"&gt;搜尋 python3 pip : &lt;code&gt;apk search -v pip|grep -i python&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="安裝-pip3---apk-add--i-py3-pip"&gt;安裝 pip3 : &lt;code&gt; apk add -i py3-pip&lt;/code&gt;&lt;/h4&gt;</description></item><item><title>Trisquel Mini</title><link>https://brian-hsu.github.io/blog/my_share-015/</link><pubDate>Tue, 08 Jun 2021 10:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-015/</guid><description>&lt;h4 id="wiki-介紹如下"&gt;WIKI 介紹如下&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;該計劃旨在建成一個完全由自由軟體構造而不含任何專有軟體及專有韌體，使用Linux-libre——一個清除所有非自由代碼（二進位blob）Linux核心的，與Ubuntu一樣友善易用的GNU/Linux作業系統。[3]Trisquel依賴於使用者的捐款。[4]它的標誌是一個藍色三曲枝圖。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Trisquel Mini是主線Trisquel的替代版本，用於上網本及古舊機器。它使用低資源需求的LXDE及輕量的GTK+、X Window System，以替代GNOME和Qt/KDE應用程式。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h5 id="因為我主要是用在-vbox所以尋找比較輕量級的-linux並且-trisquel-是基於-ubuntu-lts-的衍生版本"&gt;因為我主要是用在 VBox，所以尋找比較輕量級的 Linux。並且 Trisquel 是基於 Ubuntu LTS 的衍生版本。&lt;/h5&gt;
&lt;h5 id="那為何不用-ubuntu-server-呢其實也是可以只是-desktop-安裝比較無腦"&gt;那為何不用 Ubuntu server 呢，其實也是可以，只是 desktop 安裝比較無腦&amp;hellip;&lt;/h5&gt;</description></item><item><title>Linux 常見壓縮與解壓縮指令</title><link>https://brian-hsu.github.io/blog/my_share-014/</link><pubDate>Mon, 07 Jun 2021 23:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-014/</guid><description>&lt;p&gt;&lt;code&gt;.tar&lt;/code&gt;&lt;/p&gt;
&lt;h4 id="打包-tar-cvf-filenametar-dirname"&gt;打包： &lt;code&gt;tar cvf FileName.tar DirName&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="解包-tar-xvf-filenametar"&gt;解包： &lt;code&gt;tar xvf FileName.tar&lt;/code&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;.gz&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Ubuntu install docker</title><link>https://brian-hsu.github.io/blog/my_share-011/</link><pubDate>Mon, 07 Jun 2021 12:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-011/</guid><description>&lt;h4 id="ubuntu-體系的-docker-安裝為-apt-get-install-dockerio"&gt;ubuntu 體系的 docker 安裝為 &lt;code&gt;apt-get install docker.io&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="安裝好可以查詢-docker-版本-docker---version"&gt;安裝好可以查詢 docker 版本 &lt;code&gt;docker --version&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="啟動-docker-服務-service-docker-start"&gt;啟動 docker 服務 &lt;code&gt;service docker start&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="拉下第一個-image-docker-pull-hello-world"&gt;拉下第一個 image &lt;code&gt;docker pull hello-world&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="查看-是否有-image-docker-images"&gt;查看 是否有 image &lt;code&gt;docker images&lt;/code&gt;&lt;/h4&gt;
&lt;h4 id="試著跑-這個-image--docker-run-hello-world"&gt;試著跑 這個 image &lt;code&gt;docker run hello-world&lt;/code&gt;&lt;/h4&gt;
&lt;h3 id="成功會顯示如下"&gt;成功會顯示如下&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hello from Docker!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;This message shows that your installation appears to be working correctly.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;To generate this message, Docker took the following steps:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1. The Docker client contacted the Docker daemon.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 2. The Docker daemon pulled the &lt;span style="color:#2aa198"&gt;&amp;#34;hello-world&amp;#34;&lt;/span&gt; image from the Docker Hub.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (amd64)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 3. The Docker daemon created a new container from that image which runs the
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; executable that produces the output you are currently reading.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 4. The Docker daemon streamed that output to the Docker client, which sent it
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; to your terminal.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;To try something more ambitious, you can run an Ubuntu container with:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; $ docker run -it ubuntu bash
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Share images, automate workflows, and more with a free Docker ID:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; https://hub.docker.com/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;For more examples and ideas, visit:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; https://docs.docker.com/get-started/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="如果執行-service-docker-stop-但是不完全停止服務"&gt;如果執行 &lt;code&gt;service docker stop&lt;/code&gt; 但是不完全停止服務&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@mint-vBox:~# service docker stop
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Warning: Stopping docker.service, but it can still be activated by:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docker.socket
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="需要使用-systemctl-stop-dockersocket-終止-dockersocket"&gt;需要使用 &lt;code&gt;systemctl stop docker.socket&lt;/code&gt; 終止 docker.socket&lt;/h4&gt;</description></item><item><title>Vim 內部常用指令介紹</title><link>https://brian-hsu.github.io/blog/my_share-010/</link><pubDate>Mon, 07 Jun 2021 12:41:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-010/</guid><description>&lt;h4 id="搜尋文字-你要尋找的文字c-c-是指-忽略大小寫"&gt;搜尋文字 &lt;code&gt;/[你要尋找的文字]\c&lt;/code&gt; \c 是指 忽略大小寫&lt;/h4&gt;
&lt;h4 id="進入搜尋文字-尋找-下一個匹配-按-n-鍵-小寫n"&gt;進入搜尋文字 尋找 下一個匹配 按 &lt;code&gt;n&lt;/code&gt; 鍵 (小寫n)&lt;/h4&gt;
&lt;h4 id="進入搜尋文字-尋找-上一個匹配-按-n-鍵-大寫n也可以說是-shift--n-"&gt;進入搜尋文字 尋找 上一個匹配 按 &lt;code&gt;N&lt;/code&gt; 鍵 (大寫N，也可以說是 shift + n )&lt;/h4&gt;
&lt;h3 id="會這幾個步驟搭配-google-設定-linux可以節省不少時間喔"&gt;會這幾個步驟，搭配 google 設定 Linux，可以節省不少時間喔。&lt;/h3&gt;</description></item><item><title>設定 Linux (Ubuntu) SSH</title><link>https://brian-hsu.github.io/blog/my_share-008/</link><pubDate>Mon, 07 Jun 2021 12:30:00 +0800</pubDate><guid>https://brian-hsu.github.io/blog/my_share-008/</guid><description>&lt;h4 id="-apt-get-install-ssh"&gt;# apt-get install ssh&lt;/h4&gt;
&lt;h4 id="-apt-get-install-openssh-server"&gt;# apt-get install openssh-server&lt;/h4&gt;
&lt;h3 id="設定-ssh-config"&gt;設定 ssh config&lt;/h3&gt;
&lt;h4 id="-vim-etcsshsshd_config"&gt;# vim /etc/ssh/sshd_config&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Port &lt;span style="color:#2aa198;font-weight:bold"&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PasswordAuthentication yes
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PermitRootLogin yes &lt;span style="color:#93a1a1;font-style:italic"&gt;# 是否開放 root 登入&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="重啟服務"&gt;重啟服務&lt;/h3&gt;
&lt;h4 id="etcinitdssh-restart"&gt;/etc/init.d/ssh restart&lt;/h4&gt;</description></item></channel></rss>