Category: Operating system

Using sftp on a non-standard port

Posted by – November 12, 2016

平常還蠻常用到 linux / mac 的 ftp, ssh 指令。今天有個 case 是要用 sftp 指令連去廠商的主機,雖然有用過這個指令,卻不知道怎麼指令 port…

一查才發現這用法跟其他指令差異還真大。

sftp -o "Port 3432" user@example.com

要用 -o 設定參數,筆記一下。

更新 Let’s Encrypt 憑證

Posted by – February 19, 2016

先隨手筆記一下,幾個月前在自己的主機上安裝了 Let's Encrypt 的 SSL 憑證。他們家的憑證每隔一陣子就要 update 一次。

Let’s-Encrypt

紀錄一下更新的步驟:

$ service httpd stop # 停用原本的 http server

$ cd /xxx # 切換到 lets encrypt 所在的路徑

$ ./letsencrypt-auto certonly -t -d your.domain.com -m user@email.com --renew-by-default --agree-tos --agree-dev-preview

紅字部分請自行取代。如果有出現以下訊息,可以輸入 2

How would you like to authenticate with the Let's Encrypt CA?
-------------------------------------------------------------------------------
1: Apache Web Server - Alpha (apache)
2: Automatically use a temporary webserver (standalone)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

跑完後記得重啟 http server,收工。

Mac OS El Capitan 10.11 開啟第三方 SSD Trim 功能

Posted by – February 19, 2016

因為幫 Mac mini 換裝了 SSD 硬碟,就會需要幫它啟動 TRIM 的設定。至於 TRIM 是什麼,可以參考這篇 OCZ SSD姿勢佳 – 什麼是TRIM指令?

disk-drive-mac-300x289

OS X 從 Yosemite 10.10.4 開始就允許使用者直接啟動 TRIM 的功能而不需要借助第三方軟體來實現,所以不必安裝軟體,在 terminal 輸入以下指令即可。

sudo trimforce enable

接著輸入管理員密碼,按兩次 y 就會開始進行系統設定。

Screen Shot 2016-02-19 at 11.56.33 PM

要注意的是系統設定完成後會自動重開機,在進行此作業前請先將其他應用都先關閉,以免悲劇。

製作 Mac OS El Capitan 10.11 開機安裝碟

Posted by – February 18, 2016

打算幫家裡那台 mac mini 升級 SSD 而需要做些前置工作,像是先做一顆 USB 安裝碟... 搜尋了一下方案,原來非常簡單啊!!

os_x_el_capitan_roundup More

Laravel: failed to open stream: Too many open files

Posted by – April 24, 2015

Office Worker with Mountain of Paperwork公司的 Team 開發的產品也越來越龐大了,API 的部份依賴 Laravel 內建整合的 PHPUnit 來進行自動化測試。

這回從 git repo 上拉了新的 code 後,照慣例跑一下 phpunit,然後就掛了...

PHP Warning: failed to open stream: Too many open files

好像沒見過這樣的訊息。Google 一下才知道是踩到了 Mac OS 檔案開啟上限的地雷。

$ ulimit -a # 這個指令可以看系統限制
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256 # 這行
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

ulimit -n 1024 臨時改為 1024 就可以正常跑完測試了。一時好奇借了同事的電腦看看,都是 Macbook Air (with Yosemite),其他人的 open files 值是 2560 耶,為什麼我的只有 256 ??? 不解。

Change the hostname in Mac OS X

Posted by – September 5, 2014

近期的開發工作是在 Laravel Framework 下進行的,這個 framework 會依系統的 Hostname 來切換環境,在 local 與 production 之間切換,就可以連到不同資料庫之類的設計,這個設計好不好沒什麼感覺,畢竟主要是在 local 下開發。

這個 Hostname 神秘的地方是會因為網路而有差異,這兩天部門的網路有所更動,Hostname 就不一樣,Laravel 碰到不認得的 Hostname 會自動切換回 production,然後就一堆設定掛在那邊 XD

Laravel 的 Hostname 識別可以在 /%laravel_root%/bootstrap/start.php 下設定,但改來改去也挺麻煩的。

 

Mac OS X 修改 Hostname 並不是難事,雖然我並不確定改下去會不會有什麼後遺症...

在 Terminal 下輸入

sudo scutil --set HostName john-macbook-air.local

然後輸入密碼就改完了,不必重開機。

How to override the path of PHP to use the MAMP path?

Posted by – August 4, 2014

最近在學習 Laravel Framework 的使用,現在 PHP 許多 Library、Framework 都改用了 composer.phar 這個套件管理功能。

其中許多管理功能需要在 command line 輸入指令,但是 Mac 其實也有內建 PHP,卻缺了許多常用的套件。

與其去補安裝套件,不如改用 MAMP 的 PHP 還比較省事。

在 ~/.bash_profile 加入以下指令:

export PATH="/Applications/MAMP/bin/php/php5.5.3/bin:$PATH"

這樣使用 PHP 指令就會自動選用 MAMP 下的版本和套件,其中紅字請改為您使用的版號。

‘tree’ command for Mac OSX

Posted by – July 29, 2014

'tree' 這個指令在許多系統中都存在,用途是繪製出目錄的樹狀結構,在寫技術文件時,這個功能非常方便。

不過 Mac OS X 沒有這個功能.... (殘念

搜尋了一下,果然有高手提供的替代方案

find . -print | sed -e 's;[^/]*/;|--;g;s;--|; |;g'

紅色的點可以替換成需要的目錄名稱,點則代表當前目錄。取得的目錄樹長這個樣子

|--assets
| |--bootstrap
| | |--3.1.1
| |--draw.js

 

Turn off display in Windows 7 without additional software

Posted by – July 3, 2014

我習開電腦時如果沒關機,也習慣把螢幕關掉,這樣可以省下多少電我不知道,只是一個養成多年的習慣。

但是最近家裡的螢幕電源開關變得接觸不良了,按了半天也關不掉,所以想說改用系統指令來讓螢幕休眠。

Win7 確實有個指令可以做到這件事... 在命令列提示列輸入以下指令就可以讓螢幕休眠。

%systemroot%\system32\scrnsave.scr /s

不過每次都要打指令也太自虐了。

另外做了一個捷徑放在開始選單裡,在選單點一下就可以關螢幕,方便多了。

Delete all root mail from a shell prompt

Posted by – June 18, 2014

好久沒有直接登入 Linux 進行操作了....

最近要在主機上做些測試,所以又開始兼任 MIS 了,這不是我熟悉的領域。

有時候系統會提示收到郵件,通常是一些系統錯誤的通知,看完確認沒問題就可以刪了。

通知長得像這樣:

You have new mail in /var/spool/mail/root

刪除的方法很簡單,用以下兩種指令擇一即可。

cp /dev/null /var/spool/mail/root
> /var/spool/mail/root

收工。