如果沒有關閉 SELinux
ssh 使用 rsa 登入時會遇到錯誤,
上傳 key 後時要記得更新資料夾權限
restorecon -Rv /folder
就可以正常使用了
FreeBSD Setup Timezone
cp /usr/share/zoneinfo/Asia/Calcutta /etc/localtime
REF
http://www.cyberciti.biz/faq/howto-set-date-and-time-timezone-in-freebsd/
FreeBSD vi Replace
http://netlab.cse.yzu.edu.tw/~statue/freebsd/docs/aasir/ch062.pdf
http://note.tc.edu.tw/210.html
http://note.tc.edu.tw/210.html
MySQL my.cnf UTF8
進入MySQL使用指令查詢charset
show variables like "%character%";
show variables like "%collation%";
my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
collation-server=utf8_general_ci
init-connect=SET NAMES utf8
port=3306
socket=/tmp/mysql.sock
Latin1 to UTF8
mysqldump -u root -p --default-character-set=latin1 [db] > db.sql
open & edit db.sql change
/*!40101 SET NAMES latin1 */;
show variables like "%character%";
show variables like "%collation%";
my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
collation-server=utf8_general_ci
init-connect=SET NAMES utf8
port=3306
socket=/tmp/mysql.sock
Latin1 to UTF8
mysqldump -u root -p --default-character-set=latin1 [db] > db.sql
open & edit db.sql change
/*!40101 SET NAMES latin1 */;
to
/*!40101 SET NAMES utf8 */;
and import db.sql to MySQL
mysql -u root -p --default-character-set=utf8 < db.sql
done!
FreeBSD crontab backup remote file to local
1. 在遠端排程備份檔案, 新版 MySQL 使用 command line password 會出現錯誤, 所以要改使用--defaults-file存入密碼, 方能執行不會出現錯誤.
echo 'export database'
mysqldump --defaults-file=/home/user/.my.cnf --user=user --databases user_db > user_db.sql
echo 'tar databases'
today=`date +%Y%m%d`
file="user_"$today".tar.gz"
echo 'tar '$file
tar -zcvf $file user_*.sql
echo 'remove databases'
rm user_*.sql
2. 在本地端排程檔案下載, 使用ssh 連線省去打密碼的步驟. 當程式遇到 <<EOC 時, 會把之後的命令自動輸入, 直到遇到EOC時才會結束. 相關文章可以Google shell EOC 的說明.
today=`date -v-1d +%Y%m%d`
echo 'get user backup'
file="user_"$today".tar.gz"
sftp -i ../.ssh/user user@123.456.789.100 <<EOC
cd export
get $file
bye
EOC
echo 'export database'
mysqldump --defaults-file=/home/user/.my.cnf --user=user --databases user_db > user_db.sql
echo 'tar databases'
today=`date +%Y%m%d`
file="user_"$today".tar.gz"
echo 'tar '$file
tar -zcvf $file user_*.sql
echo 'remove databases'
rm user_*.sql
2. 在本地端排程檔案下載, 使用ssh 連線省去打密碼的步驟. 當程式遇到 <<EOC 時, 會把之後的命令自動輸入, 直到遇到EOC時才會結束. 相關文章可以Google shell EOC 的說明.
today=`date -v-1d +%Y%m%d`
echo 'get user backup'
file="user_"$today".tar.gz"
sftp -i ../.ssh/user user@123.456.789.100 <<EOC
cd export
get $file
bye
EOC
FreeBSD Apache install Streaming Module H264 and FLV
安裝 mod_flvx
下載 mod_flvx
https://github.com/osantana/mod_flvx
解壓縮進入資料夾下指令apxs -c -i ./mod_flvx.c
mod_flvs.so 會安裝到 /usr/local/libexec/apache22/ 底下
安裝mod_h264_streaming
下載mod_h264_streaming
下載 mod_flvx
https://github.com/osantana/mod_flvx
解壓縮進入資料夾下指令apxs -c -i ./mod_flvx.c
mod_flvs.so 會安裝到 /usr/local/libexec/apache22/ 底下
安裝mod_h264_streaming
下載mod_h264_streaming
http://h264.code-shop.com/download/apache_mod_h264_streaming-2.2.7.tar.gz
解壓縮進入資料夾
修改以下兩個檔權限為700
configure
install-sh
下指令產出文件
./configure --with-apxs=`which apxs`
make
下指令安裝
make install
到 /usr/local/etc/apache22/httpd.conf 加入以下指令
或到 /usr/local/etc/apache22/Includes 自訂一個.conf資料檔,
如: mod_streaming.conf
解壓縮進入資料夾
修改以下兩個檔權限為700
configure
install-sh
下指令產出文件
./configure --with-apxs=`which apxs`
make
下指令安裝
make install
到 /usr/local/etc/apache22/httpd.conf 加入以下指令
或到 /usr/local/etc/apache22/Includes 自訂一個.conf資料檔,
如: mod_streaming.conf
加入以下指令
# FLV
LoadModule flvx_module modules/mod_flvx.so
LoadModule flvx_module modules/mod_flvx.so
AddHandler flv-stream .flv
# MP4
LoadModule h264_streaming_module libexec/apache22/mod_h264_streaming.so
AddHandler h264-streaming.extensions .mp4
LoadModule h264_streaming_module libexec/apache22/mod_h264_streaming.so
AddHandler h264-streaming.extensions .mp4
FreeBSD ports install and package delete
今天在FreeBSD的ports上要安裝一個新程式,
卻一直無法執行, 要求我要刪除某一個pkg
沒刪過怕怕的, 但不刪又沒得裝... 只好硬著頭皮上了~
先看好它要求刪的pak然後下指令
pkg_delete -f pkg-config.0.25_1
卻一直無法執行, 要求我要刪除某一個pkg
沒刪過怕怕的, 但不刪又沒得裝... 只好硬著頭皮上了~
先看好它要求刪的pak然後下指令
pkg_delete -f pkg-config.0.25_1
FreeBSD Git Step
設定Repo初始專案
- 先在git/repo底下建立專案
git/repo/tms.git - 初始並指定為工作程式庫
git init --bare - 初始程式將程式上傳至tms.git, 假設程試放在 usr/loca/www/tms 進入該目錄下以下指令.
git init
git add .
git commit -m 'Init TMS'
git remote add tms git@james.tw:cms/tms.git(第一次使用)
git push tms master
GITWEB
http://james.tw/git/
git 網址
git://james.tw/cms/tms.git
開始版本控制
1. 先裝git, 啟用git.
2. 假設放在www底下, 先切到/usr/local/www底下然後拷貝一份回來
git clone git://james.tw/cms/tms.git [rename]
git clone git://james.tw/cms/tms.git [rename]
3. 拷貝完後會產生tms資料夾, 進去先到.git/config新增user資料, 這樣當你在push到master時就會出現是誰改的.
[user]
name = James Li
email = jamesycli@james.tw
[user]
name = James Li
email = jamesycli@james.tw
4. 現在新增一個remote假設叫james那我就鍵入以下指令, 你也可以保持原本的origin, 也可以用專案名來設定, 叫tms
git remote add james git@james.tw:cms/tms.git
如果你想查看remote有誰只要打git remote就會看到有幾個remote
git remote add james git@james.tw:cms/tms.git
如果你想查看remote有誰只要打git remote就會看到有幾個remote
5. 每次要上傳資料前先把資料從伺服器拉回來更新”pull”, 假設要同步master就鍵入以下指令
git pull tms master
它會把資料從tms.git抓master回來和你的資料更新.
git pull tms master
它會把資料從tms.git抓master回來和你的資料更新.
6. 然後你要現在要新增資料, 要更新資料回伺服器. 首頁先用”add”,
git add .
這個指令是指全部資料夾都更新, 注意有一個”點”在最後面
git add index.php
這個指令則指定某檔案, 指定完要新增commit 這樣才不會忘了做了什麼.
git commit –m ‘Update Index.php’
最後要push它們上git server啦, 鍵入以下指令.
git push tms master
這樣你add的檔案就會同步到git server了
git add .
這個指令是指全部資料夾都更新, 注意有一個”點”在最後面
git add index.php
這個指令則指定某檔案, 指定完要新增commit 這樣才不會忘了做了什麼.
git commit –m ‘Update Index.php’
最後要push它們上git server啦, 鍵入以下指令.
git push tms master
這樣你add的檔案就會同步到git server了
7. 如果你不想同步某個檔案/資料夾, 在tms底下新增一個.gitignore然後輸入你不想同步的檔案或資料夾
tms/index.php
!tms/index.php
如果有加驚嘆號, 應該是排除要不同步的意思吧~
tms/index.php
!tms/index.php
如果有加驚嘆號, 應該是排除要不同步的意思吧~
FreeBSD phpDocumentor 安裝
phpDocumentor
讓你要交接程式時可以快速了解你的程式碼.
- 更新 ports
cvsup -g -L 2 ports-supfile - 安裝 PEAR
/usr/port/devel/pear
make install clean - 利用 PEAR 安裝 PhpDocumentor 使用以下指令
pear install PhpDocumentor - 完成安裝, 使用使用 phpdoc 下指令.
參考網址:
http://www.phpdoc.org/
FreeBSD Rsync 軟體結內的檔案
如果 Rsync 裡有軟連結, 要將當作硬連結上傳,
就加上 k 他會將軟體結作硬連結看待, 例:
rsync -avk [local] [remote]
如此它就會將軟體連及內容都上傳.
FreeBSD 掛載硬碟錯誤
如果卸除硬碟未至 /etc/fstab 將該硬碟設定移除,
就重新開機, 會造成系統錯誤, 無法使用指令等功能.
步驟
就重新開機, 會造成系統錯誤, 無法使用指令等功能.
步驟
- 重開機按 [4] 進入單人模式
- 檢查 cat /etc/fstab
- 掛載 /usr , 鍵入 mount /ad14s1d /usr
- 掛載 / 設定可讀寫, 鍵入 mount -o rw /
- 編輯 /etc/fstab, 鍵入 vi /etc/fstab 移除已卸除硬碟之資料.
- 重開機即可正常登入.
FreeBSD 掛載硬碟
公司的內部的伺服器滿了!我也慌 :)
本來幫我的主管請假~ 哭哭了~
只好一邊用LINE打擾主管一邊掛載硬碟~
- 首先我們先打指令關機 shutdown -p now
- 接上硬碟開機~
- 檢查硬碟名稱, 打入指令 dmesg 查出硬碟編號, 假如是 ad16
- 進你 sysinstall 的 FDISK
- 選擇你要FDISK的硬碟
- 中間會問你[Would you like that to keep using the current geometry?] 選擇 [ No ]
- 假如硬碟沒分割過選擇 [A], 如果已分割過選擇 [D], 選完按[Q]
- 在來問你要不要 Install Boot 選擇 [None] 因為我們只是要增加容量.
- 按 [Q] 結束 FDISK
- 進入 LABEL
- 選擇 ad16
- 然後按 [C] 新增, 這裡我全部割成一個,
- 選擇 [FS]
- 按 [W] 寫入設定
- 按 [Q] 進開 LABEL
- 至 /etc/fstab 設定剛設定的硬碟
/dev/ad16s1d /download_files ufs rw 2 2 - 重開機, 打入指入 [df] 看是否順利掛載.
GOOGLE關鍵字
[ FreeBSD 掛載硬碟 ]
MySQL Check
指令
mysqlcheck
-c 檢查
-o 優化
-r 修復
-A 全部
參考網站:
http://scottlinux.com/2012/06/09/use-mysqlcheck-to-optimize-and-repair-mysql-databases/
mysqlcheck
-c 檢查
-o 優化
-r 修復
-A 全部
參考網站:
http://scottlinux.com/2012/06/09/use-mysqlcheck-to-optimize-and-repair-mysql-databases/
FreeBSD ISSEU ::: mount & umount windows
MOUNT 在FreeBSD掛載在Windows的網路硬碟
指令如下
1. 不需帳號密碼
#mount_smbfs -I 192.168.1.10 -N '//sharehost/music' /mnt //-I 為指定 Host IP,-N 為指定不需密碼驗證
2. 需帳號密碼
#mount_smbfs -I 192.168.1.10 '//username@sharehost/music' /mnt //執行此指令後會請您輸入密碼 (可登入 Windows XP 的帳號及密碼)
3. 修改掛載後目錄的權限
#mount_smbfs -f 664 -d 755 '//username@sharehost/music' /mnt //-f 為指定檔案權限,-d 為指定目錄權限
掛載完可以用使用mount看到你掛載的資訊
UMOUNT 在FreeBSD載卸Windows的網路硬碟
假如你要卸掉不要的硬碟使用umount指令
umount -f /mnt //強制 umount /mnt
假如遇到
umount: unmount of /mnt failed: Device busy
請先裝上fuser指令
cd /usr/ports/sysutils/fuser;make install clean //安裝 fuser
然後在使用fuser刪掉/mnt佔用的程式
fuser -k /mnt //殺掉佔用 /mnt 的 Process
它就幫你刪掉囉 :)
參考:
FreeBSD Ports Install, Update
# cd /usr/ports/ports-mgmt/portupgrade
# make install clean
#cd /usr/ports/net/cvsup-without-gui/
#make install clean
#cd /usr/share/examples/cvsup/ //切換到更新範例檔路徑
#cp ports-supfile /root/ //複製到root目錄底下
#cd /root/ //切換路徑
#vi ports-supfile //編輯設定檔
*default host=CHANGE_THIS.FreeBSD.org //官方站台(預設值)
*default host=cvsup.tw.freebsd.org //改為國內站台交大資工如此下載速度較快(還有cvsup1~13都可使用)
*default release=cvs tag=RELENG_6 //預設值
*default release=cvs tag=RELENG_6_3 //更改後只有安全更新會進入這個 branch的 source code
#cd /root
#rehash
#cvsup -g -L 2 ports-supfile //開始更新
# make install clean
#cd /usr/ports/net/cvsup-without-gui/
#make install clean
#cd /usr/share/examples/cvsup/ //切換到更新範例檔路徑
#cp ports-supfile /root/ //複製到root目錄底下
#cd /root/ //切換路徑
#vi ports-supfile //編輯設定檔
*default host=CHANGE_THIS.FreeBSD.org //官方站台(預設值)
*default host=cvsup.tw.freebsd.org //改為國內站台交大資工如此下載速度較快(還有cvsup1~13都可使用)
*default release=cvs tag=RELENG_6 //預設值
*default release=cvs tag=RELENG_6_3 //更改後只有安全更新會進入這個 branch的 source code
#cd /root
#rehash
#cvsup -g -L 2 ports-supfile //開始更新
PHP Module: Gettext
Gettext 要在原本的 php5-extensions 中設定
/usr/ports/lang/php5-extensions
make config
勾選 gettext的項目
make install clean
裝完後在重啟 apache2
在檢查 phpinfo 裡面的 gettext 有沒有啟動
有就表示成功了
接下來要下載 Poedit
來編輯 xgettext 所編釋出來的 po
在分存到各國家的資料夾下
Function
xgettext -d [poFile] [Src] --from-code=UTF8
將[Src]裡的檔案轉成PO檔
msgmerge -o [poFile] [poOld] [poNew]
將[poNew]和[poOld]檢查合併
msgfmt -o [moFile] [poFile]
將[poFile]轉成[moFile]
locale -a
檢查FreeBSD的語言檔名
putenv('LANG=zh_TW');
setlocale(LC_ALL, 'zh_TW.UTF-8');
// Specify location of translation tables
bindtextdomain("index", "./locale");
// Choose domain
textdomain("index");
/usr/ports/lang/php5-extensions
make config
勾選 gettext的項目
make install clean
裝完後在重啟 apache2
在檢查 phpinfo 裡面的 gettext 有沒有啟動
有就表示成功了
接下來要下載 Poedit
來編輯 xgettext 所編釋出來的 po
在分存到各國家的資料夾下
Function
xgettext -d [poFile] [Src] --from-code=UTF8
將[Src]裡的檔案轉成PO檔
msgmerge -o [poFile] [poOld] [poNew]
將[poNew]和[poOld]檢查合併
msgfmt -o [moFile] [poFile]
將[poFile]轉成[moFile]
locale -a
檢查FreeBSD的語言檔名
putenv('LANG=zh_TW');
setlocale(LC_ALL, 'zh_TW.UTF-8');
// Specify location of translation tables
bindtextdomain("index", "./locale");
// Choose domain
textdomain("index");
訂閱:
文章 (Atom)