硬碟的格式變成 RAW

收到一顆志工送過來外接 WD USB 3T 硬碟,表示無法讀取硬碟中的檔案

症狀是開機後接上硬碟之後會出現如下圖的錯誤訊息

透過檔案總管要存取時會出現下面的錯誤訊息
[@more@]使用 系統管理工具 / 電腦管理 的 磁碟管理會看到類似的畫面
硬碟的格式由 NTFS 變成 RAW 格式

根據這個問題狀況,在網路搜尋了一下,發現好像很多人都有類似的狀況發生,也各自提出不同的解決方式:
1. 有使用 testdisk 的 RAW硬碟格式轉為NTFS或FAT32 | MokaNote

2. 很急 硬碟格式從NTFS變成RAW要如何救? (第1頁) – 硬碟 – Mobile01
3. [好用軟體]拯救變成RAW格式的硬碟資料 @ 鼻涕男孩電腦學習日誌 :: 痞客邦 PIXNET ::  
   使用 EasyRecovery Pro 拯救變成 RAW 格式的硬碟資料 « Jamyy’s Weblog

4. 硬碟格式跑掉:變成raw格式的資料救援方法。

不知道是自己的能力有問題,還是這顆硬碟真得有問題,經測試很多次依然失敗,後來想起一個自己在製作及測試多功能安裝作業系統及維護工具使用到的工具 – DiskGenius,似乎可以複製出 Windows 檔案總管無法讀取的硬碟資料
底下是解決的方式:
1. 開啟 DiskGenius(以系統管理員身份執行),並選擇有問題,無法讀取的那一顆硬碟,其中讀不到的硬碟是 E,要用來存放資料的是 M

2. 選擇 瀏覽檔案 頁面,這時候應該可以看到硬碟裡面的所有資料了,再來非常簡單,只要選擇想要救回來的目錄及檔案,把它們複製到別的地方即可

3. 在要還原的目錄及檔案上按滑鼠右鍵,會出現一個快顯功能表,可以選擇要複製到什麼地方   

4. 這裡以桌面為例,最後按 確定 即可

5. 檔案複製中

6. 檔案複製完成,最後按 完成 即可

DiskGenius 是一套大陸出的磁碟分割和資料恢復軟體,功能非常強大,有分專業版和免費版,目前最新版本是 4.4.0 版,有 DOS / Windows 版本,也有 x86 / x64 版本,可以下載來使用。
DiskGenius 官方網站:http://www.diskgenius.cn/

Samba Server 的使用者帳號及密碼備份

Samba Server 自從 3.x 後改成使用 tdbsam 的方式來管理使用者的帳號及密碼,原本的帳號密碼都是存放在 /etc/samba 目錄之下,最近要做備份時,一時之間竟然找不到 Samba Server 存放使用者帳號及密碼的地方。
後來有想到,可以先把 tdbsam 格式匯出成 smbpasswd 格式,再把 smbpasswd 格式轉成 tdbsam 格式
把 tdbsam 匯出成為 smbpasswd 格式
# /usr/bin/pdbedit -i tdbsam -e smbpasswd
把 smbpasswd 匯出成 tdbsam 格式
# /usr/bin/pdbedit -i smbpasswd -e tdbsam

或指定完整目錄
把 tdbsam 匯出成為 smbpasswd 格式
# /usr/bin/pdbedit -i tdbsam:/var/lib/samba/private/passdb.tdb -e smbpasswd:/etc/samba/smbpasswd
把 smbpasswd 匯出成 tdbsam 格式
# /usr/bin/pdbedit -i smbpasswd:/etc/samba/smbpasswd -e tdbsam:/var/lib/samba/private/passdb.tdb

不過這樣的手續有些煩雜,如果可以直接備份應該會更好。[@more@]後來很努力找了一下,終於找到了,在 /var/lib/samba/private 目錄之下
# ls -l /var/lib/samba/private/
-rw——- 1 root root 532480 2013-10-11 13:26 passdb.tdb
-rw——- 1 root root  45056 2011-09-02 14:49 secrets.tdb

解決 /lib/security/pam_fprintd.so 的錯誤訊息

在 Linux logwatch 記錄檔中發現下以下的錯誤訊息:
 ——————— Connections (secure-log) Begin ————————

 Root logins on tty’s: 2 Time(s).

 **Unmatched Entries**
    login: PAM adding faulty module: /lib/security/pam_fprintd.so: 2 Time(s)
    login: PAM unable to dlopen(/lib/security/pam_

fprintd.so): /lib/security/pam_fprintd.so: cannot open shared object file: No such file or directory: 2 Time(s)

 ———————- Connections (secure-log) End ————————-[@more@]看起來似乎是找不到這一個檔案
# ls -l  /lib/security/pam_fprintd.so
ls: 無法存取 /lib/security/pam_fprintd.so: 沒有此一檔案或目錄

這一個檔案的功用似乎和最近很流行的指紋辨識有關,可是 Linux Server 應該不須要這一項功能

取消方式:
# authconfig –disablefingerprint –update

如果真的須要這一項功能,請安裝下面的套件
# yum install fprintd-pam

 

SMART error (OfflineUncorrectableSector)

今天收信時,在信箱中有一封標題為  SMART error (OfflineUncorrectableSector) 的信件,內文為

[@more@]看起來似乎是 sdb 這一顆硬碟有問題,經仔細檢測後,果然是有問題,可以準備更換硬碟了。
# smartctl -H /dev/sdb
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-358.18.1.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

# smartctl -l selftest /dev/sdb
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-358.18.1.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%     36469         353066
# 2  Vendor (0x50)       Aborted by host               10%     24707         –
# 3  Short offline       Completed without error       00%     24706         –
# 4  Vendor (0x50)       Completed without error       00%     24704         –
# 5  Short offline       Completed without error       00%     24704         –
# 6  Vendor (0x50)       Completed without error       00%     24703         –
# 7  Short offline       Completed without error       00%     24703         –
# 8  Vendor (0x50)       Completed without error       00%     24677         –
# 9  Short offline       Completed without error       00%     24676         –
#10  Vendor (0x50)       Completed without error       00%     24662         –
#11  Short offline       Completed without error       00%     24662         –

安裝 mirrordir

mirrordir 是一套可以同步目錄及檔案的程式,在備份時非常好用,但印象中似乎有單一檔案不能超過 2G 的限制,如果有這樣的問題時,可以改用 rsync 來處理。
沒有第一時間使用 rsync 的原因是,因為我的備份是用 NFS Server 直接掛載目錄的方式,可以直接在本機端備份所需的檔案及目錄,不用做太多的設定,如果改用 rsync,伺服器端和本地端都要做設定。
底下是 mirrordir 的安裝方式:
因為 mirrordir 並不是 CentOS 內定就有的套件,而 rpmforge 和 epel 似乎也沒有,就要使用手動下載下來安裝
檔案下載目錄:
http://pkgs.repoforge.org/mirrordir/
目錄中有支援不同的 CentOS Linux 的版本(/2/3/4/5/6)和不同的平台(i386/i686/x86_64)
以 CentOS Linux 6 x86_64 平台為例
# wget http://pkgs.repoforge.org/mirrordir/mirrordir-0.10.49-1.2.el5.rf.x86_64.rpm
# rpm -ivh mirrordir-0.10.49-1.2.el5.rf.x86_64.rpm

# rpm -ivh http://pkgs.repoforge.org/mirrordir/mirrordir-0.10.49-1.2.el5.rf.x86_64.rpm

上面是以 el5 版本為例,因為目錄中沒有給 el6 的 x86_64 版本

詳細的 mirrordir 用法,可以使用下面的方式列出使用的參數
# /usr/bin/mirrordir –help

[@more@]後記:2013-10-30
確認檔案是不能超過 2G
# /usr/bin/mirrordir /home/global /mnt/school/全校授權
mirrordir: error trying to stat file: /home/global/Windows_8/Windows_8_64bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /home/global/Windows_8/Windows_8_32bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /mnt/school/全校授權/Windows_8/Windows_8_64bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /mnt/school/全校授權/Windows_8/Windows_8_32bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /home/global/Windows_7/Windows_7_Enterprise_SP1_64bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /home/global/Windows_7/Windows_7_Enterprise_SP1_32bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /mnt/school/全校授權/Windows_7/Windows_7_Enterprise_SP1_32bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /mnt/school/全校授權/Windows_7/Windows_7_Enterprise_SP1_64bit_KMS.iso: Value too large for defined data type
mirrordir: error trying to stat file: /home/global/Music Maker 16 Premium 酷樂大師/MM16Premium.iso: Value too large for defined data type
mirrordir: error trying to stat file: /mnt/school/全校授權/Music Maker 16 Premium 酷樂大師/MM16Premium.iso: Value too large for defined data type

解決換機器後網路卡無法啟動的問題

有時候用 Virtaulbox 或是 VMware 安裝的虛擬主機,或是真實的主機,更換了網路卡或換了主機,網路卡常常會無法啟動,有一部分是網路卡的設定檔案中,有設定了網路卡卡號,
# cat ifcfg-eth2
DEVICE=eth2
HWADDR=00:02:b3:41:47:bf
TYPE=Ethernet
UUID=4da519dc-7ada-4082-b7ae-6aee62150f5b
ONBOOT=yes

只要去除卡號和 UUID 的設定,再重新啟動網路卡即可。
[@more@]另外一種可能是現在的 Linux 大部分都是使用 udev 來管理設備,所以可能是舊的設定,使新的網路卡無法正常啟動,解決方式是刪除舊的設定檔,再重新啟動電腦即可。
刪除舊的設定檔
# rm -rf /etc/udev/rules.d/70-persistent-net.rules
重新啟動
# sync;sync;sync;sync;init 6

解決螢幕畫面出現 EDAC MC0: CE page 0x0 訊息

在家裡時發現學校負責公告和電腦教室學生上課的那一台 ASUS TS300-E4 Server 無法連線,到了學校查看了一下,發現電源無法開機,試了很多種方式然無法開機,可是這一台 Server 很重要,如果沒有復原,星期一可能無法上課,學校公告也會無法正常使用。
於是找了一台型號比較接近的電腦,先做硬碟的對換,想說先讓它可以上線。電腦重新啟動後,螢幕卻一直出現下面的訊息
Oct 26 15:36:36 drbl kernel: EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 2, labels “:”: i3200 UE
Oct 26 15:36:36 drbl kernel: EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 6, labels “:”: i3200 UE
Oct 26 15:36:37 drbl kernel: EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 2, labels “:”: i3200 UE
Oct 26 15:36:37 drbl kernel: EDAC MC0: UE page 0x0, offset 0x0, grain 1073741824, row 6, labels “:”: i3200 UE

根本無法操作,網路卡也無法正常啟動,無論在本機端或網路連線都是一樣。[@more@]
正想放棄的時候,到網路上搜尋了一下,找到了幾篇有關的訊息
鳥哥的 Linux 私房菜-新手討論區 • 檢視主題 – Terminal 連續跳出錯誤
ASUSTeK Computer Inc. -Support- 常見問題 P5BV-C
edac mc0 – 土狗的部落格 – Yahoo!奇摩部落格

EDAC 是 Error Detection And Correction 的縮寫,後來在上面的第三篇找到了解決方式,就是停用和 edac 有關的模組
# lsmod | grep edac
i3200_edac 9545 0
edac_core 26513 1 i3200_edac

# rmmod i3200_edac
# rmmod edac_core

不過,有的文章說明可能是記憶體出了問題,不過因為這二台 Server 都可以正常運作,並沒有出現問題,所以就暫且處理到這裡,有空的話,再用 memtest 程式來仔細測試。

解決 duplicate rpm 的問題

有一台 CentOS 6.x 的 Server,在一次更新中途失敗後,每次要更新時就出現如下的訊息:
selinux-policy-3.7.19-195.el6_4.12.noarch is a duplicate with selinux-policy-3.7.19-155.el6_3.14.noarch
setup-2.8.14-20.el6.noarch is a duplicate with setup-2.8.14-16.el6.noarch
sos-2.2-38.el6.centos.2.noarch is a duplicate with sos-2.2-29.el6.noarch
sssd-1.9.2-82.7.el6_4.x86_64 has installed conflicts selinux-policy < (‘0’, ‘3.7.19’, ‘160’): selinux-policy-3.7.19-155.el6_3.14.noarch
sssd-1.9.2-82.7.el6_4.x86_64 is a duplicate with sssd-1.8.0-32.el6.x86_64
sssd-client-1.9.2-82.7.el6_4.x86_64 is a duplicate with sssd-client-1.8.0-32.el6.x86_64
2:tar-1.23-11.el6.x86_64 is a duplicate with 2:tar-1.23-7.el6.x86_64
tzdata-2013c-2.el6.noarch is a duplicate with tzdata-2012j-1.el6.noarch
udev-147-2.46.el6.x86_64 is a duplicate with udev-147-2.42.el6.x86_64
upstart-0.6.5-12.el6_4.1.x86_64 is a duplicate with upstart-0.6.5-12.el6.x86_64
util-linux-ng-2.17.2-12.9.el6_4.3.x86_64 is a duplicate with util-linux-ng-2.17.2-12.7.el6_3.x86_64

看起來像是系統中,重複安裝了二個相同檔名的套件
# rpm -qa | grep samba
samba-common-3.5.10-125.el6.x86_64
samba-3.5.10-125.el6.x86_64
samba-common-3.6.9-151.el6.x86_64
samba4-libs-4.0.0-55.el6.rc4.x86_64
samba-winbind-clients-3.5.10-125.el6.x86_64
samba-winbind-3.6.9-151.el6.x86_64
samba-winbind-clients-3.6.9-151.el6.x86_64
samba-client-3.5.10-125.el6.x86_64
看起來似乎有 2xx 多個重覆的檔案,難道要一一刪除嗎?[@more@]在網路上搜尋了一下,終於找到解決的方案 – AWS 機器上 duplicated RPM 問題 | 小惡魔 – 電腦技術 – 工作筆記 – AppleBOY

解決方式:
1. 安裝 yum-utils 套件
# yum install yum-utils
2. 移除相同的多餘套件
# package-cleanup –cleandupes

Transaction Summary
================================================================================
Remove      229 Package(s)

Installed size: 611 M
Is this ok [y/N]:y

共有 229 個重覆的套件檔,如果要一一刪除,就會累死人了!

後記:
不過,建議在做相關移除的動作時,應先好備份的工作,因為我發現移除之後,它把我的 SSH / MySQL / SNMP Server 等等,全部都移除了,我又手動一一安裝回去,才讓 Server 可以正常運作。

Mirror CentOS Linux 終於完成

從 10/2(三) 早上到 10/6(日) 早上,一共花了將近五天的時間,終於將 CentOS Linux 全部 Mirror 完成了,原本以為可能二到三天就可以完成,沒想到時間要這麼長。
檔案將近用掉了 118G,不算太大,因為 Scientific Linux 一個版本 6.x 就用掉了 36xG,而 CentOS Linux 則是包含了 5.x/6.x 版本。