socket + pthread 資源佔用情形解決
在使用 pthread_create 建立 thread 處理 socket 的時候要注意,縱使 socket close 了,資源還是會被 thread 佔用住,此時要採用分離式 thread,才能在 thread 結束時自動釋放資源,最簡單的方式是建立 thread 後設定為 detach。
while (1)
{
newsockfd = accept(sockfd,
(struct sockaddr *) &cli_addr, &clilen);
if (newsockfd < 0)
exit(1);
pthread_t thread1;
pthread_create(&thread1, NULL, doSocketThread, &newsockfd );
pthread_detach(thread1);
}
2013年5月24日 星期五
2008年9月9日 星期二
Samba Server 新增使用者
adduser id
smbpasswd -a id若有 libssl.so.2 找不到 可找找底下替代 lib
ln -s /usr/lib/libssl.so.0.9.6 /usr/lib/libssl.so.2
ln -s /usr/lib/libcrypto.so.0.9.6 /usr/lib/libcrypto.so.2
2008年9月8日 星期一
POSTFIX 增加郵件群組的功能
nano /etc/postfix/main.cf
===================================
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
===================================
===================================
nano aliases
===================================
maillist: aaa, bbb, ccc, ddd, eee
===================================
===================================
maillist: aaa, bbb, ccc, ddd, eee
===================================
postalias /etc/aliases
postfix reload <== 如果 main.cf 有改到的話則需要重啟
postfix reload <== 如果 main.cf 有改到的話則需要重啟
2008年5月28日 星期三
Linux 時間調校
系統時間不使用 UTC(GMT)…
nano /etc/default/rcS
---------------------------------------------------
UTC=no
---------------------------------------------------
重設時區…
rm /etc/localtime
cp -a /usr/share/zoneinfo/Asia/Taipei /etc/localtime
手動校正時間MMDDhhmmYYYY…
date 052808542008
時間寫入 bios…
hwclock -w
安裝 ntp 網路時間同步…
apt-get install ntpdate
與 ntp server 同步時間…
ntpdate time.stdtime.gov.tw
時間寫入 bios…
hwclock -w
系統自動校時…
nano /etc/crontab
---------------------------------------------------
10 5 * * * root /usr/sbin/ntpdate time.stdtime.gov.tw && /sbin/hwclock -w
---------------------------------------------------
nano /etc/default/rcS
---------------------------------------------------
UTC=no
---------------------------------------------------
重設時區…
rm /etc/localtime
cp -a /usr/share/zoneinfo/Asia/Taipei /etc/localtime
手動校正時間MMDDhhmmYYYY…
date 052808542008
時間寫入 bios…
hwclock -w
安裝 ntp 網路時間同步…
apt-get install ntpdate
與 ntp server 同步時間…
ntpdate time.stdtime.gov.tw
時間寫入 bios…
hwclock -w
系統自動校時…
nano /etc/crontab
---------------------------------------------------
10 5 * * * root /usr/sbin/ntpdate time.stdtime.gov.tw && /sbin/hwclock -w
---------------------------------------------------
2008年5月27日 星期二
使用 rsync 備份、備援、鏡像
備份主機…
server side ( backup server、mirror server )…
=======================================
安裝 rsync…
apt-get install rsync
設置 rsync…
nano /etc/default/rsync
-------------------------------------------
RSYNC_ENABLE=true
-------------------------------------------
設置 rsync client…
nano /etc/rsyncd.conf
-------------------------------------------
[backup_home]
hosts allow = xxx.xxx.xxx.xxx
hosts deny = *
path = /home
auth users = backup_admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[backup_www]
hosts allow = xxx.xxx.xxx.xxx
hosts deny = *
path = /var/www
auth users = backup_admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
-------------------------------------------
設置密碼…
nano /etc/rsyncd.secrets
-------------------------------------------
backup_admin:password1234
-------------------------------------------
變更權限…
chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
啟動 rsync …
/etc/init.d/rsync start or restart
=======================================
待備份電腦…
client side ( main server、www server )…
=======================================
安裝 rsync…
apt-get install rsync
設置密碼…
nano /etc/rsyncd.passwd
-------------------------------------------
password1234
-------------------------------------------
變更權限
chmod 600 /etc/rsyncd.passwd
chown root:root /etc/rsyncd.passwd
shell 下執行備份(/home/)…
rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/ backup_admin@xxx.xxx.xxx.xxx::backup_home
(一行指令)
shell 下執行備份(/var/www/)…
rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /var/www/ backup_admin@xxx.xxx.xxx.xxx::backup_www
(一行指令)
定時啟動備份…
nano /etc/crontab
-------------------------------------------
0 2 * * * root /usr/bin/rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/ backup_admin@xxx.xxx.xxx.xxx::backup_home
0 4 * * * root /usr/bin/rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /var/www/ backup_admin@xxx.xxx.xxx.xxx::backup_www
-------------------------------------------
(二行設置)
=======================================
參考來源…
http://www.howtoforge.com/mirroring_with_rsync
http://linux.tnc.edu.tw/techdoc/rsync.htm
http://fanqiang.chinaunix.net/a6/b7/20010908/1305001258_b.html
http://moto.debian.org.tw/viewtopic.php?t=6757
http://b2ddoc.tnc.edu.tw/yh/LinuxBase/m6_server_setup.html#mozTocId848674
server side ( backup server、mirror server )…
=======================================
安裝 rsync…
apt-get install rsync
設置 rsync…
nano /etc/default/rsync
-------------------------------------------
RSYNC_ENABLE=true
-------------------------------------------
設置 rsync client…
nano /etc/rsyncd.conf
-------------------------------------------
[backup_home]
hosts allow = xxx.xxx.xxx.xxx
hosts deny = *
path = /home
auth users = backup_admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[backup_www]
hosts allow = xxx.xxx.xxx.xxx
hosts deny = *
path = /var/www
auth users = backup_admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
-------------------------------------------
設置密碼…
nano /etc/rsyncd.secrets
-------------------------------------------
backup_admin:password1234
-------------------------------------------
變更權限…
chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
啟動 rsync …
/etc/init.d/rsync start or restart
=======================================
待備份電腦…
client side ( main server、www server )…
=======================================
安裝 rsync…
apt-get install rsync
設置密碼…
nano /etc/rsyncd.passwd
-------------------------------------------
password1234
-------------------------------------------
變更權限
chmod 600 /etc/rsyncd.passwd
chown root:root /etc/rsyncd.passwd
shell 下執行備份(/home/)…
rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/ backup_admin@xxx.xxx.xxx.xxx::backup_home
(一行指令)
shell 下執行備份(/var/www/)…
rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /var/www/ backup_admin@xxx.xxx.xxx.xxx::backup_www
(一行指令)
定時啟動備份…
nano /etc/crontab
-------------------------------------------
0 2 * * * root /usr/bin/rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/ backup_admin@xxx.xxx.xxx.xxx::backup_home
0 4 * * * root /usr/bin/rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /var/www/ backup_admin@xxx.xxx.xxx.xxx::backup_www
-------------------------------------------
(二行設置)
=======================================
參考來源…
http://www.howtoforge.com/mirroring_with_rsync
http://linux.tnc.edu.tw/techdoc/rsync.htm
http://fanqiang.chinaunix.net/a6/b7/20010908/1305001258_b.html
http://moto.debian.org.tw/viewtopic.php?t=6757
http://b2ddoc.tnc.edu.tw/yh/LinuxBase/m6_server_setup.html#mozTocId848674
2008年5月16日 星期五
Spamassassin 黑名單、白名單
手動=========================================
nano /etc/mail/spamassassin/local.cf
# whitelist:
whitelist_from d.cary@sparkingwire.com
whitelist_from *@sparkingwire.com
# blacklist:
blacklist_from d.cary@sparkingwire.com
blacklist_from *@sparkingwire.com
自動=========================================
#useradd -M black
#useradd -M white
以後如果收到垃圾信的話, 就把信 "以附加檔案方式轉寄" 給自己 Server 上的 black 信箱; 如果是被 Spamassassin 誤判為垃圾信的郵件, 就把它轉寄給 white. 也就是說, 讓這兩個信箱收集可以給 Spamassassin 學習的範本.
學習的指令如下:
學習黑名單:
#sa-learn -D --showdots --spam --mbox /var/mail/black
學習白名單:
#sa-learn -D --showdots --ham --mbox /var/mail/white
學習完成後, 即可將 black 與 white 信箱清空:
#true > /var/mail/black; true > /var/mail/white
讓系統每小時自動學習黑/白名單:
於 /etc/cron.hourly 建立一個可執行的 shell 檔, 內容為:
#!/bin/sh
if [ -s /var/spool/mail/black ]; then
sa-learn --spam --mbox /var/spool/mail/black > /dev/null
2>&1
true > /var/spool/mail/black
fi
if [ -s /var/spool/mail/white ]; then
sa-learn --ham --mbox /var/spool/mail/white > /dev/null
2>&1
true > /var/spool/mail/white
fi
nano /etc/mail/spamassassin/local.cf
# whitelist:
whitelist_from d.cary@sparkingwire.com
whitelist_from *@sparkingwire.com
# blacklist:
blacklist_from d.cary@sparkingwire.com
blacklist_from *@sparkingwire.com
自動=========================================
#useradd -M black
#useradd -M white
以後如果收到垃圾信的話, 就把信 "以附加檔案方式轉寄" 給自己 Server 上的 black 信箱; 如果是被 Spamassassin 誤判為垃圾信的郵件, 就把它轉寄給 white. 也就是說, 讓這兩個信箱收集可以給 Spamassassin 學習的範本.
學習的指令如下:
學習黑名單:
#sa-learn -D --showdots --spam --mbox /var/mail/black
學習白名單:
#sa-learn -D --showdots --ham --mbox /var/mail/white
學習完成後, 即可將 black 與 white 信箱清空:
#true > /var/mail/black; true > /var/mail/white
讓系統每小時自動學習黑/白名單:
於 /etc/cron.hourly 建立一個可執行的 shell 檔, 內容為:
#!/bin/sh
if [ -s /var/spool/mail/black ]; then
sa-learn --spam --mbox /var/spool/mail/black > /dev/null
2>&1
true > /var/spool/mail/black
fi
if [ -s /var/spool/mail/white ]; then
sa-learn --ham --mbox /var/spool/mail/white > /dev/null
2>&1
true > /var/spool/mail/white
fi
2008年5月15日 星期四
Clamav Spamassassin更新升級
更新 Clamav:
nano /etc/apt/sources.list
增修
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
apt-get update
apt-get upgrade
freshclam
安裝 Spamassassin:
參考…
http://www.debian.org.tw/index.php/SpamAssassin
http://www.debuntu.org/postfix-and-pamassassin-how-to-filter-spam
apt-get install spamassassin spamc
groupadd -g 5001 spamd
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin
nano /etc/default/spamassassin
增修
ENABLED=1
SAHOME="/var/lib/spamassassin/" OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${S$PIDFILE="${SAHOME}spamd.pid"
nano /etc/spamassassin/local.cf
作適當的修改設定
/etc/init.d/spamassassin restart
nano /etc/postfix/master.cf
smtp inet n - - - - smtpd
改為
smtp inet n - n - - smtpd -o content_filter$=spamassassin
若原本是在 chroot 模式則要記得保留,否則smtp驗證會失敗。
最後加上
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
/etc/init.d/postfix reload
nano /etc/apt/sources.list
增修
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
apt-get update
apt-get upgrade
freshclam
安裝 Spamassassin:
參考…
http://www.debian.org.tw/index.php/SpamAssassin
http://www.debuntu.org/postfix-and-pamassassin-how-to-filter-spam
apt-get install spamassassin spamc
groupadd -g 5001 spamd
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin
nano /etc/default/spamassassin
增修
ENABLED=1
SAHOME="/var/lib/spamassassin/" OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${S$PIDFILE="${SAHOME}spamd.pid"
nano /etc/spamassassin/local.cf
作適當的修改設定
/etc/init.d/spamassassin restart
nano /etc/postfix/master.cf
smtp inet n - - - - smtpd
改為
smtp inet n - n - - smtpd -o content_filter$=spamassassin
若原本是在 chroot 模式則要記得保留,否則smtp驗證會失敗。
最後加上
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
/etc/init.d/postfix reload
2008年5月14日 星期三
架站學習之路
Debian 安裝筆記
Debian4 安裝
OpenSSH-Server
apt-get install openssh-server
POSTFIX
mail sever
BIND9
dns server
MYSQL
apt-get --purge remove mysql-common mysql-server mysql-client
apt-get install mysql-common mysql-server mysql-client
APACHE+PHP
apt-get --purge remove apache2 php5 libapache2-mod-php5
apt-get install apache2 php5 libapache2-mod-php5 php5-gd php5-mysql
apache 預設語言問題
/etc/apache2# nano httpd.conf
-------------------------------------------------------------------------------
AddDefaultCharset Big5
LanguagePriority tw en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv
-------------------------------------------------------------------------------
PHPMYADMIN
apt-get --purge remove phpmyadmin
apt-get install phpmyadmin
PHPMYADMIN big5亂碼問題
/usr/share/phpmyadmin/libraries# nano select_lang.lib.php
-------------------------------------------------------------------------------
'big5' => 'big5', 更改 'big5' => 'latin1',
'utf-8' => 'utf-8', 更改 'utf-8' => ' latin1',
-------------------------------------------------------------------------------
Joomla
OpenSSH-Server
apt-get install openssh-server
POSTFIX
mail sever
BIND9
dns server
MYSQL
apt-get --purge remove mysql-common mysql-server mysql-client
apt-get install mysql-common mysql-server mysql-client
APACHE+PHP
apt-get --purge remove apache2 php5 libapache2-mod-php5
apt-get install apache2 php5 libapache2-mod-php5 php5-gd php5-mysql
apache 預設語言問題
/etc/apache2# nano httpd.conf
-------------------------------------------------------------------------------
AddDefaultCharset Big5
LanguagePriority tw en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv
-------------------------------------------------------------------------------
PHPMYADMIN
apt-get --purge remove phpmyadmin
apt-get install phpmyadmin
PHPMYADMIN big5亂碼問題
/usr/share/phpmyadmin/libraries# nano select_lang.lib.php
-------------------------------------------------------------------------------
'big5' => 'big5', 更改 'big5' => 'latin1',
'utf-8' => 'utf-8', 更改 'utf-8' => ' latin1',
-------------------------------------------------------------------------------
Joomla
訂閱:
文章 (Atom)
VirtualBox 空間減肥
@windows vm sdelete64 -z c: @macos VBoxManage modifymedium disk "/Users/fellow/VirtualBox VMs/Win10/Win10.vdi" --compact *.vdi...
-
ARis... ARis 是日本一間公司出品的產品,應用了 ARToolKit 技術。 展示影片在這… http://www.youtube.com/watch?v=yCCx7zANsGE YouTube上可以找到更多類似的影片。 這邊是我用 FLARToolK...
-
install… sudo apt-get install bluez sudo hciconfig hci0 up scan… sudo hcitool lescan or scan if no response... sudo bluetoothctl ...
-
由於ASSEMBLA即將開始收費,因此要把所有的SVN進行大搬家,連帶的一些教學文件也跟著搬家了,看來還是GOOGLE的窩最舒適(重點是免費) FPPA實驗平台教學教材-使用C語言 FPPA實驗平台簡介 實驗(一) 8位元LED輸出單元 與 模組設計總論 實驗(二) 按鍵開關輸入...
