跳到主要內容

發表文章

Solaris Shell Script將文字轉為數字

因為需要將文字轉為數字,以便相加,可用下列兩種方式:

1、expr
root@TEST# export a=03
root@TEST# export b=2
root@TEST# expr $a + $b
5
root@TEST# export a=030
root@TEST# expr $a + $b
32

2、echo $(( ? ))
root@TEST# export a=03
root@TEST# export b=2
root@TEST# echo $(( $a + $b ))
5
使用此方式時需要注意 010 並不等於數字 10,如下:
root@TEST# export a=030
root@TEST# echo $(( $a + $b ))
26

關閉Win10的SMBv1

Win7的電腦中毒了,只好把它重灌,這次安裝Win10,雖然說安裝Win10並完成更新後應該就不會再被病毒入侵。

不過我還是依微軟提供的步驟把SMBv1關掉,步驟如下:

以系統管理員開啟Powershell並輸入下列檢查SMBv1


PS C:\Windows\system32> Get-WindowsOptionalFeature –nline –FatureName SMB1Protocol

FeatureName      : SMB1Protocol
DisplayName      : SMB 1.0/CIFS 檔案共用支援
Description      : SMB 1.0/CIFS 檔案共用通訊協定與「電腦瀏覽器」通訊協定的支援。
RestartRequired  : Possible
State            : Enabled
...

SMBv1的狀態是Enabled,接著關閉它:

PS C:\Windows\system32> Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

再檢查一次,這次的狀態是Disabled

PS C:\Windows\system32> Get-WindowsOptionalFeature –nline –FatureName SMB1Protocol

FeatureName      : SMB1Protocol
DisplayName      : SMB 1.0/CIFS 檔案共用支援
Description      : SMB 1.0/CIFS 檔案共用通訊協定與「電腦瀏覽器」通訊協定的支援。
RestartRequired  : Possible
State            : Disabled
...

Win10無法安裝.Net Framework 3.5(0x800F081F)

因為某一個程式需要用到.Net Framework 3.5,所以到微軟的網站上下載套件來安裝,可是卻無法安裝,出現0x800F081F的找不到來源檔案錯誤。

試著用安裝精靈或其他的.net framework 3.5套件都無法成功,最後求助Google大神。

有人提到解決的方式如下,需要有Win 10的安裝光碟片,其中/Source:g的g指的是光碟機代號:

C:\Windows\system32>DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:g:\sources\sxs

部署映像服務與管理工具
版本: 10.0.14393.0

映像版本: 10.0.14393.0

啟用功能
[=============100.0%=============]
操作順利完成。


這樣就成功完成了.Net Framework 3.5了。

Win 10 Update 錯誤:0x8024401c

因為電腦中毒重灌,棄Win7改為Win10,安裝完後在進行Win10更新時出現錯誤:

Error 0x8024401c

以系統管理員身分執行命令提示字元,然後執行下列三行指令:

net stop wuauserv
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
net start wuauserv

操作如下:
C:\Windows\system32>net stop wuauserv
Windows Update 服務正在停止.
Windows Update 服務已經成功停止。


C:\Windows\system32>reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
是否要永久刪除登錄機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate (是/否)? y
操作順利完成。

C:\Windows\system32>
C:\Windows\system32>net start wuauserv
Windows Update 服務正在啟動 .
Windows Update 服務已經啟動成功。

完成重開機後,再試一次更新就成功了。

crontab 隔週執行程式

有一支排程backup.sh希望可以每兩週執行一次,但是Crontab並沒有隔週的參數選項。

網路上有文章提到可以用第幾週來判斷是否執行程式,分為下列兩種方式:

方式一,寫在script內
#!/bin/sh
v_ck=`date +%W`
v_run=`expr $v_ck % 2`

if [ $v_run = 1 ];
   then backup.sh
        exit 1
   fi

方式二,利用test指令來判斷
10 10 * * *  su - user | test $(( $( date +%W ) %2 )) -eq 1 && backup.sh


date +%W是指取得週數,例如:2017/10/19是今年的第42週
用週數除以2取餘數,可以得到0或1兩個數字,再來判斷是否為隔週

Solaris ntpdate error:the NTP socket is in use

今天在測試機test01(Solaris)上面發現系統的時間快了五分鐘,利用ntpdate校時:
root@test01# ntpdate 192.168.1.30
19 Oct 12:06:02 ntpdate[26375]: Can't set time of day: Not owner

出現錯誤的訊息,原來是因為test01是Non-Global Zones,改登入到Global Zones的gz01並利用ntpdate校時:
root@gz01# ntpdate 192.168.1.30
19 Oct 13:57:45 ntpdate[870]: the NTP socket is in use, exiting

還是出現錯誤的訊息,原因是ntpd service是啟用的狀態,所以無法使用ntpdate,
root@gz01# svcs -a |grep ntp
online         13:06:21 svc:/network/ntp:default

停用ntp service
root@gz01# svcadm disable -t network/ntp

這樣校時就可以成功了
root@gz01# ntpdate 192.168.1.30

啟用ntp service
root@gz01# svcadm enable -t network/ntp

2017湖內思慕塭情~白鴒鸶路跑活動。21公里半馬初體驗

一股莫名的勇氣,在報名時點選21公里的半馬。繳完費後,離活動還有約2個多月的時間,看來真的得要好好的訓練。

參考了網路上一些訓練建議,也大致決定了訓練的目標,不過人真是一種意志力薄弱的生物,很容易就說服自己,所以到最後那些訓練計劃都沒有達到。

雖然沒有達到訓練計劃的要求,但是基本上還是維持一個星期約二~四次的跑步。

在最後一次跑15公里的時間,是2個小時,但是後面的路程大致上只能用走的,算一算只能勉強完賽,實在沒有把握。

活動的兩個星期前跟老婆的員工旅遊去日本,回來台灣後一直在下雨,氣象局也預報活動當天下雨機率高。

已經沒有把握完賽又加上下雨,鐵定要坐回收車了,心想那也是一種經驗,留得青山在,不怕沒柴燒。

因為怕下雨淋濕,所以帶了現在使用的紅米Note 4x與之前換掉的紅米Note 3,雖然Note 3只用了快一年,但是因為被我摔了一次,螢幕右下角有明顯的蜘蛛網裂痕,系統有時候也不太穩定。

活動當天很早就起床準備,外面果然在下雨,穿好雨衣騎著車準備到會場,結果雨勢越來越大,車速就越來越慢。

抵達會場湖內慈濟宮時,有保生大帝的庇佑,竟然沒有下雨,但是距離開跑時間僅剩不到三、四分鐘,趕緊找一個停車位後跑到會場,在會場卻找不到寄物區,問了一位熱心的跑友才知道寄物區是在大樓內(這樣就不怕下雨淋濕)。

在找寄物區的同時,半馬已經鳴槍起跑了,結果我把要帶在身上的毛巾、輕便雨衣全部都忘在包包裡,一起拿去寄物了。

不管了,時間已經來不及了,忘了就忘了,反正跑一跑身體也是全濕,也不差沒有沒下雨了。

寄完物後,發現在自己號碼牌及晶片都還沒有別上,號碼牌隨便先別個兩邊,再把晶片隨便扣在鞋繩上就往起跑點走去。

此時起跑處已經站滿10公里組的人,主持人提醒半馬組只剩兩分鐘的時間就要把感應墊拆掉,當然沒有過感應墊也是可以跑,只是沒有成績罷了。

突然我的身邊出現了一位女生,跟我一樣慌張在10公里組人群中請他們借道,就這樣在最後時刻踏入感應墊出發了。

一出發小跑約15公尺我就停住了,因為我的號碼牌跟晶片、手機app等都沒有弄好,所以在路旁整頓一番之後,真正開始了我的初半馬。

這時候整條賽道空空蕩蕩的,只有前面五、六名跑者,大概都是跟我一樣遲到的跑者。

我的速度本來就較慢,而且我也怕跑太快體力很快就用完,所以我就照著我的速度跑。

跑了一段路之後,發現手機系統當掉了,跑步的APP也只記錄1公里就當掉…