Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: FreeBSD

FreeBSD 13 更新常用指令

Posted on 2021 年 6 月 15 日2021 年 6 月 15 日 By 日落 在〈FreeBSD 13 更新常用指令〉中尚無留言

好一陣子沒摸,FreeBSD 版本一下子來到 13,一些功能也越來越齊全了。

稍微摸了一下,以往要從 ports 安裝編譯並安裝程式,現在另外提供了 pkg 功能,若不需要客製化程式、modules,可以直接使用 pkg 套件管理工具直接下載已經編譯完成的 binary 來安裝。以下記錄一些常用指令。

# ports
cd /usr/ports
make index  # first time after clean install
make search name=xxx
cd /usr/ports/shells/bash
make install

# update ports
cd /usr/ports
make update
# pkg
pkg update
pkg search bash
pkg install bash
pkg list
pkg remove bash
pkg clean
# FreeBSD kernel & world
freebsd-update fetch
freebsd-update upgrade

# can also use
freebsd-update fetch upgrade
Tags:FreeBSD

FreeBSD 系統時鐘停擺

Posted on 2012 年 10 月 18 日2021 年 3 月 12 日 By 日落 在〈FreeBSD 系統時鐘停擺〉中有 2 則留言

因為連續幾次 FreeBSD 上的系統時鐘停擺,連續幾次 date 秒數都不會變,機器上不少服務都爛掉,核心重編後問題還是會發生。

後來在 FreeBSD 論壇上一討論串上看到不少人有遇到相同問題,原因是 VMware 上的一個 bug 導致 timecounter HPET 發生錯誤:

PR887134: Timer stops in FreeBSD 8.x and 9.x as virtual hardware HPET main counter register fails to update due to comparison failure between signed and unsigned integer values.

ESX 已經有釋出 patch。我用的是 workstation,似乎是還沒有發佈更新。

暫時換一下 timecounter 看看問題會不會發生。

先看看系統上有哪些 timecounter 可以使用:

~$ dmesg | grep counter
Timecounter "i8254" frequency 1193182 Hz quality 0
Timecounter "HPET" frequency 14318180 Hz quality 900
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
Timecounters tick every 10.000 msec

sysctl 檢查目前 timecounter:

$ sysctl kern.timecounter.hardware
kern.timecounter.hardware: HPET

換成 ACPI-safe:

$ sysctl kern.timecounter.hardware=ACPI-safe
kern.timecounter.hardware: HPET -> ACPI-safe

開機自動設定,開啟 /etc/sysctl.conf 並加入:

kern.timecounter.hardware=ACPI-safe
Tags:FreeBSD, VM

Prevent configuration while making ports on FreeBSD

Posted on 2012 年 1 月 28 日2021 年 3 月 12 日 By 日落 在〈Prevent configuration while making ports on FreeBSD〉中有 1 則留言

在 FreeBSD 裝 ports 時,有些 ports 會需要 make config。

若 ports 很大 (像 KDE 之類的),make 一次不知道就要按多少次 ok 才會繼續動作。但又不是閒閒整天都做在電腦前等著按 ok。

在 man 7 ports 裡面有提到,設定環境參數 BATCH,系統就會使用預設值做編譯,可以省掉不少麻煩。

set BATCH in tcsh:

setenv BATCH yes

設定好之後,大部分的 make config 就會使用預設值並自動往下做。

參考資料:
How can I avoid the prompts when installing a FreeBSD port?
http://unix.stackexchange.com/questions/5257/how-can-i-avoid-the-prompts-when-installing-a-freebsd-port

Tags:FreeBSD

Ruby Passenger with Nginx on FreeBSD

Posted on 2011 年 9 月 23 日2021 年 3 月 12 日 By 日落 在〈Ruby Passenger with Nginx on FreeBSD〉中尚無留言

事實上 FreeBSD 安裝很簡單,ports 都整理好了:

cd /usr/ports/www/rubygem-passenger
make config  # "Use Nginx"
make install clean

不過這次因為 Redmine 卡在套件版本相依性,除了 Ruby 從 ports 裝,其他 RubyGems、Rails、Rake 都沒用 ports。好險裝 passenger 再編譯 nginx 模組沒想像中的困難。

安裝 passenger:

gem install passenger

裝好後 passenger 的資料會在 /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ 目錄下,nginx 模組的程式碼會在底下的 ext/nginx/。

找到以後就可以準備編譯 nginx。到 /usr/ports/www/nginx 目錄下編輯 Makefile,在「CONFIGURE_ARGS」後加上 –add-module 參數:

CONFIGURE_ARGS+=--prefix=${ETCDIR} 
      --with-cc-opt="-I ${LOCALBASE}/include" 
      --with-ld-opt="-L ${LOCALBASE}/lib" 
      --conf-path=${ETCDIR}/nginx.conf 
      --sbin-path=${PREFIX}/sbin/nginx 
      --pid-path=${NGINX_RUNDIR}/nginx.pid 
      --error-log-path=${NGINX_ERRORLOG} 
      --user=${WWWOWN} --group=${WWWGRP} 
      --add-module=/usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/nginx

接著 make install clean 便會自動將 passenger 模組編譯進去。

最後修改 nginx.conf:

http {
   ...
   passenger_root  /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9;
   passenger_ruby  /usr/local/bin/ruby;
   passenger_max_pool_size  10;
   ...
   server {
      listen 80;
      server_name  my.site;
      root /path/to/my/site;
      passenger_enabled on;
      passenger_use_global_queue on;
   }
}

參考資料
Installing Passenger Nginx module on FreeBSD
http://www.snippety.org/articles/2009/05/16/installing-passenger-nginx-module-on-freebsd/

Phusion Passenger users guide, Nginx version
http://modrails.com/documentation/Users%20guide%20Nginx.html

Tags:FreeBSD

UTF-8 in FreeBSD

Posted on 2011 年 7 月 10 日2021 年 3 月 12 日 By 日落 在〈UTF-8 in FreeBSD〉中有 2 則留言

.cshrc:

setenv LANG zh_TW.UTF-8
setenv MM_CHARSET utf8

參考資料:使用語系設定(Localization)
http://www.freebsd.org/doc/zh_TW/books/handbook/using-localization.html

Tags:FreeBSD

文章分頁

1 2 ... 10 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.