Linux Mint Debian

[華語, cmn-Hant-TW]

一向就對 UBUNTU 這種半年就來大更新的 distro 很感冒,畢竟也不是說非常常玩 Linux,每次心血來潮想碰一下的時候都在灌大更新也很煩,所以就想找看看有沒有適合的滾動式發行套件 (rolling distro) 能符合我的需求。

滾動式的概念很簡單,就是他沒有一個固定的版號,反正 update 就能跳到最新的就是了,所以也不用管啥 11.04 哪天過期啦、我要不要升到 11.10 啦之類的。最有名的應該算是 archlinux 了吧,其實公司的某幾台早就是灌 archlinux (前一篇才剛提到)了,不過我跟 Linux 不太熟,要像在 FreeBSD 下面一樣能自己手工把桌面弄出來大概還要花好幾個月的時間研究,不符合本次玩票性質的需求。在網路上找了一下發現 Linux Mint Debian 似乎不賴,首先 GUI 是包好好的,有 gnome 跟 xfce 可以選用,然後底層是 debian testing。剛好 debian 算是在我不太熟的 Linux 中比較熟的一套,二話不說挑了個人比較偏好的 xfce 灌來玩看看了。


灌起來沒遇到啥問題,沒看錯的話語系有 nan-Lant-TW (台灣福佬語羅馬字),不過我沒有試下去就是,整個介面其實很不 xfce,不過懶得改而且其實也不會太難用,就不去動他了。網路設定在右下角時鐘的左側,一般 DHCP 的話應該不用設定啥就直接上網了。再旁邊的那個圖示則是更新的通知,一開始應該一定會有東西可以更新,套件的更新可以透過圖型化介面的 Update Manager 來完成,這其實就是 GUI 版的 apt-get,所以不想用這東西要自己下 apt-get 指令更新也是可以的,更新的時候倒是有遇到一些問題,不過移掉問題套件重裝之後問題就解決了,滾動式發行套件難免會遇到這樣的問題,畢竟更新是持續不斷,穩定性總是會稍低些。

整體而言 Linux Mint Debian 算是相當符合我的需求,如果有人對升級感到厭煩的也可以考慮來玩一下這套看看。

Posted in FreeBSD. Tags: . No Comments »

collect entropy

[華語, cmn-Hant-TW]

幫一台 archlinux 更新時遇到的。 pacman 的新簽章機制需要跑一次 pacman-key –init,結果吃到這錯誤:

Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 279 more bytes)

結果在這篇找到解答了,只要跑 ls -R / 就能「收集」到大量的 entropy,問題於是解決。不過實測時發現先跑 ls -R / 再執行 pacman-key 似乎還是會吃到錯誤,要兩個同時跑才行,也許是因為只有在 ls -R / 正在跑的時候亂度才足夠吧。

Posted in FreeBSD. Tags: . No Comments »

sockstat, lsof

[客家話, hak-Hant-TW]

FreeBSD 下是講要看麼介 process 用了麼介 port,最簡單的方式就是 sockstat,毋過這隻是 FreeBSD 限定,Linux 下就做不得用了。好在還有其他替代方案: lsof

講實在的 lsof 主要不是拿來看開麼介 port 的,是拿來看 process 開了麼介檔案,是講也有看用了麼介 port 的功能就是。 lsof -i 就可以看到那隻 process 開了那隻 port,同 sockstat,也當方便啦。

Posted in FreeBSD. Tags: , , , , . No Comments »

Conditional Expressions

[華語, cmn-Hant-TW]

每次都會忘記,記錄一下省得每次都要用 Google 找半天

BASH

-a file ~ True if file exists.

-b file ~ True if file exists and is a block special file.

-c file ~ True if file exists and is a character special file.

-d file ~ True if file exists and is a directory.

-e file ~ True if file exists.

-f file ~ True if file exists and is a regular file.

-g file ~ True if file exists and its set-group-id bit is set.

-h file ~ True if file exists and is a symbolic link.

-k file ~ True if file exists and its “sticky” bit is set.

-p file ~ True if file exists and is a named pipe (FIFO).

-r file ~ True if file exists and is readable.

-s file ~ True if file exists and has a size greater than zero.

-t fd ~ True if file descriptor fd is open and refers to a terminal.

-u file ~ True if file exists and its set-user-id bit is set.

-w file ~ True if file exists and is writable.

-x file ~ True if file exists and is executable.

-O file ~ True if file exists and is owned by the effective user id.

-G file ~ True if file exists and is owned by the effective group id.

-L file ~ True if file exists and is a symbolic link.

-S file ~ True if file exists and is a socket.

-N file ~ True if file exists and has been modified since it was last read.

file1 -nt file2 ~ True if file1 is newer (according to modification date) than file2, or if file1 exists and file2 does not.

file1 -ot file2 ~ True if file1 is older than file2, or if file2 exists and file1 does not.

file1 -ef file2 ~ True if file1 and file2 refer to the same device and inode numbers.

-o optname ~ True if shell option optname is enabled. The list of options appears in the description of the -ooption to the set builtin (see The Set Builtin).

-z string ~ True if the length of string is zero.

-n string ~ True if the length of string is non-zero.

string1 == string2 ~ True if the strings are equal. ‘=’ may be used in place of ‘==’ for strict posix compliance.

string1 != string2 ~ True if the strings are not equal.

string1 < string2 ~ True if string1 sorts before string2 lexicographically in the current locale.

string1 > string2 ~ True if string1 sorts after string2 lexicographically in the current locale.

arg1 OP arg2 ~ OP is one of ‘-eq’, ‘-ne’, ‘-lt’, ‘-le’, ‘-gt’, or ‘-ge’. These arithmetic binary operators return true if arg1 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to arg2, respectively. Arg1 and arg2 may be positive or negative integers.

資料來源: http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressions

TCSH

-r   Read access
-w   Write access
-x   Execute access
-X   Executable in the path or shell builtin, e.g., `-X ls' and  `-X
	       ls-F' are generally true, but `-X /bin/ls' is not (+)
-e   Existence
-o   Ownership
-z   Zero size
-s   Non-zero size (+)
-f   Plain file
-d   Directory
-l   Symbolic link (+) *
-b   Block special file (+)
-c   Character special file (+)
-p   Named pipe (fifo) (+) *
-S   Socket special file (+) *
-u   Set-user-ID bit is set (+)
-g   Set-group-ID bit is set (+)
-k   Sticky bit is set (+)
-t   file  (which  must be a digit) is an open file descriptor for a
	       terminal device (+)
-R   Has been migrated (convex only) (+)
-L   Applies subsequent operators in a multiple-operator test  to  a
	       symbolic  link rather than to the file to which the link points
	       (+) *
資料來源 FreeBSD tcsh manual pages
Posted in Development. Tags: , , , , . 2 Comments »