台灣 Portsnap mirror (portsnap.tw.FreeBSD.org) 好像掛了

昨天跟今早陸續試了三次

$sudo portsnap fetch
Password:
Looking up portsnap.tw.FreeBSD.org mirrors… none found.
Fetching snapshot tag from portsnap.tw.FreeBSD.org… failed.
No mirrors remaining, giving up.

$sudo portsnap fetch
Password:
Looking up portsnap.tw.FreeBSD.org mirrors… none found.
Fetching snapshot tag from portsnap.tw.FreeBSD.org… failed.
No mirrors remaining, giving up.

$sudo portsnap fetch
Password:
Looking up portsnap.tw.FreeBSD.org mirrors… none found.
Fetching snapshot tag from portsnap.tw.FreeBSD.org… failed.
No mirrors remaining, giving up.

日本有沒有呢?
閱讀全文

設定 FreeBSD update & ports & package 使用 local mirror server

2016/1/20更新:
今天測試, freebsd-update,portsnap 和 pkg 的 tw mirror 已經失效

( 在 Facebook FreeBSD Taiwan 社團看到 消息 表示已經有自動台灣分流了,只是不知道為什麼我都會看到從 aws ec2 抓檔案 )
至於 make.conf 的部份還是可以繼續使用 (也強烈建議使用),在 build ports 的時候對下載 source code 的速度幫助很大!

FreeBSD 上常用來更新系統以及套件的工具的 mirror 設定:

設定檔位置:
/etc/freebsd-update.conf
/etc/portsnap.conf (使用portsnap更新ports才會有)
/etc/pkg/FreeBSD.conf (使用pkgng管套件才會有)
/etc/make.conf (可能需要自行建立)

/etc/make.conf 的部分,自行加入或修改現有的 MASTER_SITE_OVERRIDE / MASTER_SITE_BACKUP:
(這部份是在編 ports 的時候拉 src / tarball 會用到)

MASTER_SITE_BACKUP?= \
http://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}

/etc/freebsd-update.conf 的部分 (freebsd-update):
ServerName update.FreeBSD.org
改成
ServerName update.tw.FreeBSD.org

/etc/portsnap.conf 的部分 (portsnap):
SERVERNAME=portsnap.FreeBSD.org
改成
SERVERNAME=portsnap.tw.FreeBSD.org

 

/etc/pkg/FreeBSD.conf 的部分:
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
改成
url: "pkg+http://pkg.tw.FreeBSD.org/${ABI}/latest",

tw 的部分看所在地區再做調整即可,台灣地區 mirror list 可以參考:
http://wiki.tw.freebsd.org/doc/freebsd_taiwan_mirror_sites

FreeBSD 官方放的 mirror list 可以參考這一份:
http://www.freebsd.org/doc/handbook/mirrors-ftp.html

設好 mirror 之後要裝套件速度真的會快很多!

Linux 使用者群組設定、透過 group 來給 sudo 權限 (比改 sudoer 方便!)

一般要透過 sudo 的機制給使用者 root 權限比較常看到的好像是編輯 sudoer 這個檔案 、直接把對應的使用者帳號加入列表的作法,不過每次有新帳號需要 sudo 權限的時候都要做 visudo 自己編輯 sudoer 很麻煩,不小心可能還會改壞檔案(如果這時候沒有 root 的密碼可能就只能透過 single-user mode 進行救援了!),量大的時候用群組來管理 sudo 權限會簡單一點,而且透過群組的方式還可以更容易地進行權限控管,未來要移除使用者時也不必再次編輯 sudoer 的紀錄手動將使用者移除!

sudoer (Ubuntu 上的套件版本 1.8.9p5-1ubuntu1) 裡面部份的設定及說明:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

可以看的出有預設的群組可以用 (admin, sudo、不同的系統可能會有略有出入),如果不合用的話(例如預設的這兩個群組權限太高、什麼事情都能做),也可以另外自己建立群組、加新規則限制能執行的命令,不過一般自己在使用的主機、甚至一些學校或中小企業沒有嚴格進行權限控管時,權限通常會直接開到最大(比較省事),所以直接把使用者加入 sudo 群組會最方便快速

修改使用者群組可以透過直接編輯 /etc/group 這個紀錄群組資訊的檔案,也可以透過簡單的命令操作來把使用者加入群組,以下是一些使用 usermod / useradd 指令把使用者加至群組的範例(這邊不考慮使用 nis/yp 控管使用者帳號的情況)

把現有的使用者加入某群組:

$ sudo usermod -a -G groupname username

or

$ sudo adduser username groupname

( groupname 代表群組名稱、username 代表使用者名稱,注意上下兩種用法的參數順序)

把現有的使用者加入某”些”群組:

$ sudo usermod -a -G groupname,groupname2,groupname3 username

調整某使用者的主要群組:

$ sudo usermod -g groupname usernam

也可以在新增使用者的時候就把某使用者加入某群組:

$ sudo useradd -G groupname username
$ sudo useradd -G groupname,groupname2,groupname3 username

或是在新增使用者的時候就指定主群組:

$ sudo useradd -g groupname username

比較要注意的地方:參數小寫 g 是指主群組,大寫 G 是指副群組

另外就是 sudoer 檔案更改後基本上是馬上生效,因為 sudo 每次執行都會去檢查該設定,但透過 group 加群組之後使用者要重新登入才能讓群組生效,這是比較不一樣的地方。

如果在 FreeBSD 上要把某個 user 加入某個群組該怎麼做呢?

$ sudo pw groupmod groupname -M username

恩,大概就這樣吧XD

FreeBSD 的 kernel source…

今天在灌機器的時候想說source大概不會用到就沒選了

結果從ports安裝htop的時候…

===> Staging for htop-1.0.2
===> htop-1.0.2 depends on executable: lsof - not found
===> Verifying install for lsof in /usr/ports/sysutils/lsof
===> lsof-4.88.g,8 requires kernel sources.
*** [install] Error code 1

Stop in /usr/ports/sysutils/lsof.
*** [run-depends] Error code 1

Stop in /usr/ports/sysutils/htop.

原來lsof需要kernel source這玩意兒…

解法: 從安裝光碟/隨身碟抓source tarball出來,剛好主機在學術網路上我就用網路抓了…
(ftp.tw.freebsd.org這台主機目前在交大資工)

#wget http://ftp.tw.freebsd.org/pub/FreeBSD/releases/amd64/9.2-RELEASE/src.txz
#tar -C / -xf src.txz

按照主機所安裝的版本以及架構不同,amd64可能會需要替換為i386等,9.2-RELEASE也應該對應到該主機的系統版本

接下來的安裝就很順利,看來以後安裝都不要省src免得不時之需還要手動解,現在的硬碟空間根本不差那一點啊…