2015年12月24日 星期四

MySQL federated 引擎本地資料庫 連接遠端資料庫,MySQL也可以擁有 DBLink 的功能

以前在使用 MS SQL Server 的時候因為可能必須跟別個資料庫進行串接,有可能會利用到 DBLink 來操作 SQL命令 來遠端資料庫,在 MySQL 本身並不具有 DBLink,但幸好也有對應的方法可以使用,也就是 federated 引擎

 

在 MySQL 中針對不同的功能提供了各式儲存引擎,其中 federated 就是一個針對遠程資料庫操作的實現,透過 federated 所創建的資料表只會在 local 建立含有 schema 的空資料表,而 data 來源則是遠端

2015年12月21日 星期一

Unix timestamp 時間格式轉換 - 筆記

timestamp 一般被指為 Unix 時間戳,以 Unix 紀元開始算起 (西元1970年1月1日 00:00:00) 並且通常以秒為單位,在某些系統會採用這種時間格式,在各種語言也都支援這種時間戳格式轉換

 

在一個對岸網站就找到一個蠻詳細說明的 Unix timestamp Converter

 

裡面也包含了許多語言的 Unix timestamp 轉換的方式

PHP timezone = PRC , ROC

最近在操作一台主機在 php.ini 的 timezone 看到設定為 date.timezone = PRC

 

平常我們在設定可能都是使用 Asia/Shanghai , Asia/Taipei 這樣類型的方式

 

基於好奇去抓了 PHP source code 於 ext/date/lib/timezonemap.h 裡面找到 timezone 的代碼

{ "cst", 0, 28800, "Asia/Shanghai" },
{ "cst", 0, 28800, "Asia/Taipei" },
{ "cst", 0, 28800, "Asia/Urumqi" },
{ "cst", 0, 28800, "PRC" },
{ "cst", 0, 28800, "ROC" },

 

沒想到 PHP 內建還替中國大陸特別寫了一個 timezone 縮寫代碼

Orignal From: PHP timezone = PRC , ROC

2015年12月9日 星期三

MySQL 5.6 複寫架構 重複的 Server_UUID

前幾天在實作 MySQL 的複寫架構的時候在 MySQL Slave 啟動的時候出現錯誤訊息

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs;  these UUIDs must be different for replication to work

 

針對上方的訊息得知 UUID 重複於網路內,接下來就一一檢查

MS SQL Server 設定 timeout 逾時時間

最近在一個 MS SQL Server 的案例中遇到了執行 SQL 因為處理大量資料指令,造成執行的時間超過 SQL Server 預設的 timeout 時間

 

在 MSSQL 預設的 timeout 時間是 600秒,如果在必要的狀況下必須修改 timeout 時間可以執行以下

 
USE master 
GO
EXEC sp_configure 'remote query timeout', 6000
GO
RECONFIGURE
GO

6000 即為 timeout 秒數,用 RECONFIGURE 來生效。

 

在一般的狀況下最好的處置是去優化 SQL指令,使其不要執行過長的SQL指令,對於整個系統的效能才會提升,在非必要的狀況下才會採用修改 SQL timeout 時間。

 

Orignal From: MS SQL Server 設定 timeout 逾時時間

2015年12月5日 星期六

MySQL 5.6 單向複寫資料庫實作 (Replication)

在實作 MySQL 的複寫(Replication) 的時候必須注意 MySQL 5.5 之後所使用的設定方式並不相同,必須分清楚這一塊

 

在 MySQL Replication 的實作方式有很多種,這篇是實作 CentOS 6.7 - MySQL 5.6 單向複寫

 

Master:

接收執行指令(SELECT、UPDATE、INSERT ... )


Slave:

僅查詢指令(SELECT)


由 Slave 主動向 Master 取得同步更新資料(由此規則所以 Slave 可以擁有多台,並且非同步複寫,即使中斷連線再恢復也可以回復資料庫同步的狀況。


 

 

資料庫複寫在以往通常使用廣泛用於:資料庫備份、分析

 

本篇範例至少需要兩台資料庫伺服器:

Master 伺服器:192.168.10.10

Slave 伺服器:192.168.10.11

2015年11月30日 星期一

MySQL 執行 bash script 出現 Warning: Using a password on the command line interface can be insecure

之前在寫 MySQL 的時候常常會遇到如果直接用 bash script 下 SQL 指令就會出現提示訊息,雖然無傷大雅,但看得很煩

Warning: Using a password on the command line interface can be insecure

 

在 MYSQL 5.6.6 以前的作法可以在 my.cnf 裡面加上密碼,使其不需要用帳號密碼驗證就可以執行 SQL dump

但這樣的方法並不是很安全

 

在 MySQL 5.6.6 之後加入了 mysql_config_editor 這個工具,這個工具將登入資訊存入 /root/.mylogin.cnf,而 .mylogin.cnf 是被加密的

2015年11月18日 星期三

前端設計師必備工具 檢測網站字型下載、大小、行高 - Fontface Ninja

一個前端設計師一定會常常觀察各式網站所設計的風格,並且研究其字型,通常可以使用瀏覽器的開發者模式去找到一些詳細訊息,但在 Fontface Ninja 這個瀏覽器插件可以讓你更方便的檢視或修改其網站的字型,甚至更可以讓你下載

 

目前 Fontface Ninja 支援 Chrome、Safari 兩大瀏覽器,還待有 Bookmarklet 的功能尚未推出。

 

Fontface Ninja 官方網站

2015年11月16日 星期一

用 Bash script 寫一個隨機密碼產生器

如果你每次都需要產生隨機密碼,其實可以自己用 Bash script 寫一個隨機密碼產生器

 

用到的是在 Linux 所內建的 $RANDOM 來編寫 script

2015年11月13日 星期五

MySQL 將預設資料庫編碼 latin1 改為 UTF8

由於某些系統在一開始建立的時候沒有想清楚,直接下 create database 就建立了,並沒有特別指定資料庫編碼,讓一些中文字元有可能出現亂碼的狀況。

 

本文就是要將已經建立的資料庫修改編碼,但免不了需要停機的狀況,必須注意

Python 2.7 使用 MySQL-Python 串連 MySQL - 練習筆記

最近在練習 Python,希望從一些範例中練習並改進成自己的程式,主要希望可以在系統方面補足一些 bash 做不到或不夠好的地方

 

在此部落格沒有侷限範圍,但此篇使用的是 Python 2.7,因為 MySQL-Python 目前尚未支援 Python 3 以上的版本 (官方有提到即將推出)

 

在此練習的環境是使用 Mac OSX 10.11,也適用於 CentOS 等 Linux 作業系統。

2015年11月11日 星期三

用 Google 提供的 Flush Cache 清除 Google Public DNS Cache

常常在更改 DNS 的時候即時有設定 TTL 時間,但全球 DNS 生效的時間都不太一定,但在 Google Public DNS (8.8.8.8 , 8.8.4.4)就提供了 Flush Cache 的功能開放使用

 

在 Google developers 內建就提供了一個功能可以讓管理者自行輸入網域來清除 Cache 這對系統管理者解決了大部分的使用者 DNS Cache 問題

https://developers.google.com/speed/public-dns/cache?hl=zh-TW

 

ScreenShot 2015-11-11 14.46.08

 

點下 Flush Cache 後,在馬上去查 DNS,大部分的 Google Public DNS 都會重新問 DNS 解析囉!

Orignal From: 用 Google 提供的 Flush Cache 清除 Google Public DNS Cache

2015年11月9日 星期一

ACSII、HEX、URL Encode 對照表

最近常常會用到 ACSII、Hex 和 URL Encode,常常要再去查實在很費工,在此篇筆記一些常用到的網站和對照表

 

線上轉換工具

  • mikezilla:ASCII to HEX to Unicode Converter



  • TextMechanic:ASCII, Hex, Unicode, Base64 Converter/Translator


 

字符對照表

[table id=3 /]

 

Unsafe 字符對照表

[table id=4 /]

 

 

 

 

 

Orignal From: ACSII、HEX、URL Encode 對照表

2015年11月6日 星期五

檢測範圍 Server IP 是否 Ping 回應 - bash script

有時候會需要檢測範圍性的主機是否有在線上,所以寫了一隻簡易的 Ping Server 的 bash script

 

Pingip.sh
#!/bin/bash 
script="Pingip.sh"
network="192.168.0"
ip_start="$1"
ip_end="$2"

# --- start script ---

trap 'stop' SIGUSR1 SIGINT SIGHUP SIGQUIT SIGTERM SIGSTOP

stop() {
echo -e "\nStop ${script} script ...."
exit 0
}

echo -e "\nStart ${script} Scanner Server ...."

for opt in $(seq ${ip_start} ${ip_end})
do
ping -c 1 -W 1 ${network}.${opt} &> /dev/null && result=0 || result=1

if [ "${result}" == 0 ]; then
echo "Server ${network}.${opt} is UP."
else
echo "Server ${network}.${opt} is DOWN."
fi
done

 

script 中加入了 trap 來讓 script 執行中可以 Ctrl + C 取消執行,如果沒有加入 trap 就會持續執行到 script 結束

 

在環境變數中,你必須指定 network 來代表你的網段

 

使用方式:指定你要的範圍 IP 10 ~ 100
$ ./Pingip.sh 10 100 

Start Pingip.sh Scanner Server ....
Server 192.168.0.10 is UP.
Server 192.168.0.11 is UP.
Server 192.168.0.12 is UP.
...
...
Server 192.168.0.10 is DOWN.

 

 

Orignal From: 檢測範圍 Server IP 是否 Ping 回應 - bash script

2015年10月29日 星期四

CentOS 7 root 忘記密碼重設辦法

在 CentOS 7 因為將系統管理的 init 改為 systemd,systemd 預設的 rescue mode 是無法直接取得 root 權限,所以之後就無法在使用 single user mode 的方式切換 root 了

 

在 CentOS 7 還是可以透過 rd.break (RamDisk 作業系統狀態) 來解決

 

在本篇就只用文字敘述了

2015年10月28日 星期三

Solr 全文檢索引擎,簡單擁有搜尋引擎 - Q&A 持續更新中

由於在 SOLR 上遇到許多錯誤的訊息,所以把遇到過的問題整理於這篇

 

 

Q1: SOLR 出現錯誤 Error initializing QueryElevationComponent.

Ans: 這是由於在 elevate 有指定 id = string 值,你可以選擇在 solrconfig.xml 註解掉 /elevate 或是註解掉 elevate.xml 內的內容,elevate 用於啟動 SOLR 時觸發一次。

 

Q2: 在串接 Tomcat 時,為何找不到 solr.war

Ans: SOLR 於 5.0 以後的版本不再支援 Tomcat,詳情可看 https://cwiki.apache.org/confluence/display/solr/Running+Solr+on+Tomcat

 

Q3: 建立 Core 時,出現錯誤 Error CREATEing SolrCore 'name': Unable to create core [name] Caused by name

Ans: 這是由於建立的目錄權限不足,確認 /var/solr/data/name 的權限是足以 solr 寫入。

Orignal From: Solr 全文檢索引擎,簡單擁有搜尋引擎 - Q&A 持續更新中

2015年10月26日 星期一

Chrony 系統校時工具,把過時的 ntpdate 丟掉吧

在 CentOS 7 陸續有許多新的工具出現,汰換舊的工具,此篇要汰換的工具是 ntpdate 這個對於 Server 舉足輕重的角色

 

在過往 CentOS 6 使用 ntpdate 都必須手動設定 cron job 來定時更新,雖然這可以使用自動化佈置來處理,但這對於不適用自動化處置的時候就常常會有遺忘的狀況。

 

所以就出現了取代 ntpdate 的工具 『Chrony』,Chrony 可以同時扮演 NTP Client / Server,Chrony 的安裝工作僅僅只需要安裝後並服務啟動即可!

2015年10月25日 星期日

Solr 全文檢索引擎,簡單擁有搜尋引擎 – Round 2 建立 core 從資料庫匯入

在第一篇將 SOLR 安裝好後,再來就是要建立一個 SOLR core,這樣你才能建立 index、 Query

 

在這一篇將會教學如何建立 SOLR core、並且連結 MySQL 來匯入資料及查詢

Solr 全文檢索引擎,簡單擁有搜尋引擎 - Round 1 安裝

Solr 是一個開源的搜尋引擎平台,2004 年由 CNET Networks 公司為內部專案所建立的一個搜尋功能,2006 年後捐贈至 Apache Lucene 頂級專案內,之後 Lucene 和 Solr 合併,並且發行 SolrCloud 至今。

 

Solr 的特色於 全文檢索、Web 管理介面,分布式搜尋,最重要的是他可以快取蒐集到的資料,減緩資料庫的負擔

 

Solr 官網

本篇安裝的是 Solr 5.3.1 版本,於 CentOS 6.7
Solr 5 以上的版本已經不再支援 Tomcat 了



2015年10月21日 星期三

xip.io 免費的 DNS 內網解析,免架 DNS / WINS 解決內網解析需求

xip.io 是一個公開的 DNS 解析站,是一個由 Sam Stephenson 所提供的免費 DNS 轉址

xip.io 用於提供內網 DNS 解析,許多的套件都利用 xip.io 來做內網解析,如 MAMP

 

如果你的內網沒有 NetBIOS 或是 WINS/DNS 解析的話,使用 xip.io 是很方便的哦

 

官方網站:http://xip.io

GitHub:xip-pdns

2015年10月18日 星期日

Mac / Windows 讓 iPhone 接上 USB 後不再自動出現 iPhoto、iTunes

大家在用 iPhone 的時候,相信很多人都和我一樣有時候只是想要插上 USB 充電,但是卻每每插上都跳出 iPhoto(Mac)、iTunes,一次兩次沒什麼,但如果當你有頻繁插拔的狀況,你就會知道有多擾人了!

 

此篇就是紀錄如何讓 iPhone / iPad 接上電腦時不再出現 iPhoto、iTunes,此方法 Windows / Mac 都適用!

CentOS 6 建立私有 OpenVPN,想要穩定又快速的 VPN 不求人

近年 OpenVPN 頗為流行,尤其是在 Line 跨區載貼圖時期更是廣為人知,以往我在使用 VPN 的時候除了設備上的 site to site 以外就是使用 PPTP 加上 MSCHAP 或 MPPE 來達到加密的功能。

 

OpenVPN 是一個著重於加密型態的 VPN,基於 OpenSSL 的加密形式,可以相容於 Windows、OSX、Linux、Android、iOS 等裝置上,溝通於單一個連接埠,預設為 UDP 1194

 

對於企業來說 OpenVPN 更適用於 site to site 不中斷連接,OpenVPN 的穩定性以及加密都有頗高的水準,因為是採用 OpenSSL 所以可以進行憑證加密通道

 

然而他的跨平台相容性非常高,拿來作為一般使用者使用也是頗穩定,不過缺點是必須在安裝相對應的軟體,如 Tunnelblick (Mac)、OpenVPN (Windows)

 

2015年10月14日 星期三

gettext 輕鬆編譯翻譯語系檔 .mo / .po 自由轉換

在建立一套系統若是要國際化都必須要有各國語系,而這個語系常見使用 .mo / .po 檔案來進行翻譯

 

.po 是原生翻譯檔,可以使用編輯器編譯,而 .mo 就是由 .po 編譯而成的,無法編輯。

 

gettext 這個套件就是用來 .mo / .po 之間進行轉換的工具

2015年10月12日 星期一

MTR - 取代 Ping 和 Tracert 的網路連線檢測工具 - 網管必備

最近在檢測網路連線,剛好找到一個可以持續觀察檢測狀況的套件 MTR,這套在 Windows / Linux 都有可以用的套件,而且集合 Ping 和 Tracert 這兩者工具的統合

 

Windows:WinMTR

 

 

在 CentOS 你可以直接使用
$ yum install mtr

 

Ubuntu
$ sudo apt-get install mtr-tiny

2015年10月4日 星期日

WebERP 安裝 CentOS 6.7 + Nginx,中小企業愛用的 OpenSource ERP

在台灣很夯的一款 OpenSource ERP 系統莫過於 WebERP,WebERP 適用於中小企業使用,功能上算是很齊全,但 ERP 這種東西牽涉範圍太廣,若是必須完善還是必須客製一些東西。

 

WebERP 官方網站

 

Web ERP 的安裝算是簡單,本篇使用 CentOS 6.7 + Nginx 來安裝

2015年9月30日 星期三

驗證對外 IP 不求人,架設自己的 myip 網站

一個系統工程師常常會需要用到 myip 來驗證自己的對外IP,這個動作平常不用,但有需要的時候就會變得很頻繁使用

 

但是常常遇到常用的 myip 網站無法使用或者是在沒有外網的環境下使用,這時候不如就自己架一個 myip 網站

 

myip 實際上的運用很廣,又非常簡單,只要使用 php + curl 就可以達到 Server / Client 的功能!

2015年9月23日 星期三

Dropbox API 用 bash 也可以上傳下載 Dropbox

最近在備份一些資料的時候,把腦筋動到 Dropbox 上面去,想要把一些比較一般的資料搬上去,在備份跟上傳 Dropbox 的部分,希望一氣呵成搞定他!

 

終於在 GitHub 上找到一個 Dropbox Uploader 的專案。

Mac 修改預設的 vim 參數,讓寫code也能有好心情

在 Mac 預設的 vim 編輯是沒有顏色辨識的,由於我是一個 vim 愛好者,實在不喜歡純色調的黑白色,所以必須為 vim 加入一些慣用的參數

 

使用的環境是 OS X Yosemite 10.10.3

2015年9月21日 星期一

Kali 2.0 安裝啟動失敗 Trying to boot from SATA drive...

前幾天看到 Kali 出了 2.0 版本,整個 UI 都改了還蠻炫的,還和 Windows / Mac 一樣多了虛擬桌面,趕緊安裝來試玩看看

 

沒想到一裝好後開機就出現錯誤
SCSI controller is not installed. 
Network bootrom is installed.
Trying to boot from SATA drive...

看起來是在 SATA drive 找不到 boot 資訊

Sublime Text 3 關閉自動更新 build 3074

這篇其實有點是個人筆記的懶文,因為 Sublime Text 預設會一直去檢查更新,我不喜歡更新,我只喜歡穩定可用的東西!

 

因為 Sublime Text 預設的 Preferences 設定不是 GUI 介面,而是以設定檔的形式出現,免得腦容量不足,所以紀錄在這

2015年9月16日 星期三

php 短標籤縮寫 short_open_tag

今天在執行任務的時候一位 RD 的 php 程式沒辦法正常顯示,由於得知狀況是某些 php 無法正常執行。

 

後來確認問題的狀況都發生在 <? --- ?> 之間的程式碼,另一位有經驗的 RD 立馬發覺應該是有使用到 php 縮寫

 

在 php.ini 有一項設定可以使用短標籤縮寫

 
$ vim /etc/php.ini 

short_open_tag = On

 

如果你是安裝 php-fpm 記得重啟
$ service php-fpm restart

 

Orignal From: php 短標籤縮寫 short_open_tag

2015年9月10日 星期四

Windows 10 關閉自動更新 - KB3073930

在以往 Windows 都有可以關閉自動更新的選項,這回在 Windows 10 上面微軟竟然強制 Windows 10 自動更新,只有在專業版或企業版才可以選擇 "延遲更新"

 

由於微軟的強制更新造成開發人員強烈的反彈,因為許多新的驅動程式導致多螢幕失效、當機等,所以微軟妥協出了一個「Show or hide updates」工具可以選擇是否要更新,或是隱藏更新通知

 

Show or hide updates

Git 用 archive 和 checkout 匯出原始碼,並用 export-ignore 排除指定檔案

Git 本身的 Git repository 裸庫所儲存的是打包過的原始碼,並不能拿來當作 Web 使用

 

Git 有幾種方式可以將打包過的程式匯出成原始碼,來讓 WebServer 可以即時同步 Git 的程式碼內容

 

 

以下的實作都是在 Git repository 下動作。

Git 目錄:/home/git

專案目錄:/home/git/system

2015年9月9日 星期三

Windows 10 安裝 Parallels Tools 一直重新開機問題 - Parallels Desktop 10

最近在 Mac 上的 Parallels Desktop 10 安裝了 Windows 10 來玩看看,安裝完後 Parallels Tools 卻一直重複的重新開機 & 安裝 Parallels Tools 一直循環

在其他同事的 Mac 也是一樣問題,幸好在 Parallels Forums 找到了一篇相同的問題,並且有了官方回應。

Windows 10 Preview 2 - Parallels Tools installs on every restart

 

官方的解決方式是將 Parallels Tools 自動更新關閉

2015年9月7日 星期一

Redmine 2.6 替甘特圖(gatt chart)的每週加上每月的每一天,並修改預設顯示視角

在 Redmine 的甘特圖(gatt chart)預設是 年 / 年週 來顯示

ScreenShot 2015-09-07 00.21.24

 

由於業務需求,希望客制加上 月/日 的每一天來方便觀看,並且 Redmine 預設的甘特圖視角太大了,希望每次預設顯示為 "一個月"

 

一樣此篇適用於 Redmine 2.6 版本

Redmine 2.6 修改預設的篩選條件為 "任意一個"

由於公司需求,開始針對 Redmine 進行一些客製化的處理,我只是一個小小的系統工程師,每一個客制項目都必須花一些功夫來了解 Redmine

 

由於處理的方式是由 Source code 進行修改,所以版本不同可能有些許差異。

 

在 Redmine 的預設篩選條件是 "進行中",但需求者希望每次進入時可以看到全部的問題清單,所以預設進入必須改為 "任意一個"

 

此篇修改適用於 Redmine 2.6

2015年9月4日 星期五

Mac OSX 的套件管理工具 - Homebrew 安裝

雖然 Mac 是一套 unix 系統,但身為 Linux 的工程人員,在 Mac command 在執行時常常少了很多 Linux 擁有的基本指令例如 wget .. 等

 

Homebrew 就類似 Linux 上面的 yum、apt-get,是以 Git 和 Ruby 為底的套件管理工具

 

 

Homebrew install on Mac OSX Yosemite 10.10.3

2015年9月2日 星期三

CentOS 6 - Redmine 2.6 一套專業的專案管理流程系統

目前的公司有專案管理流程、甘特圖的需求,搜尋許多都沒辦法符合需求,最後想到前公司使用的是 redmine 當作專案管理系統,可以清楚的紀錄每項工作專案的執行作業,也可以讓老闆知道其實我們的工作量很大啦

 

 

Redmine 是一套基於 GPL 授權的系統,底層架構為 Ruby on Rails,小弟在安裝的過程中不是很順利,履遇狀況,在官網的 Document 寫的也很籠統,並沒有一個完整的文件內容,在網路上的爬文中也是頻頻出現問題,最後在東湊一湊下整理出這一篇 Redmine 2.6 的安裝文章

 

由於 Redmine 每一個子版或大版本更新,安裝的方式都有些許差異,可能會很容易遇到套件缺少或設定少東少西的,所以這篇是以 CentOS 6 minimal 為基底進行安裝,安裝 Redmine 2.6 版本,並且整合 Nginx 當作 Web Proxy。

PHP - 上傳檔案失敗『File upload error - unable to create a temporary file in Unknown』

今天在某一台機器要上傳檔案的時候,上傳檔案失敗,在 Nginx Log 內顯示訊息『File upload error - unable to create a temporary file in Unknown』

 

這項錯誤小弟一直執著在 upload 上傳的權限是否有問題,或是 php.ini 的 upload 限制,卻沒有去檢查其他項目

 

花了半小時才找到問題的原因出於 php.ini 中的 upload_tmp_dir

 

在預設 php.ini 這個項目是註解的,default = /tmp

預設在 Linux 是會有 /tmp 目錄的,但在不知為何的狀況下這台機器沒有 /tmp,造成上傳失敗。

 

建立好 /tmp 後,上傳成功。

Orignal From: PHP - 上傳檔案失敗『File upload error - unable to create a temporary file in Unknown』

2015年8月31日 星期一

MP3 解決歌手、專輯名稱 Tag 亂碼問題

這幾天在轉檔 Subsonic 的時候,mp3 的歌手、專輯(Tag) 在 Linux 上總是亂碼,沒想到在 MP3 的標籤也有編碼上的問題

 

後來找到了一套 MP3TAG 這套軟體,可以專門針對 mp3 的標籤、封面等詳細進行編輯,並且最重要的是可以批次轉換編碼

 

MP3TAG 支援 Windows / Mac,並且預設轉出的 Tag 編碼就是 UTF-16,幾乎支援所有平台,推薦給大家

 

MP3TAG 官網

MP3TAG for MAC OSX

Gitblit - 替 Git 安裝一個 Web 管理介面吧 CentOS

由於公司有建立 Git 版本控管,在 RD 的建議下希望使用 Gitblit 這套當作 Web 控制,所以就有了這一篇的誕生

 

Gitblit 在 Web 是擁有新增專案權限的,所以在使用者權限的控管是必要的,這套內建有支援簡體中文,但還是看英文比較好懂啦!

 

Gitblit 是一個基於 Java 的平台,支援 Linux / Windows Server 並且開放原始碼

Gitblit 官網

CentOS 6 - Subsonic 建立一個屬於你的線上音樂台

常常想要聽個音樂放鬆一下,卻常常苦無沒有一個適合的線上音樂台可以收聽,或是不符合自己的想要的音樂

 

Subsonic 是一個基於 Java 的線上音樂平台,並且開放原始碼

可以讓你擁有自己的線上音樂台,更可以分享給身邊的親朋好友,可以共享音樂、各自擁有歌單

 

Subsonic 的介面風格簡易,並且提供大量的 Theme 可以更換,值得一提的是有各式 App、Desktop 程式支援,讓我隨時隨地可以收聽自己的音樂。

2015年8月24日 星期一

OpenSSL Key 私鑰加密 & 取消加密 - 筆記

最近拿到一張 Domain SSL Key 是有加密保護的,由於這個 Key 是個人用途,為了避免每次重新啟動都必須輸入密碼,所以決定取消保護密碼

 

可以透過 openssl 來進行加密 & 取消加密的動作

 

 

將私密金鑰進行加密

將無加密的金鑰 (private.key) 輸出為有加密的金鑰 (privatepass.key),使用 des3 加密方式。
$ openssl rsa -des3 -in private.key -out privatepass.key

 

將私密金鑰取消加密
$ openssl rsa -in privatepass.key -out private_unsecure.key

將已加密的私密金鑰輸出另一份私密金鑰,不加入加密參數就是無加密的金鑰。

 

Orignal From: OpenSSL Key 私鑰加密 & 取消加密 - 筆記

2015年3月31日 星期二

Nginx 錯誤訊息 Access to the script has been denied (see security.limit_extensions)

這幾天在嘗試轉換幾個站台到 Nginx 在 Log 看到以下錯誤,紀錄於此

Access to the script has been denied (see security.limit_extensions)

 

這是由於 php-fpm 預設安裝在 security.limit_extensions 是僅有支援 .php 的

 

若是你的 Web site 有執行 .htm .html .pl 等等的副檔名就會被擋下來

若要允許使用可以編輯 php-fpm 設定檔

用 Nginx 取代 Apache 吧 - ownCloud 實務操作

繼上篇 用 Nginx 來安裝 WordPress 把 WordPress 由 Apache 改裝成 Nginx 之後,接下來也要把現有的 Owncloud 改成 Nginx 來跑

 

在本篇不包含 Owncloud 的安裝細項,僅將原本的 Apache 改為 Nginx 來 run

安裝可參考: CentOS6.5 建立自己的私有雲 OwnCloud 6.0 前言與安裝

 

實作的環境是採用 CentOS 6 + ownCloud 6,請記得不要將 ownCloud 升級至 8 ,因為 ownCloud 8 必須採用 php 5.4 later,而 CentOS 6 最高只有 php 5.3 !!

 

本篇範例中會實作 Nginx 以下

  1. SSL

  2. return 轉址 http to https


2015年3月30日 星期一

Nginx 錯誤訊息 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,

在建立 Nginx 的時候,發生以下訊息

【 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 】

 

訊息中提示 FastCGI 找不到主要 script

 

在 Nginx 安裝好時候,預設在 default.conf 內所設定的路徑是以下
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

用 Nginx 來安裝 WordPress - 改用 LNMP 取代 Apache 吧

自從學習 Linux 以來都是使用 Apache 來當 Web Server,Apache 確實非常的方便,也很容易上手運用廣泛

由於新工作採用 Nginx 來部屬大訪問量,以及常常在書籍中看到 Nginx 這款輕量級 Web 的種種好處,花了一些時間研究了 Nginx

在 Linux,Nginx採用異步處理 I/O 的 epoll / Kqueue 在處理大量訪問的時候,Nginx 耗費的資源少而且處理速度快!

而 Apache 適合在處理系統,使用的是 select 機制,屬於比較舊型的處理方式,基於底層目前 Apache 還未針對這個方向做改進

Nginx 還有一個好處就是,大家通常都會拿它來當 Reverse Proxy Server ,簡直就是碰到就蹦得出來的快

目前 Apache 可以佔有的優勢就是用的人多,文件多; 其他 Nginx 還是大勝許多。

在這裡拿 wordpress 當範例,因為他是標準 LNMP 的架構,也適合在多數環境中使用

此篇主要會是將原有的 LAMP 的架構改為 LNMP 為主

詳細的 WordPress 設定可以參考另一篇 WordPress 部落格 架設

2015年3月23日 星期一

CentOS 6.5 資產管理系統 OCSNG + GLPI 整合安裝 三部曲

在前面兩篇安裝好 OCSNG 跟 GLPI 後,再來要將這兩套系統做整合,讓 GLPI 可以使用 OCSNG 所收集到的資料

 

 

step1. 首先你必須確認 OCSNG 有開啟 GLPI 支援

要開啟 GLPI 支援必須開啟 TRACE_DELETED2015-03-22_021111

 

step2. GLPI 下載支援 OCSNG 的 plugin

http://plugins.glpi-project.org/spip.php?article154

CentOS 6.5 資產管理系統 GLPI 安裝 貳部曲

承上篇 CentOS 6.5 資產管理系統 OCSNG 安裝,這篇要進行安裝 GLPI

 

首先先了解一下系統需求

- PHP5.3 or later with the support of the sessions ;
- an access to a MySQL (>4.1.2) database.

 

安裝 GLPI

 

step1. 下載 GLPI

http://www.glpi-project.org/?article41&lang=en

 

step2. 解壓縮並且放到適當的位置
$ tar zxvf glpi-0.85.2.tar.gz 
$ mv glpi /home/

 

step3. 加入 apache 設定
$ vim /etc/httpd/conf.d/glpi.conf 

Alias /glpi /home/glpi

<Directory /home/glpi>
Order deny,allow
Allow from all
Options Indexes FollowSymLinks
DirectoryIndex index.php
</Directory>

$ serivce httpd restart

 

step4. 進入 Web 設定

http://servername/glpi

2015-03-23_030756

嗯~身在台灣還是選一下繁體中文支持一下。

 

step5. 看一下授權聲明

2015-03-23_030850

 

step6. 選擇 install option

這邊可以選擇安裝 / 升級,可見 GLPI 對版本升級也很友善,這邊當然是選安裝進行。

2015-03-23_030931

 

step7. 一連串的檢測環境

2015-03-23_031141

 

 

step8. 資料庫連接

你可以選擇用 root 創建,或是給予已建立好的 user

2015-03-23_031443

 

step9. 資料庫選項

如 step8 我給予 user,並且授予 database glpi 權限,所以在這邊可以選擇現有的 glpi 資料庫亦或是建立另一組資料庫。

2015-03-23_031547

 

初始化資料庫

2015-03-23_031757

 

 

step10. setup finish !!

安裝完成,並且會替你建立四種權限的使用者。

2015-03-23_031844

 

 

step11. 初試 GLPI 登入

用 glpi / glpi 登入後,可看到 GLPI 介面

2015-03-23_032015

 

這邊一樣也有一些資安項目要先改,例如刪除 install.php、更改預設管理員密碼等,這就不贅述。

 

 

資產管理系統篇

首部曲: OCSNG 安裝

貳部曲: GLPI 安裝

Orignal From: CentOS 6.5 資產管理系統 GLPI 安裝 貳部曲

2015年3月22日 星期日

CentOS 6.5 資產管理系統 OCSNG 安裝

最近想找一款資產管理系統來整理公司的資產,在不使用太多資源的情況下還是以開源軟體為主,在 Linux 上可以採用 GLPI + OCSNG 來建置

 

首先先了解 GLPI 跟 OCSNG 這兩套的用途,以及為何要整合的理由

 

其實 GLPI + OCSNG 就像是 Nagios + Cacti 有相輔相成的功效

 

GLPI 是一套較多數台灣人使用的資產管理系統,其原因是他有完整的中文化界面,以及詳細的管理介面,但無法主動收集到 Client 的 PC 資料。

而 OCSNG 就是彌補 GLPI 無法收集使用者端資料的缺憾,OCSNG 可以透過 OCSNG agent 將資料主動拋給 OCSNG Server

 

而 OCSNG & GLPI 互相也有 Plugin Module 可以將 OCSNG 所收集的資料交給 GLPI 去統整

 

簡單的介紹大概對 OCSNG 跟 GLPI 也有相當程度的了解,這樣在設定上也會比較有邏輯上的概念

2015年3月14日 星期六

快速分析 Apache 的 access log,抓出前十大網站流量兇手

說到 Log 分析大家都會先想到用 AWStats 來分析,沒錯這絕對是一個最好的解決方式,但如果你只是要簡單的分析一些資訊,就可以利用一些簡單的 shell 組合來撈出你要的資料

 

這篇主要是針對 Apache 的 access log 來進行分析,並提供以下範例給大家參考

 

取得前十名 access 最多的 IP 位址
cat access_log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10

2015年3月8日 星期日

MSSQL 2008 錯誤訊息 14420、14421 Logshipping 備份還原超時

最近某一台 DB Server 在事件檢視器出現一連串的錯誤訊息,是由 MSSQL 吐出來的 error code 分別是 14420、14421

 

錯誤: 14420,高的嚴重性等級: 16,狀態: 1
記錄傳送主要資料庫 %s.%s 有 %d 分鐘備份臨界值時,無法執行 %d 分鐘備份記錄作業。檢查代理程式記錄檔和 logshipping 監視器資訊。

錯誤: 14421,高的嚴重性等級: 16,狀態: 1
記錄傳送次要資料庫 %s.%s 有 %d 分鐘還原臨界值,並不同步。%D 分鐘執行,沒有還原。已還原的延遲時間是 %d 分鐘。檢查代理程式記錄檔和 logshipping 監視器資訊。

 

小弟已經習以為常的判斷微軟的怪怪錯誤訊息,從訊息看到有主要資料庫備份、次要資料庫還原,才想到這台有做 Log shipping。

 

回想之前在進行 Log shipping 設定的時候,其中 Log shipping 有提供警示的功能來判斷是否 Log shipping 有正常在運作

經查發現 Log shipping 運作正常,也有還原成功,但那為什麼還是會有警示訊息呢!?

2015年3月7日 星期六

Roundcube 整合 LDAP Addressbook 通訊錄,增加 LINE、Wechat schema

由上次已經有發表一篇 CentOS 6.5 安裝 Roundcube WebMail ,最近開始有時間在著墨在這一塊,並且將 LDAP 也加入整合

 

首先了解 Roundcube Addressbook 支援的類型有 LDAP、SQL、CardDAV

 

此篇主要記錄的是將 Roundcube 加入 LDAP Addressbook

 

 

準備

1. LDAP Server (這邊使用 OpenLDAP)

2. LDAP search user

3. 對 ldap 要有相當理解程度

2015年3月6日 星期五

MSSQL 2008 使用者群組或角色在 Database 的目前資料庫中已經存在

這個問題是在今天要還原一個新的資料庫的過程中,建立 Login & User 對應的時候出現的問題

使用者、群組或角色 'DB_USER' 在目前的資料庫中已經存在。

 

在實際要還原的資料庫名稱 DB 內並無 DB_USER 的任何資料,所以不會有已存在 USER 的狀況

 

在 MSSQL 遇上這樣類似的狀況的時候,我都會習慣用 TSQL 一步一步執行來將問題點切割開來看

在 SSMS 建立 User Login 的這段其實就是在執行以下指令
USE [master] 
GO
CREATE LOGIN [DB_USER] WITH PASSWORD=N'密碼', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [DB]
GO
CREATE USER [DB_USER] FOR LOGIN [DB_USER]
GO
USE [DB]
GO
ALTER USER [DB_USER] WITH DEFAULT_SCHEMA=[dbo]
GO

2015年2月24日 星期二

WordPress 惡意程式 SoakSoak 檢測

SoakSoak 是一個在 WordPress Plug 市場流竄的惡意程式,透過被改寫的 RevSlider 來感染你的 WordPress 核心檔案
wp-includes/js/swfobject.js 
wp-includes/template-loader.php

 

作者在文中提到,並不是沒有使用 RevSlider 的就可以放鬆,若是在同一個網路環境有其中一台中了 SoakSoak,他將會感染你整個網路環境。

Linux oom-killer kernel: Out of Memory: Killed 問題處理 & 手動增加動態 swap

由於今天開工第一天就遇到客戶的 CentOS Server 常常死機的狀況,Linux 在正常狀況應該是可以很穩的使用

 

在查看 /var/log/message 後,發現在死機前常有 Out of Memory 的問題發生,導致 kernel killed 了一些 process

 

OOM-killer (Out of Memory-killer)

顧名思義就是記憶體不足導致系統自動 Killer 一些程序,OOM-killer 存在於 Linux 較新的核心版本(2.6),比較麻煩的是造成死機的原因通常是因為 OOM-killer 殺掉了一些必要的執行程序,因為 oom-killer 僅考慮 lowmemory,即使物理記憶體還有許多 free/cache/buffer,只要 swap 不足就開始 oom-killer。

2015年2月10日 星期二

ownCloud 刪除無效的檔案連結 Sabre_DAV_Exception_NotFound

owncloud 在用了一陣子後,其實真的是算蠻好用的,除了 iOS 的 owncloud 要收費以外要媲美目前所有的雲端硬碟是沒問題的

 

但在這段使用期間遇到了一個問題,在上傳檔案的時候,因為網路中斷導致檔案上傳不完整,結果小弟天真的直接去 Server 上把檔案刪除了

結果 owncloud 上面的 file list 連結失效,每每在 sync 的時候都會出現 sync 錯誤

 

錯誤訊息

Fatal webdav Sabre_DAV_Exception_NotFound: File with name Testfile could not be located

 

使用網頁來檢測一下 webdav

https://ServerName/remote.php/webdav
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> 
<s:exception>Sabre_DAV_Exception_NotFound</s:exception>
<s:message>
File with name Testfile could not be located
</s:message>
<s:sabredav-version>1.7.6</s:sabredav-version>
</d:error>

 

 

這是由於 webdav 在取得 file list 的時候其中 Testfile 找不到檔案,這下糗了卡了一個無效連結,這跟一般 AP 系統直接砍掉 Content 一樣遭

一般 file link 都會藏在 DB 裡面存檔,在 owncloud 翻箱倒櫃後找到一個 oc_filecache 資料表

 

在 filecache 裡面都是放一些 file cache 的名稱,很可疑

然後在 ownCloud 論壇找到一篇也是相同問題的文章 Sabre_DAV_Exception_NotFound

 

討論了兩頁,在最後的結論竟然是砍掉 oc_filecache 裡面的資料讓他重新抓就 OK 了

DELETE FROM oc_filecache;

 

打完收工!

 

 

 

註*

WebDav 是 Windows 俗稱的網路磁碟機,在 owncloud 也可以支援此功能,代表你可以不需要安裝 owncloud client,透過網路磁碟機來連到 owncloud file

Orignal From: ownCloud 刪除無效的檔案連結 Sabre_DAV_Exception_NotFound

2015年2月7日 星期六

Windows Schannel 已產生以下的嚴重警示:10,內部錯誤狀態為 1203

今天在檢查某一台 Windows Server 的 event Log 看到有大量的錯誤訊息

 

事件 36888,Schannel

【已產生以下的嚴重警示:10,內部錯誤狀態為 1203】

 

看起來很嚴重的樣子,馬上查詢一下這個錯誤訊息到底在搞什麼鬼

2015年2月5日 星期四

Linux 重大漏洞 GHOST-Glibc CVE-2015-0235

每次只要又爆發重大漏洞鬧得沸沸騰騰,我們技術部門又要出動去東補補西補補,這次發生的是被稱為 GHOST (GetHOST) 位於 glibc liberary 中的漏洞

 

這次是由 Qualys漏洞實驗室在 glibc 的 __nss_hostname_digits_dots() 發現的 緩衝區溢位漏洞

 

glibc 是被廣泛使用的 C語言函式庫,重要的是他是 Linux OS 的重要元件。

由於這又是一個可以取得 root 權限的漏洞,而且影響範圍之大,最重要的一點就是在 2013年3月以前安裝的 OS版本都還是有 GHOST 漏洞!

 

有被警告的 Linux OS 版本

RHEL (Red Hat Enterprise Linux) version 5.x, 6.x and 7.x
CentOS Linux version 5.x, 6.x & 7.x
Ubuntu Linux version 10.04, 12.04 LTS
Debian Linux version 7.x
Linux Mint version 13.0
Fedora Linux version 19 or older
SUSE Linux Enterprise 11 and older (also OpenSuse Linux 11 or older versions).
SUSE Linux Enterprise Software Development Kit 11 SP3
SUSE Linux Enterprise Server 11 SP3 for VMware
SUSE Linux Enterprise Server 11 SP3
SUSE Linux Enterprise Server 11 SP2 LTSS
SUSE Linux Enterprise Server 11 SP1 LTSS
SUSE Linux Enterprise Server 10 SP4 LTSS
SUSE Linux Enterprise Desktop 11 SP3
Arch Linux glibc version <= 2.18-1

2015年2月4日 星期三

IIS7 匯入 SSL 憑證錯誤【指定的登入工作階段不存在。】

今天在匯入一家內網客戶的 SSL 網域憑證到 IIS 7 的時候出現錯誤

 

在進行繫結 443 要選憑證完後出現以下錯誤【指定的登入工作階段不存在。】

2015-02-04_143142

 

從 Windows 非常令人困擾的錯誤訊息中找不到任何的頭緒 ( 你說這種訊息誰看得懂問題在哪?

2015年2月3日 星期二

批次刪除空白資料夾-Batch script

今天在用 FreeFilesync 同步檔案發現在過濾選項中沒有過濾空白資料夾的選項,雖然是無傷大雅,但如果是你必須確保複製的是有資料的目錄,這點就很重要

 

在這時候小弟就建立一支 script 來清除所有空白的資料夾

delrmpty.bat
for /f "usebackq" %%d in (`"dir D:\Empty /ad/b/s | sort /R"`) do rd "%%d"

 

dir D:\Empty /ad/b/s | sort /R 代表列出 D:\Empty 所有目錄結構

usebackq 會將 (`"dir D:\Empty /ad/b/s | sort /R"`) 設為變數給 for 迴圈

最後交由 rd 處理,因為 rd 無法刪除擁有內容的資料夾,所以僅會刪除空白資料夾

 

 

Orignal From: 批次刪除空白資料夾-Batch script

2015年1月30日 星期五

Windows RDP 遠端桌面 無法複製貼上(剪貼簿)

我想有常用 RDP 工具的人應該常會遇到 RDP 工具無法複製貼上,明明已經開啟分享剪貼簿了為什麼無法複製貼上

這個問題雖然是小小困擾,但長久以來小弟覺得很煩,大概煩了我有一個月吧 XDD

 

從廣大Google網友看到都是 rdpclip.exe 當掉,結束工作再重新啟動就好

沒錯,這個觀念適用於所有 Windows 系統,但其中還有一些小技巧

Windows 2012 R2 剔除遠端桌面閒置的使用者

之前有轉貼一篇 結束閒置的RDP使用者 事過境遷,轉眼間已經來到 Windows 2012 R2 了,相對設定方式也有不同

 

在這篇就不囉嗦來源了。

 

此篇針對 Windows 2012 R2 來紀錄設定方式

2015年1月25日 星期日

ESXi 5.5 無法匯入 OVF 檔『Failed to deploy OVF package: The task was canceled by a user』

這兩天在進行 V2V 的工作,由原本的 ESXi 轉到另一台 ESXi,在執行過程中匯入 OVF 的時候出現錯誤 『Failed to deploy OVF package: The task was canceled by a user』

 

當下心想毀了,平時備份明明都是 complete 怎麼會無法匯入!?

 

從 vmware 討論區中找到一篇相似問題的討論串,從中發現正好符合我的狀況

 

原來是因為在匯出 OVF 時,在 CD/DVD drive 中使用 ISO 掛載導致 import error (但為何不能使用 ISO 掛載並未說明)

2015年1月21日 星期三

使用 Aircrack-ng 暴力破解 WPA/WPA2 加密 wifi 密碼

前言:

最近上映的黑帽駭客的發想來自於 2010 年的 stuxnet 在普遍還未有資安概念的時代裡,這隻 stuxnet 蠕蟲入侵了從軟體到硬體,並且為指向性攻擊,使得不易讓人發現

在大家都自以為是科技在都還在自己可以掌握的時候,出現了 stuxnet 其結構複雜到在當時以無法控制的地步,甚至造成核威脅

Ralph Langner: 破解21世紀的網路武器—-Stuxnet

這影片由 Ralph Langner 與其團隊在一個節目上發表在對抗 Stuxnet 時的演講,其讓我驚訝的程度遠遠超過想像。

2015年1月19日 星期一

Fiddler proxy 側錄手機封包 iOS

Fiddler 一直是 IT 必備的工具,不管是側錄還是驗證都非常好用,在這篇是紀錄使用 Fidder 去抓取手機上的HTTP / HTTPS 封包

 

Fiddler 的用途其實很廣泛,有人拿來當 hacker 工具,更有人拿來當 app 刷排名的工具 (修改Request、Response)

 

此次是因為 App 開發在使用上有問題,必須透過 Fiddler 將過程都側錄下來

 

此次測試的設備有 NB*1、iPhone*1

目的: 由 iPhone 上執行 App 通過 NB 上安裝的 Fiddler 進行側錄

環境: NB & Mobile 必須在同一個網路環境有辦法 routing

2015年1月14日 星期三

Ubuntu 14.04 關閉「系統錯誤報告」提示

雖然說會提示系統出現問題是好事,但有些東西並不是那麼重要亦或是可以耽擱一下在處理,但每次都要按那個視窗實在是很困擾

 

基於個人方便還是希望關閉,有空再去看
$ vim /etc/default/apport 

enabled=0

 

搞定!

記得定時還是要去 dmesg & syslog 查看目前 Ubuntu 的健康狀態囉。

Orignal From: Ubuntu 14.04 關閉「系統錯誤報告」提示

2015年1月13日 星期二

Ubuntu 14.04 Nvidia顯示卡 無法進入登出畫面 & 解析度跑掉

好幾天筆電都沒有關機了,今天心血來潮想把筆電重開機一下,竟然發生無法進入登入畫面的狀況,有時可以登入,但整個版面都跑掉

 

趕緊想想這幾天有做了哪些事情

嗯... 實在太多了,因為小弟整天在搞一些 LAB

 

好了,用 Ubuntu 的 root 救援模式趕緊看一下 log 有什麼錯誤

 

從 syslog 在開機的時候找到一筆 error
nvidia: module verification failed: signature and/or  required key missing - tainting kernel 

Ubuntu 14.04 安裝 Theme 遭遇 gtk-widgets.css 錯誤

此篇是由於某天看到 Ubuntu 的 macbuntu theme 整個很炫,心一橫裝了下去

 

快樂的用了幾天體驗一下之後,在今天不知道異動到了哪個東西

在開機的時候一直遭遇 system error

 

從 syslog 看到以下錯誤訊息
Gtk-WARNING: Theme parsing error: gtk-widgets.css:994:1: '/*' in comment block 
Gtk-WARNING: Theme parsing error: gtk-widgets.css:2055:42: 'from' is not a valid property name

2015年1月11日 星期日

Ubuntu 14.04 使用 wine 支援 Windows 程式- Line

隨著 Linux 桌面版的崛起,開始小弟也慢慢想要拋棄 Windows desktop 開始學習全 Linux desktop 的操作介面

 

使用目前最親民的 Ubuntu 來使用,由於一些 Windows 上的程式還是必要使用,但在支援上還沒有 Linux

所幸還有 wine 這個套件可以使用

 

在使用 wine 的時候請必要查看 wine官網 來了解你目前要安裝的程式是否可以 support

Ubuntu 14.04 建立桌面捷徑

Ubuntu 之前在建立桌面捷徑直接把應用程式拉到桌面就可以,但從 Ubuntu 14.04 之後再使用這種方式會出現錯誤

_003

 

Ubuntu 14.04 解決滑鼠不停閃爍、不明顯示器

最近在用筆電安裝 Ubuntu 14.04 滑鼠就不停的閃,在另一台桌機沒有這樣的狀況

 

常常找不到滑鼠,又閃個不停

 

之後找到問題是因為顯示器的問題造成的

 

到「系統設定值」→「顯示器」→找到有一個「不明顯示器」,把這個不明顯示器關閉→套用

顯示器_001

 

 

就可以發現滑鼠不再閃爍囉!

Orignal From: Ubuntu 14.04 解決滑鼠不停閃爍、不明顯示器

2015年1月8日 星期四

CentOS 6.5 Log文件刪除後,無法釋放空間及無法自動建立log

今天某一台 Server 發出空間不足的警告訊息,查看是 maillog 太肥了,所以把 maillog 刪掉,然後 postfix 重啟

 

重啟後發現 maillog 沒有自動建立,並且空間無釋放出來

查詢後發現原來是我誤會了,maillog 是由 rsyslogd 來管理的