使用 inode 管理檔案

On March 7, 2015, in Server, by 麥克阿忠

因語言眾多,有時 Linux 也會不知道檔名在說什麼,而造成檔名亂碼。

還好它有留了一個 inode 可以用行話來管理不懂語言的檔名。

其實明白了就是說,如果你遇到一個亂碼的檔名而不知該如何管理該檔案,則可以用 inode 來管理。

先用 ls 的 -i 來列出各檔名的 inode 編號如如下

ls -i

然後就會在檔名的左邊列出編號。

再來就用參數傳遞的方式來對該檔做些動作,如下:

 cd "$(find -inum 123456)"
 mv "$(find -inum 123456)" ../some/where/

這樣就再也不會遇到看不懂的檔名不知道該如何做了。

Tagged with:  

讓 web server 上的 PHP 更加安全

On February 12, 2015, in apache, Server, by 麥克阿忠

大部份的人都把 PHP 寫好之後,很常態的把屬性設定成 775 ,疏不知是很不安全的設定,一般來說 PHP 給 apache 執行的的屬性除了把群組設為同一組之外,屬性只要設定成為 644 才對,也就是不要讓 “x” 的權限給開放。

x 屬性是 exec (執行) 的意思,它會容許該檔案執行 Linux 的指令,因此,若某檔被注入指令,那後果就不堪設想了。

但是,把檔案設成 644 可不是一般 chmod -R 644 這樣下,這樣就連目錄都 cd 不進去了,所以要照下面的例子來處理。

先為目錄設下 755 屬性用法如下

find /php/web/dir -type d -exec chmod 755 {} \;

再為檔案設下 644 屬性用法如下

find /php/web/dir -type f -exec chmod 644 {} \;
Tagged with:  

docker 一次清除 container 指令

On October 20, 2014, in Server, by 麥克阿忠

如果開了太多的 container 想要一次清除,可執行以下指令:

# 停止 docker ps -a 所有存在的 container
$docker stop $(docker ps -a -q)

# 移除
$docker rm $(docker ps -a -q)

這樣就清潔溜溜了!

 

讓 RasPlex 輸出 Composite output

On September 12, 2014, in 嵌入式應用, by 麥克阿忠

Raspberry Pi 在顯示輸出上除了 HDMI 之外,它另外還有類比 RCA 輸出的功能,可以接上傳統 CRT 電視使。

而 RasPlex 為 Plex 開發出來的媒體播放器,它預設是只有 HDMI 輸出,並不會啟用類比輸出功能,若要打開它就必需要修改一些設定,方法如下:

  • 用 ssh 登入 RasPlex,預設帳密皆為 root:rasplex
  • ssh root@192.168.1.XXX
  • 將 /flash 磁區重載為可讀寫
  • mount /flash -o remount,rw
  • 修改config.txt
  • vi /flash/config.txt
  • 把 sd tv 的設定加上去,尋找並註解掉 HDMI 的設定
  • sdtv_mode=2
    sdtv_aspect=1
    #hdmi_force_hotplug=1
    #hdmi_drive=2
  • 存檔之後,把 flash 磁區重載為唯讀
  • mount /flash -o remount,ro
  • 設定完之後,重開機。然後等待電視畫面就可以了!

客廳有台十幾年的聲寶轟天雷,利用 RasPlex 的多媒體功能,兩台合體就變成一個迷你轟天電影院,這是一件令人興奮的事啊!

125958370611435700.jpg_mx

資訊來源自:
https://github.com/RasPlex/RasPlex/wiki/SD-TV-Output
https://forums.plex.tv/index.php/topic/62956-composite-output/

 

花錢買正版

On September 5, 2014, in 閒聊科技與生活, by 麥克阿忠

紀錄一下自己曾經買過的軟體

自從買了 MAC 之後,有些軟體不像是 Windows 一樣去找註冊碼就可以違規的方式免費使用軟體。當 iPhone 的 App Store 面市之後,個人開始有付費使用軟體的概念。

因為,它真的很不好破解 XD

列一下從 2010 年開始付錢買過的軟體:

Continue reading »

 

ISCSI 指令速記

On August 18, 2014, in Server, by 麥克阿忠

若先前是用 Fedora 的 tgtadm 來設定 LUN 的話,它重開機之後,設定都會跑掉,所以,除了可以用 config 來保留設定之外,若是暫時性的在存取磁碟機可用以下指令來快速重建 LUN

  • 建立 target
  • sudo tgtadm --lld iscsi --mode target --op new --tid=1 --targetname iqn.2014-08.hostname:cubieboard.fedora
  • 建立 LUN
  • sudo tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sda
  • 加上存取權限
  • sudo tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL
  • 如果要臨時刪除某個 LUN
  • sudo tgtadm --lld iscsi --op delete --mode logicalunit --tid 1 --lun 2
Tagged with:  

用 Cubieboard 架設便宜的 iSCSI

On August 6, 2014, in Server, by 麥克阿忠

要架這一個 iscsi 的服務,可從我買一台 MacBook Air 開始說起。

去年 2013 的機種 MBA 的基本款要價 43000 元左右,因要超薄的外型,就必需要去掉光碟機,還要把硬碟壓薄,因此就用了 SSD 顆粒來當作系統碟。然而目前 SSD 的容量是目前 500GB 就差不多快要一萬元以上,比傳統硬碟貴上 5 倍左右。

SSD 固然是快,但只有 128G 的容量將系統裝進去,就只能使用大約 70GB 左右,對於過去使用電腦動不動就要幾百G的資料搞來搞去,根本就不夠。

因此就必需要靠外接式的儲存媒體來輔助大量資料的解決問題。然而外接硬碟就要再接線實在是行動不便,買台 NAS 要再花好幾千塊,完全不符我的需求。

因此讓我想到了之前花一千八買的 Cubieboard 到是可以派上用場,所以我就把它架成 iSCSI 伺服器來達成我要的目地。

Continue reading »

Tagged with:  

Joomla jconsole 開發應用

On July 31, 2014, in 程試設計, by 麥克阿忠

如果在執行指令時有需要其它額外的指令或選項,在 JConsole 可以這樣做:

php cli/console hello who where -a

鍵入 php cli/console hello -h 時會列出以下的 help:
qweqwe
其中紅線所指的指令格式 [command] 為 Argument , [option] 當然不用說就是 option。

Continue reading »

Tagged with: