差異處
這裏顯示兩個版本的差異處。
java:installanywhere:unstable:permssion_issue_on_linux [2018/03/13 14:17] tony |
java:installanywhere:unstable:permssion_issue_on_linux [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>InstallAnywhere}} | + | |
- | ====== InstallAnywhere - Permission Issue on Linux ====== | + | |
- | ===== Problem ===== | + | |
- | 這陣子安裝的自動測試,突然開始出現許多奇奇怪怪的問題。其中一樣,就是在某些Linux機器上出現腳本沒有執行權限:\\ | + | |
- | {{:java:installanywhere:unstable:ia_execute_script_no_permission.png|}} | + | |
- | ===== Review & Test ===== | + | |
- | 我們的安裝過程除了最後會針對所有執行檔去賦與權限外,沒有其它位置會將執行檔權限更改為可執行。然而,官方文件中有提及[[http://helpnet.flexerasoftware.com/installanywhere2012/Content/helplibrary/ia_ref_actions_expandarchive.htm|Expand Archive]]會賦予Default Permissions到解壓出來的檔案,下圖為我們Default Permissions:\\ | + | |
- | {{:java:installanywhere:unstable:ia_default_permission.png|}}\\ | + | |
- | 因此我寫一個腳本每0.5秒polling一次解壓與複製後的同一檔案。下圖為安裝步驟:\\ | + | |
- | {{:java:installanywhere:unstable:ia_review_permission_ops.png|}}\\ | + | |
- | 而下圖為測試結果:\\ | + | |
- | {{:java:installanywhere:unstable:install_mssql_test.png?|}}\\ | + | |
- | 可以發現Expand Archive執行後一直到Copy Folder,解壓縮檔案都還沒被賦予可執行權限;但一秒鐘後,就擁有可執行權限。\\ | + | |
- | 除以上測試外,我還嘗試著在這些動作前後加上列出檔案權限動作,但此舉卻造成了Bug消失。另外這個問題是在某天之後發生的,差別只有檔案大小。 | + | |
- | ===== Current Solution ===== | + | |
- | 根據以上測試結果,可以推測: | + | |
- | - Expand Archive後的權限賦與屬於非同步執行。 | + | |
- | - zip檔案越大越容易發生這個問題。 | + | |
- | 因此最後我們採取的策略是,使用之前就賦予可執行權限: | + | |
- | <code bash> | + | |
- | chmod +x executeScript.sh | + | |
- | ./executeScript.sh | + | |
- | </code> | + | |
- | ===== ===== | + | |
- | ---- | + | |
- | \\ | + | |
- | ~~DISQUS~~ | + |