Showing posts with label debian. Show all posts
Showing posts with label debian. Show all posts

Saturday, October 19, 2013

VirtualBox VM 中的 Apache 存取共用資料夾內檔案

因為開發上的方便,透過共用資料夾把檔案給 VM 裡的 Apache 使用。

但發生了即使檔案在 host 上已經變更了,透過在 guest 裡的 Apache 讀到的內容卻還是舊版本的狀況。

查了一下發現是要在 <Directory> 設定中加上下面兩個設定:

EnableMMAP Off
EnableSendfile Off

Friday, October 11, 2013

在 debian 上更動預設的磁碟排班器

在對儲存裝置負載比較重的主機上,調整 I/O scheduler 很可能可以得到效能的改善。

要讀取目前所選取的 scheduler 只要執行 cat /sys/block/sda/queue/scheduler 即可,目前使用中的 scheduler 會用方括號標示出來。

在執行時期可以透過 echo "noop" > /sys/block/sda/queue/scheduler 來更改,不過這個變更重開機後會失效。

永久變更可以使用 sysfsutils 來針對特定裝置選用不同的排程器,或是直接改啓動時的 kernel 參數來變更系統預設選用的排程器。

因為我是要用在 VM 上面,不太有多個裝置要用不同組態的需求,所以我選擇使用改變 kernel 參數的方式。

基本上就是編輯位於 /etc/default/grub 的這個設定檔,修改 GRUB_CMDLINE_LINUX_DEFAULT 變數以加入 elevator=noop 選項:

GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop quiet"

最後要記得執行 sudo update-grub 以更新線上的 grub 設定,不然設定不會生效。

Wednesday, November 03, 2010

debian 上安裝基本的 GNOME 環境

在 debian 透過 tasksel 裝進來的 GNOME 環境不知道為什麼包了超多有的沒的東西,相當之傷腦筋... 但今天發現,可以只裝必須的部份就好了。

apt-get install gnome-core avahi-daemon p7zip synaptic system-config-printer hal-cups-utils

Sunday, April 18, 2010

把 Perl 模組裝在系統目錄以外的地方

流程其實蠻簡單的,在編譯模組第一步的 perl Makefile.PL 用 PREFIX=%TARGET_DIRECTORY% 作為參數即可。

perl Makefile.PL PREFIX=%TARGET_DIRECTORY%
make
make test
make install

然後設定環境變數 PERL5LIB 到所給定的 %TARGET_DIRECTORY% 下面的 share/perl 以及 lib/perl 之中,注意中間要使用冒號分隔。

export PERL5LIB=%TARGET_DIRECTORY%/share/perl:%TARGET_DIRECTORY%/lib/perl

除了 PERL5LIB 之外,也可以設定 PERLLIB 這個環境變數,不過 PERL5LIB 優先權比較高,而且這兩個變數是互斥的,換言之 Perl 會先找 PERL5LIB 這個環境變數是不是存在,如果沒有才去找 PERLLIB 環境變數。

Thursday, August 07, 2008

nmap 是好物

今天要連某微型叢集內的某臺機器,不過因為整個不是我組態的,所以哪臺機器 IP 是多少我不太記得。

以前是自己臨場刻個 perl script 來掃,今天想一想還是找找看有啥工具。果然有個好物

nmap -sP 192.168.10.0/24

速度當然是比自己刻的快太多了,一下子就找到我要找的機器。

Wednesday, April 09, 2008

在 debian 上準備給 Mac 用的 AFPd

簡單講就是安裝 netatalk 這個套件,設定一下就一切搞定。

問題在於,在 debian 內附的 netatalk 不支援認證時加密,因為 OpenSSL 的授權跟 GPL 有所衝突的關係。這實在是很無聊的理由... 不過總之就是這樣。

因此,就得自己編譯 netatalk 套件。方法跟這篇講的一樣,基本上就是安裝額外的相依套件,然後照著一般的建置程序做就可以了。

cd /usr/src
apt-get install openssl libssl-dev cracklib2 libpam-cracklib cracklib2-dev
apt-get source netatalk
apt-get build-dep netatalk

然後編輯建置規則檔

cd netatalk-2.0.3
vi debian/rules

在大概第 18 行附近找到 ##FIXME: Other changes are needed, like enabling DHX plugin 的字樣,把 DEB_BUILD_OPTIONS=ssl debuild 加進去。

最後執行 dpkg-buildpackage 就會開始製作套件檔,做完用 dpkg -i 安裝就完成了。

接著再修改 /etc/default/netatalk 設定檔,我改了 UAMLIST 並且關掉 AFPD 跟儲存 meta data 用的 CNID 之外的服務。主要是把 ATALKD 跟 PAPD 關掉,其他沒動應該也是無所謂。

AFPD_UAMLIST="-U uams_dhx.so,uams_randnum.so"

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

再來就是參考這邊,修改 /etc/netatalk/afpd.conf 設定,主要是把 AppleTalk 關掉,走 TCP 就好了。

- -noddp -uamlist uams_randnum.so,uams_dhx.so

然後新增 Avahi 的服務描述檔,這樣就可以直接用 Bonjor 找到機器。


<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

  <name replace-wildcards="yes">AFP on %h</name>

  <service>
    <type>_afpovertcp._tcp</type>
    <port>548</port>
  </service>

</service-group>

該重啟動的重啟動之後,應該就可以用了。

另外還可以在 /etc/netatalk/AppleVolumes.default 加上 option:usedots,noadouble 讓一些 netatalk 用來儲存 Mac 特殊檔案狀態用的檔案名稱不會被編碼,而可以藏起來。