PHP magic.mime WARNING

Debian testing 的環境

php 的環境出現以下錯誤訊息

PHP Warning: mime_magic: type regex BEGIN[[:space:]]*[{] application/x-awk invalid in Unknown on line 0

已經在 Debian 有看到 Bug Report. 但是還是要先有解決辦法, 不然 Command line 的程式大多都有問題.

暫時的解決方法:

  1. vi /usr/share/file/magic.mime
  2. 找到大約 273 行 (搜尋 "space" 就可以找到 Warning 的字)
  3. 把那行先 # 掉就可以了

閱讀全文〈PHP magic.mime WARNING〉

Debian: Apache mod_mime_magic error

Debian Testing 的 Apache 在 start 的時後都會有以下訊息:

No such file or directory: mod_mime_magic: can't read magic file /usr/share/misc/file/magic.mime

解決方法:

vi /etc/apache/httpd.conf

<IfModule mod_mime_magic.c>
/usr/share/file/magic.mime
</IfModule>

這樣子就可以了. (將 misc 拿掉就可以了)

閱讀全文〈Debian: Apache mod_mime_magic error〉

grub 設定開機

在使用雙系統時, 最麻煩的就是XP用久了, 需要重灌的時後, 總是會把 grub 的開機給毀了, 可用以下步驟還原, 但是記得 /boot 下的 vmlinuz-version, initrd-version, root 設在哪( / 設在哪個 dev, ex: /dev/hda1)

  1. grub 進入 grub 環境
  2. root (hd0,0)
  3. setup(hd0)
  4. kernel /vmlinuz-version root=/dev/hda1
  5. initrd /initrd-version
  6. install /grub/stage1 (hd0) /grub/stage2 p /grub/menu.list
  7. boot
  8. 回到shell# grub-install /dev/hda (安裝到 MBR 去)
  9. 完成

閱讀全文〈grub 設定開機〉

GPG Error for apt-get

apt-get 發生 GPG Error 的處理方式.

轉載自: GPG error: for apt-get

錯誤訊息

W: GPG error: ftp://www.hk.debian.org unstable Release: 
    The following signatures couldn't be verified
    because the public key is not available: 
    NO_PUBKEY F1D53D8C4F368D5D NO_PUBKEY 010908312D230C5F
W: You may want to run apt-get update to correct these problems

解決方法:

$ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F1D53D8C4F368D5D
$ gpg --armor --export F1D53D8C4F368D5D | apt-key add -
$ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 010908312D230C5F
$ gpg --armor --export 010908312D230C5F | apt-key add -
$ apt-get update

感謝 Range 大師告知, 下述兩個步驟即可解決此問題 🙂

$wget http://ftp-master.debian.org/ziyi_key_2006.asc
$apt-key add ziyi_key_2006.asc

閱讀全文〈GPG Error for apt-get〉

拿 RAM 當硬碟來用(RAM Disk)

臨時想要做個 RAM Disk, 就去翻以前寫的文章, 發現以前的 Blog 寫的真的是很亂, 還是重新整理一下好了.

    1. 目前的作法如下:
  • 首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
  • mkdir /dev/shm/tmp
  • chmod 1777 /dev/shm/tmp
  • mount --bind /dev/shm/tmp /tmp
    1. 方法2:
  • mkdir /mnt/ramfs
  • vi /etc/fstab
  • none /mnt/ramfs tmpfs defaults 0 0
  • mount /mnt/ramfs
  • 這樣就可以用這個 ramfs 來放一些有的沒有的, 可 man mount, man fstab
    1. 方法3:
  • mount -t tmpfs -o size=200m none /mnt/tmpfs
  • 200m 是 200Mb 的意思, 詳情請看 man mount 裡的 tmpfs
    1. 方法4:
  • 設定 /etc/default/tmpfs default shm 大小(系統會自動用此值去當硬碟)
  • 設定 /etc/fstab: tmpfs /tmp tmpfs size=100m,mode=1777 0 0 設讓 RAM 掛 100Mb 在 /tmp
  1. 方法5:(我目前都用此方法)
    • 直接設定 vim /etc/fstab 寫入下面那行
    • tmpfs /tmp tmpfs size=100m,mode=1777 0 0
    • # 設讓 RAM 掛 100Mb 在 /tmp
    • 註:2022年 Ubuntu 預設這種設定會 mount 在 root 下,可以增加 UID來解決視窗都會跳出警告訊息的狀況
    • tmpfs /tmp tmpfs size=100m,mode=1777,uid=1000 0 0
  2. 其它方法: 可參見下面連結, "有趣的 tmpfs" 中, 有提供很多更好用的方法

參考文件:

閱讀全文〈拿 RAM 當硬碟來用(RAM Disk)〉

停止crontab的寄信通知

Crontab 在執行時, 只要營幕有任何標準輸出, 就會轉成信件寄出通知,初期要 Debug用時還不錯, 但是久了後就很煩, 就想把他丟到 /dev/null 或 改寄到其它地方去, 但是 /dev/null 丟了好多次都沒有用, 才發現到原來是少了 2>&1, 完整命令如下:

於設定時將標準輸出導到 /dev/null

0 * * * * script_name > /dev/null 2>&1

將信件改寄到其它地方, MATILTO="", (不過 "" 的話, 我不知道會寄到哪邊去)

於 Script 最前面加上 MAILTO=""

閱讀全文〈停止crontab的寄信通知〉

Red Hat Enterprise Linux編號意義

看 Redhat Enterprise 有一堆怪怪的編號: AS、ES...., 都看不懂是什麼意思, 查了一下,從 Red Hat Enterprise Linux 4 說明文件 中看到以下:

Red Hat Enterprise Linux 是開放原始碼運算環境中的最佳作業系統,產品線極為完整,從桌上型到資料中心都有:

  • Red Hat Enterprise Linux AS — 為高階與繁重任務的系統所設計
  • Red Hat Enterprise Linux ES — 為中小型伺服器所設計
  • Red Hat Enterprise Linux WS — 為技術 / 設計導向的工作站用戶所設計
  • Red Hat Desktop — 為安全、易管理的用戶端所設計

不過, 果然是誇大了不少, "產品線極為完整"... 就用過的感想 - 實在很難用.

閱讀全文〈Red Hat Enterprise Linux編號意義〉