今日校內某台電腦再升級為Win7,並執行啟動啟動認證時,出現
錯誤訊息碼:0x8007007B,
錯誤描述:檔案名稱、目錄名稱或磁碟機標籤語法錯誤
錯誤訊息的描述與解決,請參考Mircosoft說明
但不巧的是,主機上的授權標籤竟然被撕掉一半,看不清楚原先的授權碼。
也就是說已經無法使用隨機授權的序號,
那就改採縣網KMS授權的方式進行認證了。
先參考微軟的網頁,得知不同的OS版本在KMS上需要什麼KEY
https://technet.microsoft.com/en-us/library/ff793421.aspx
譬如:
我安裝的是Windows 7 Enterprise版
KMS授權序號:33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
1.先執行
services.msc啟動服務
2.再將
Software Protection服務停止
3.利用系統管理者身分開啟命令提示字元
4.輸入slmgr -ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
5.再次輸入slmgr /rilc,等到出現授權碼更新後的訊息後,再重新啟動電腦
6.利用縣網的KMS認證啟動程式,啟動作業系統。
附註:
slmgr也就是Windows 軟體授權管理工具(Windows Software Licensing Management Tool),是一支管理Vista及Windows 7啟動的VBScript工具程式。
參考網頁:
2017年4月5日 星期三
2017年3月7日 星期二
Ubuntu顯示記憶體使用量指令
free指令顯示記憶體使用量
free -b 以Byte為單位
free -k 以KB為單位
free -m 以MB為單位
free -h 以Human 較容易看的懂方式顯示
參考網頁:
free -b 以Byte為單位
free -k 以KB為單位
free -m 以MB為單位
free -h 以Human 較容易看的懂方式顯示
參考網頁:
2017年2月15日 星期三
Samba就是捨不得我離開 Oplock break failed
電腦教室是無碟的環境,所以學生在存檔繳交作業時,我都會另外叫他們存在Samba主機,但是這個學期卻出現了一個奇怪的現象,那就是學生把檔案存到Samba後,儘管學生機都關機了,Samba內的檔案卻無法正常剪下或刪除。出現的錯誤訊息,指向有程式正開啟這些檔案,導致他們無法正常被刪除,而出現問題的學生機,又很隨機,很難對點查詢。
而這樣的狀況要隔一段時間(通常都到下一節課),就自動緩解。感覺起來,這些被綁住的檔案,隔一段時間後自動被釋放了。
而這過程中,其實只要手動將Samba服務停止後再重啟,就可以解決,但是這實在不是解決的辦法,總不可能每次要存取Samba檔案,都要再連到Samba主機下指令吧!!只好痛下決心,努力找尋答案。最初,歷經過重新設定Samba,也重新安裝過Ubuntu系統主機,病症仍未獲緩解,之後只好伸入判讀samba的log紀錄。
Samba的log紀錄被存放在/etc/log/samba/log.電腦名稱中,錯誤訊息內容類似
[2017/02/14 11:15:25.941469, 0] ../source3/smbd/oplock.c:335(oplock_timeout_handler)
Oplock break failed for file 50109劉晧辰.svg -- replying anyway
設定範例:
[SAMBA]
comment = samba共用資料
path = /tmp/samba
public = yes
guest ok = yes
writable = yes
browseable = yes
only guest = yes
oplocks = no
locking = no
strict locking = no
ps.上面的設定式安全性最低的設定方法,沒有經過帳號認証,其實是不太建議喔!!
參考網頁:
而這樣的狀況要隔一段時間(通常都到下一節課),就自動緩解。感覺起來,這些被綁住的檔案,隔一段時間後自動被釋放了。
而這過程中,其實只要手動將Samba服務停止後再重啟,就可以解決,但是這實在不是解決的辦法,總不可能每次要存取Samba檔案,都要再連到Samba主機下指令吧!!只好痛下決心,努力找尋答案。最初,歷經過重新設定Samba,也重新安裝過Ubuntu系統主機,病症仍未獲緩解,之後只好伸入判讀samba的log紀錄。
Samba的log紀錄被存放在/etc/log/samba/log.電腦名稱中,錯誤訊息內容類似
[2017/02/14 11:15:25.941469, 0] ../source3/smbd/oplock.c:335(oplock_timeout_handler)
Oplock break failed for file 50109劉晧辰.svg -- replying anyway
"Oplock break failed" 指的是檔案被打開中且被某人隨機使用使用中,並且系統主機無法強制這個用戶端釋放Oplock寫回快取。
假如檔案真的被開啟了,這樣的錯誤訊息就會發生,但假如檔案確實關閉甚至電腦都關機了,卻仍出現這樣的錯誤訊息,那就可能是Samba主機某程式拒絕發出斷開(break)的訊息,或是等候不到用戶關的回覆(Replay)訊息。然後就傻傻的等待著,等等等......等到session被丟棄時,才認為對方已經完成工作沒回應,這應該算是Samba的小bug。而這樣的情形也可以解釋著為何總是要到下一堂課,原本無法刪除的檔案,都可以刪除了。
解決辦法,在/etc/samba/smb.conf中
[sharefolder]
oplocks = no //不要鎖定oplocks
就可以解決了
事後又看到有人如下這麼寫,一併補上
locking = no
strict locking = no
設定範例:
[SAMBA]
comment = samba共用資料
path = /tmp/samba
public = yes
guest ok = yes
writable = yes
browseable = yes
only guest = yes
oplocks = no
locking = no
strict locking = no
ps.上面的設定式安全性最低的設定方法,沒有經過帳號認証,其實是不太建議喔!!
參考網頁:
- Samba "oplock break failed" error - cannot open files on SMB share from network
- Chapter 17. File and Record Locking - Advanced Configuration
2016年11月19日 星期六
偷偷拷貝夥伴的COMPOSER_HOME目錄
和夥伴在同一台主機下共同練習Laravel
每個人都自己的家目錄
而每個人也需要各在自己的家目錄下
composer global require "laravel/installer"
指令
主要目的是要把laravel的安裝程式下載回來到COMPOSER_HOME
(關於COMPSER_HOME是~/.composer還是~/.config/composer請看這一篇)
但是composer global的執行實在太慢了
偷懶一點的作法是
一、利用root的權限,把別人的COPY回來就好了
##舉例有test1與test2兩個使用者
二、設定laravel指令及XDG環境變數
在最後一行寫入
三、重新開機或直接執行source ~/.profile並執行laravel安裝
重新開機後,切換到自己的網頁目錄
輸入
四、修改bootstrap/cache及storage
每個人都自己的家目錄
而每個人也需要各在自己的家目錄下
composer global require "laravel/installer"
指令
主要目的是要把laravel的安裝程式下載回來到COMPOSER_HOME
(關於COMPSER_HOME是~/.composer還是~/.config/composer請看這一篇)
但是composer global的執行實在太慢了
偷懶一點的作法是
一、利用root的權限,把別人的COPY回來就好了
##舉例有test1與test2兩個使用者
mkdir ~/.composer
sudo cp -R /home/test1/.composer/* /home/test2/.composer/
sudo chown -R test.test /home/test2/.composer二、設定laravel指令及XDG環境變數
sudo vi ~/.profile 或sudo vi ~/.bash_profile
在最後一行寫入
export PATH=$HOME/.config/composer/vendor/bin:$PATH
三、重新開機或直接執行source ~/.profile並執行laravel安裝
重新開機後,切換到自己的網頁目錄
輸入
laravel new blog四、修改bootstrap/cache及storage
sudo chown -R www-data.www-data bootstrap/cache/
sudo chown -R www-data.www-data storage/
[Ubuntu16.04]安裝Laravel,COMPOSER_HOME竟多出了.config資料夾
如上圖
安裝Laravel的官方文件中提到:
執行
composer global require "laravel/installer"安裝程式後,可以在~/.composer/vendor/bin目錄下找到laravel指令,但是今天卻發現此次設定的主機的路徑竟是~/.config/composer/vendor/bin,多出了一個.config的資料夾
仔細查閱相關資料後才發現,原來
假如電腦主機若是採用 freedesktop.org standards標準的作業系統,他會先偵測環境變數中XDG_CONFIG_HOME是否有設定,若沒有設定的話,就會自動幫你加上.config
If your system uses freedesktop.org standards, which it detects by looking for environment variables beginning with XDG_, then Composer uses $XDG_CONFIG_HOME/composer/, falling back to $HOME/.config/composer/ if that isn't set.
若要解決這個困擾(至少操作時跟路徑跟官方文件一致比較不會出錯),可從兩個方向著眼:
1.更改全域的設定,主機內全部使用者受惠
sudo vi /etc/profile
2.更改個別使用者
vi ~/.profile
同樣都是在檔案的最後一行加上
export XDG_CONFIG_HOME="$HOME"
這樣一來,當電腦重新啟動後,XDG_CONFIG_HOME環境變數就會先執行了,但假如你先前已經安裝過Composer的話,可能就需要再重新裝一次囉
註:其他XDG環境變數請參閱Environment variables
註:察看目前5.7的laravel Document官方文件,已經將安裝目錄改為~/.config/composer/vendor/bin,所以上面的XDG_CONFIG_HOME已毋需修改。
參考文件:
- Why is COMPOSER_HOME empty?
- Where should the XDG_CONFIG_HOME variable be defined?
- XDG Base Directory support
2016年11月8日 星期二
MySQL中的offset
offset的英文意思為抵消,當用在MySQL時的意思就好比忽略前幾筆資料,常跟limit搭配使用,使用時機通常是換頁時。
例如:select * from country limit 5 offset 5
意思就是:忽略前5比資料,列出country資料表中的第6~10筆資料。
例如:select * from country limit 5 offset 5
意思就是:忽略前5比資料,列出country資料表中的第6~10筆資料。
2016年11月1日 星期二
ssh連線時,發生遠端主機認証資料已經改變的錯誤訊息
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:sTZh1ToLgA3719MjTD+Hnvbfb2HXXKtOk7uvp3Us23s.
Please contact your system administrator.
Add correct host key in /home/chunkai/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/chunkai/.ssh/known_hosts:3
remove with:
ssh-keygen -f "/home/chunkai/.ssh/known_hosts" -R 192.168.30.9
ECDSA host key for 192.168.30.9 has changed and you have requested strict checking.
Host key verification failed.
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:sTZh1ToLgA3719MjTD+Hnvbfb2HXXKtOk7uvp3Us23s.
Please contact your system administrator.
Add correct host key in /home/chunkai/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/chunkai/.ssh/known_hosts:3
remove with:
ssh-keygen -f "/home/chunkai/.ssh/known_hosts" -R 192.168.30.9
ECDSA host key for 192.168.30.9 has changed and you have requested strict checking.
Host key verification failed.
上面是最近常出現的訊息,這是因為進行ssh連線時,本機端會將伺服器端的金鑰與IP對應紀錄,寫入到
/home/使用者/.ssh/know_hosts
但是因為我裝了許多台虛擬主機,不同台的虛擬主機重啟後卻有可能使用同一組IP,如此一來本機端的know_hosts紀錄對應不符(另一種狀況,當然就是伺服器有重新安裝過,似服主機的金鑰碼又會不一樣囉,這樣也會產生對應不符的情形),就會出現上述的錯誤。只要照著他提示的建議:
ssh-keygen -f "/home/chunkai/.ssh/known_hosts" -R 192.168.30.9
重新建立know_hosts紀錄。
訂閱:
文章 (Atom)

