使用 inode 管理檔案

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

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

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

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

[cc lan=”bash”]ls -i[/cc]

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

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

[cc lan=”bash”] cd “$(find -inum 123456)” [/cc]
[cc lan=”bash”] mv “$(find -inum 123456)” ../some/where/ [/cc]

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

讓 web server 上的 PHP 更加安全

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

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

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

先為目錄設下 755 屬性用法如下
[cc lang=”bash”]
find /php/web/dir -type d -exec chmod 755 {} \;
[/cc]

再為檔案設下 644 屬性用法如下
[cc lang=”bash”]
find /php/web/dir -type f -exec chmod 644 {} \;
[/cc]

讓 RasPlex 輸出 Composite output

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

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

  • 用 ssh 登入 RasPlex,預設帳密皆為 root:rasplex
  • [cc lang=”bash”]
    ssh root@192.168.1.XXX
    [/cc]

  • 將 /flash 磁區重載為可讀寫
  • [cc lang=”bash”]
    mount /flash -o remount,rw
    [/cc]

  • 修改config.txt
  • [cc lang=”bash”]
    vi /flash/config.txt
    [/cc]

  • 把 sd tv 的設定加上去,尋找並註解掉 HDMI 的設定
  • [cc lang=”bash”]
    sdtv_mode=2
    sdtv_aspect=1
    #hdmi_force_hotplug=1
    #hdmi_drive=2
    [/cc]

  • 存檔之後,把 flash 磁區重載為唯讀
  • [cc lang=”bash”]
    mount /flash -o remount,ro
    [/cc]

  • 設定完之後,重開機。然後等待電視畫面就可以了!

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

125958370611435700.jpg_mx

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

花錢買正版

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

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

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

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

Continue reading 花錢買正版

ISCSI 指令速記

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

  • 建立 target
  • [cc lang=”bash”]
    sudo tgtadm –lld iscsi –mode target –op new –tid=1 –targetname iqn.2014-08.hostname:cubieboard.fedora
    [/cc]

  • 建立 LUN
  • [cc lang=”bash”]
    sudo tgtadm –lld iscsi –mode logicalunit –op new –tid 1 –lun 1 -b /dev/sda
    [/cc]

  • 加上存取權限
  • [cc lang=”bash”]
    sudo tgtadm –lld iscsi –mode target –op bind –tid 1 -I ALL
    [/cc]

  • 如果要臨時刪除某個 LUN
  • [cc lang=”bash”]
    sudo tgtadm –lld iscsi –op delete –mode logicalunit –tid 1 –lun 2
    [/cc]

用 Cubieboard 架設便宜的 iSCSI

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

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

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

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

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

Joomla jconsole 開發應用

如果在執行指令時有需要其它額外的指令或選項,在 JConsole 可以這樣做:
[cc lang=”bash”]
php cli/console hello who where -a
[/cc]

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