2020年6月28日 星期日

2020年6月23日 星期二

Bash一行文:去除副檔名

對於一個已知副檔名的檔案(例如說/tmp/file.txt),想要移除副檔名:
  • basename /tmp/file.txt .txt
上述會移除副檔名與路徑、若不知道副檔名則可用:
  • echo /tmp/file.txt | cut -f1 -d '.'
假設上述檔名存在變數file,則可用bash的substring功能:
  • echo "${file%.*}"

2020年6月19日 星期五

Bioconductor與R的版本對應

每個特定版本的Bioconductor,設計會對應到特定版本的R。例如:
  • Bioconductor -3.11配R-4.0
  • Bioconductor -3.10, 3.9配R-3.6
  • Bioconductor -3.8, 3.7配R-3.5
  • Bioconductor -3.6, 3.5配R-3.4


這個對應並不是一對一,較常出現的是兩個bioconductor版本對應到某個版本的R。

2020年6月18日 星期四

CentOS 6上編譯GCC 4.8.5

CentOS 6上面預設的編譯器是GCC-4.4.7,自行編譯一套GCC-4.8.5的步驟如下:
  1. 安裝GMP,這邊選4.3.2版
  2. 安裝MPFR,這邊選2.4.2版
  3. 安裝MPC,這裡選0.8.1版
  4. 安裝ISL,這裡選0.14版
  5. 下載GCC-4.8.5原始碼,設定編譯與安裝

2020年6月17日 星期三

gnu/stubs-32.h: No such file or directory

在CentOS 6的機器上編譯GCC-4.8.5的時候,出現錯誤訊息:
  • gnu/stubs-32.h: No such file or directory

這是因為缺少32-bit C library,最簡單的解決方式是在編譯GCC時,在configure那個步驟加入下面的參數,把32-bit的支援給關掉:
  • --disable-multilib

2020年6月1日 星期一

確認兩個資料夾的內容物都一樣

手上有兩個資料夾:
  • /home/user/Desktop
  • /bk/userDesktop
要確認這兩個資料夾的內容是否一樣只要用指令
  • diff -r -q /home/user/Desktop /bk/userDesktop

2020年5月29日 星期五

Ubuntu 20.04開機碟做成Mirror

Ubuntu 20.04 Desktop版並不像Debian一樣,安裝過程支援系統碟是mirror(RAID-1)。要達成開機碟是mirror狀態,要先將一個硬碟分割好如下狀態:
  • /dev/sda
    • sda1:分割類型是fd(linux raid auto)預計要裝/boot
    • sda2:分割類型是fd(linux raid auto)預計安裝根目錄

分割好硬碟/dev/sda後,將這些硬碟接到電腦上,再放入Ubuntu 20.04 Desktop LiveCD後,從CD-rom開機:

2020年5月22日 星期五

Mac檢視zip等壓縮檔內容

在Mac裡面對於zip這樣的壓縮檔,點兩下通常就會直接將壓縮檔解開成一個資料夾。但若只是想要看壓縮檔裡包含的內容,可以使用下面指令:
  • unzip -l xxx.zip

若是嫌使用指令太麻煩,那可以使用BetterZip 4這套軟體,直接開一個視窗來檢視壓縮檔裡面的內容,並且可以選定想要解壓縮的內容。其他的功能如下:

2020年5月15日 星期五

Mac一張網卡上設定多個IP

在Mac上為了測試網路,需要給一張網卡例如說en0多個IP,指令如下:
  • sudo ifconfig en0 alias 192.168.77.88 up
  • sudo ifconfig en0 alias 192.168.77.88/28 up
這樣就可以把192.168.77.88這個IP設定到en0這張網卡上。第二個指令是當netmask跟預設不一樣的時候才需要加入。要刪除en0網卡上加入的IP,用下面的指令(注意在alias前面那個-
  • sudo ifconfig en0 -alias 192.168.77.88

2020年5月6日 星期三

不同版本的Python分別安裝套件

幫Python裝套件最流行的是pip,從Python 2.7.9以後,預設的binary安裝檔就會包含這隻套件安裝程式。幫同一台機器上不同的Python安裝套件biopython:
  1. python -m pip install biopython
  2. ./env/bin/python -m pip install biopython
  3. python-3.6 -m pip install biopython
  4. /opt/Python-2.7.18/bin/pip install biopython

上述指令分別是幫相同機器上的各個版本的Python安裝套件:

2020年5月3日 星期日

2020年5月1日 星期五

將圖片轉成全景圖spherical panorama

使用Sweet Home 3D完成後,輸出全景圖(spherical panorama, png format),但一般的全景圖瀏覽器沒辦法吃png格式,上傳臉書也沒有全景圖的效果。研究了一下原來是在臉書上面要有全景圖效果,必須要滿足三個條件:
  1. 圖片比例要是 2:1
  2. 圖片格式必須要是jpg
  3. 必須要jpg圖檔的EXIF資訊
從Sweet Home 3D出來的比例已經是2:1了,假設圖片名是photo.png,在Mac電腦上只要依序執行下面兩個指令,就可以將png轉成臉書上可用的全景圖:

2020年4月30日 星期四

macOS顯示CPU與GPU使用量

macOS 10.15 Catalina使用內建的Activity Monitor即可顯示CPU與GPU的使用量


使用方法如下:

2020年4月29日 星期三

macOS關閉hyper-threading

要永遠關閉macOS的hyper threading方法如下:
  1. 重新開機,進入修復模式Recovery Mode
  2. 選單 > Utilities > Terminal
  3. 在開啟的終端機(Terminal)中輸入下面指令
    • nvram SMTDisable=%01

重新開啟hyper-threading的方式則需要重設NVRAM

2020年4月23日 星期四

用inxi看硬體配置

看硬體資訊有許多方法,之前提到過的有:
越上面的越漂亮,但訊息越少,越下面的訊息量多但不易閱讀。這邊介紹一個屆在neofetch與lshw之間的看硬體配置指令inxi,在CentOS 7上安裝下指令:
  • sudo yum install inxi
安裝完成後的指令使用方式如下:
  1. inxi
  2. inxi -b
  3. inxi --usb
  4. inxi -F
  5. sudo inxi -F

2020年4月18日 星期六

2020年4月17日 星期五

Mac用diskutil做RAID-0 (striped)

在蘋果電腦上要把硬碟串起來做striped RAID-0,開啟終端機後依序執行:
  1. diskutil list
  2. sudo diskutil appleRAID create stripe AkitioAB JHFS+ disk4 disk5
  3. diskutil appleRAID list
上面指令的意思如下:

2020年4月16日 星期四

用neofetch看硬體資訊

指令模式下看硬體資訊使用neofetch,使用ASCII art顯示

neofetch是用bash寫出來的,上圖的硬體資訊解釋如下:

2020年4月15日 星期三

Apache2用virtual host的網頁不正常

網頁伺服器用apache2,機器搬家後發現原來上面透過virtual host架的網頁無法正常顯示,而是跳出apache的歡迎頁面。搞半天才發現不是apache2的設定錯誤,而是host name設定錯誤。所以對於下面兩個檔案:
  • /etc/hosts :將裡面的host name對應到新更動的IP即可
  • /etc/apache2/sites-enabled/000-default.conf:不用更動這個存放virtual host的設定檔

2020年4月14日 星期二

AH00558: apache2: Could not reliably determine the server's fully qualified domain name

在啟動Apache2的網頁伺服器時,雖可正常啟動,但卻出現下面的警告訊息
  • AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

最簡單的解決方法在 /etc/apache2/apache2.conf 裡面加入機器正確的名稱

2020年4月12日 星期日

2020年4月11日 星期六

2020年4月10日 星期五

wget使用的簡單說明與限速

要抓http或是ftp上面的檔案,可使用wget,例如說:
  1. wget http://linux.csie.nctu.edu.tw/kernel/linux/kernel/v5.x/linux-5.6.tar.gz
  2. wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.6.tar.gz
  3. wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.6.tar.gz
  4. wget --limit-rate=1m http://linux.csie.nctu.edu.tw/debian/debian-cd/10.3.0/amd64/iso-bd/debian-edu-10.3.0-amd64-BD-1.iso
  5. wget -c -t inf -b --limit-rate=1m http://linux.csie.nctu.edu.tw/debian/debian-cd/10.3.0/amd64/iso-bd/debian-edu-10.3.0-amd64-BD-1.iso
上面指令的意思是:

2020年4月4日 星期六

2020年3月30日 星期一

更新Areca 1880的韌體到V1.56

手上有一張舊的磁碟陣列卡,最近的作動很奇怪,使用df去看容量的時候會出現負數。使用dmesg的錯誤訊息如下
# dmesg -T | tail
[Thu Mar 26 22:59:14 2020] EXT4-fs (sdf): error count: 622
[Thu Mar 26 22:59:14 2020] EXT4-fs (sdf): initial error at 1580290899: ext4_mb_generate_buddy:739
[Thu Mar 26 22:59:14 2020] EXT4-fs (sdf): last error at 1582988391: ext4_mb_generate_buddy:739
[Fri Mar 27 23:00:42 2020] EXT4-fs (sdf): error count: 622
[Fri Mar 27 23:00:42 2020] EXT4-fs (sdf): initial error at 1580290899: ext4_mb_generate_buddy:739
[Fri Mar 27 23:00:42 2020] EXT4-fs (sdf): last error at 1582988391: ext4_mb_generate_buddy:739
[Sat Mar 28 23:02:10 2020] EXT4-fs (sdf): error count: 622
[Sat Mar 28 23:02:10 2020] EXT4-fs (sdf): initial error at 1580290899: ext4_mb_generate_buddy:739
[Sat Mar 28 23:02:10 2020] EXT4-fs (sdf): last error at 1582988391: ext4_mb_generate_buddy:739
[Sun Mar 29 16:02:14 2020] arcmsr 0000:04:00.0: vpd r/w failed.  This is likely a firmware bug on this device.  Contact the card vendor for a firmware update.
雖然這個網頁說是下了指令lspci -vv導致的錯誤,但實際上這張RAID card上面的磁碟陣列還是作動不正常。

2020年3月28日 星期六

2020年3月15日 星期日

2020年3月11日 星期三

Sublime Text強調游標所在的行

Sublime Text 3要強調游標所在的行,在Mac上的設定方式如下:
  1.  > Sublime Text > Preferences > Settings,
  2. 找到 Preferences.sublime-setting – User
  3. 加入 "highlight_line": true,  注意要有逗點,設定檔如下

2020年3月9日 星期一

保有定位隱私為前提下的軌跡比對法

手機開啟定位功能,就能夠紀錄手機攜帶者隨時間改變的定位資訊(也就是「軌跡」)。比對武漢肺炎(WARS or COVID-19)感染者與個人的軌跡,取其交錯的部分即可知是否曾經跟感染者有過長時間近距離接觸。這個想法也已經被實現,連結如下:
這個想法最大的問題在于隱私權,可以分成下面兩個部分:
  1. 感染者的隱私權:目前本國人都沒有公佈軌跡,有的軌跡只有案32(外籍移工)和兩位韓國人。若官方公布軌跡,有心人將有辦法可以追尋到感染者的身份,所以公布軌跡大概就是直接讓感染者被獵巫。
  2. 個人的隱私權:上述武漢肺炎歷史軌跡比對,並沒有上傳個人的定位資訊,因此除非程式有開後門不然是可以保有個人隱私。
比對軌跡需要同時有感染者與個人的軌跡,本文接下來說明如何同時不公開感染者與個人的軌跡下,取得軌跡交錯的資訊

2020年3月8日 星期日

《Tough Love》

【迪士尼后妈茶话会/电影版】Tough Love/ [THE VILLAINS LAIR/Movie version] Tough Love, 4m30s

_EOF_

2020年3月7日 星期六

《Run to Me》

看起來所有的連結都要直接去YouTube上面才能夠看
[ AMV ] Initial D Satoshi Vs Takumi, 6:37
 

Takumi (AE86) VS Satoshi (NB8C)

2020年3月6日 星期五

開始有廣告與垃圾留言了

寫了四年多將近900篇文章以後,現在開始有廣告留言了。對於那些與主題毫無關係的廣告留言就是直接刪除,但是不知道多久以後會出現垃圾留言~

2020年3月5日 星期四

VBA匯入時出現could not be loaded

在Mac上匯入從Windows匯出的VBA檔(檔名以.bas結尾)會出現:
  • '檔案名稱.bas' could not be loaded.
網路上找半天還是找不到發生的原因。我的解法是,在Microsoft Visual Basic裡面新增一個Module,把VB程式碼貼進去,並且把下面所示的那一行刪除(通常在第一行):
  • Attribute VB_Name = "OOOXXX"

2020年3月4日 星期三

用rsync刪除很大的資料夾

欲刪除裡面有許多檔案的大資料夾(例如說包含了一百萬個檔案、總容量是10T)叫做BigFolder/,使用rm這個指令會等到天荒地老。但使用rsync可在六分鐘內全數刪除:
  1. mkdir blank
  2. rsync -a --delete blank/ BigFolder/
  3. rmdir blank

2020年2月28日 星期五

2020年2月27日 星期四

Python的pip看套件可安裝的版本

使用Python的套件管理程式pip安裝套件前可先看用search指令來看安裝的版本,例如說套件biopython:
  • pip search biopython
這樣就會顯示會安裝的biopython版本。若要看有哪些版本可安裝則是輸入:
  • pip install biopython==

2020年2月26日 星期三

Python編譯使用--enable-optimizations

在編譯Python-3.5.6的時候,一開始的configure注意到了有--enable-optimizations。編譯的過程大概就是:
  1. ./configure --enable-optimizations
  2. make -j 16 && make install

打開上述選項在編譯的時候會啟動下面兩項最佳化:

2020年2月24日 星期一

macOS 10.15在根目錄創建資料夾

macOS 10.15.3 Catalina根目錄現在是唯讀模式,前文《macOS 10.15把根目錄變成唯讀模式》,是個很暴力的做法,後來在網路上面找到方法可以比較輕鬆達到在根目錄下面創建一個叫做/pkg的方法。這種方式就是透過新增或修改下列檔案:
  • /etc/synthetic.conf
在裡面新增一行,讓/pkg開機後軟連結到/Users/pkg

2020年2月21日 星期五

2020年2月20日 星期四

macOS 10.15把根目錄改成了唯讀模式

從macOS 10.14 Mojave升級成10.15.3 Catalina一段時間後才發現,Catalina把之前我放的/pkg給刪除了。找了一下才發現/pkg的東西被放到:
  • "/Users/Shared/Previously Relocated Items/Security/pkg"
目前看起來除了/opt以外,一些資料夾都會被刪除...。原本想的解決方案是直接在根目錄重新建立一個叫做/pkg的資料夾,但因為Catalina的安全性SIP (System Integrity Protection),現在會把根目錄設定成為Read-only。目前想到的解法如下:

2020年2月19日 星期三

Mac重設藍牙設備

要看Mac電腦上面藍牙的版本、名稱與Address方法如下:
  • 按住 Shift-Option 後,點選右上角選單列裡面的藍芽標示

重設Mac電腦上面的藍牙(Buletooth Module):
  1. 按住 Shift-Option 後,點選右上角選單列裡面的藍芽標示
  2. 點選 Debug
  3. 點選 Reset the Bluetooth Module

2020年2月18日 星期二

使用Mac的鍵盤快速鍵

使用Mac,若能夠善用快速鍵可以節省不少操作上的時間。快速鍵通常要搭配變更鍵(modifier keys)使用,常用的變更鍵如下:
  • Command (或 Cmd)
  • Control (或 Ctrl)
  • Option (或 Alt)
  • Shift
  • Fn

2020年2月5日 星期三

Bash印出數字前面補上零

在bash裡面,要讓一個數字前面補上0,可以使用printf,以下為範例:
  • printf "%03d\n" 6

下面的範例則是印出1到20的數字,要印出三位數,前面補0

2020年1月22日 星期三

Windows用rsync做備份與同步

在Windows上,可以透過MobaXterm備份資料。例如說想要把系統上面的使用者資料都備份到外接硬碟(磁碟代號是G:),直接透過下面指令:
  • rsync -Cavubt /drives/c/Users /drives/g/
若是要透過網路芳鄰(Network Neighbor)把資料夾src備份到本機硬碟:
  • rsync -Cavubt //192.168.777.888/src /drives/g/

2020年1月21日 星期二

Windows 10開機時自動啟動程式

Win10上面要開啟或是關閉開機自動啟動程式的設定步驟如下:
  1. WinKey-S,輸入system configuration,開啟程式
  2. 找到 啟動 分頁,點選 開啟工作管理員
  3. 根據狀態列分成兩種:
    • 已啟用:開機自動啟動的程式,點選右下角的停用按鈕關閉自動啟動
    • 已停用:開機不啟動的程式,點選右下角的啟用按鈕開啟自動啟動
_EOF_

2020年1月19日 星期日

Ubuntu開機卡在init-bottom ... done.

Ubuntu 12.04雖然有正常使用shutdown指令關機,且關機前也有用sync;sync;sync把資料都寫入到硬碟上面 force competion of pending disk writes (flush cache)。但開機到下面後就卡住了:
  • Begin: Running /scripts/init-premount ... done.
  • Begin: Mounting root file system ... 
  • Begin: Running /scripts/local-top ... done.
  • Begin: Running /scripts/local-premount ... done.
  • [10.367590] EXT4-fs (md1): mounted filesystem with ordered data mode. Opts: (null)
  • Begin: Running /scripts/local-bottom ... done.
  • done.
  • Begin: Running /scripts/init-bottom ... done.
用最後一行當關鍵字搜尋,加上Ubuntu 12.04這個關聯性找到這個連結,看到下一行是:

2020年1月16日 星期四

Windows將網頁連結存成一個檔案

在Mac上面儲存網頁連結成一個檔案只要直接把網址拖到資料夾即可,但在Windows上面會比較麻煩,以下以Windows 10為例子:
  1. 資料夾裡面的空間按右鍵,點選新增
  2. 點選捷徑
  3. 輸入要儲存網頁的網址後,點下一步
  4. 輸入檔案名稱,點完成
_EOF_

2020年1月8日 星期三

Windows 10尋找與更換滑鼠指標

Windows 10預設的滑鼠指標醜又不清楚,再使用上與做報告的時候常找不到指標。找不到指標可以打開下面設定:
  • 勾選 當我按CTRL鍵時,顯示指標位置

2020年1月4日 星期六

貓貓蟲咖波(capoocat)

一直在LINE上面看到一隻藍色圓滾滾的生物,也沒有在意他叫什麼,最近才知道原來是貓貓蟲咖波,在WEBTOON上面看到週三、週日更新,目前已經到407話了,第一話是在2015/3/1出來的,腿了快四年多才知道這隻生物:
_EOF_