差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:installanywhere:unstable:permssion_issue_on_linux [2018/03/13 11:26]
tony [Problem]
java:installanywhere:unstable:permssion_issue_on_linux [2023/06/25 09:48] (目前版本)
行 1: 行 1:
 +{{tag>​InstallAnywhere}}
 ====== InstallAnywhere - Permission Issue on Linux ====== ====== InstallAnywhere - Permission Issue on Linux ======
 ===== Problem ===== ===== Problem =====
行 4: 行 5:
 {{:​java:​installanywhere:​unstable:​ia_execute_script_no_permission.png|}} {{:​java:​installanywhere:​unstable:​ia_execute_script_no_permission.png|}}
 ===== Review & Test ===== ===== 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:​ia_review_permission_ops.png|}}\\
-{{:​java:​installanywhere:​unstable:​install_mssql_test.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~~