差異處

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

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:installanywhere:unstable:permssion_issue_on_linux [2018/03/13 11:39]
tony [Review & Test]
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到解壓出來的檔案因此我寫一個腳本每0.5秒polling一次解壓與複製後的同一檔案。下圖為安裝步驟:​\\+我們的安裝過程除了最後會針對所有執行檔去賦權限外,沒有其它位置會將執行檔權限更改為可執行。然而,官方文件中有提及[[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,解壓縮檔案都還沒被賦予可執行權限;但一秒鐘後,就擁有可執行權限。\\ 可以發現Expand Archive執行後一直到Copy Folder,解壓縮檔案都還沒被賦予可執行權限;但一秒鐘後,就擁有可執行權限。\\
-除以上測試外,我還嘗試著在這些動作前後加上列出檔案權限動作,但此舉卻造成了Bug消失。+除以上測試外,我還嘗試著在這些動作前後加上列出檔案權限動作,但此舉卻造成了Bug消失。另外這個問題是在某天之後發生的,差別只有檔案大小
 ===== Current Solution ===== ===== Current Solution =====
 +根據以上測試結果,可以推測:​
 +  - Expand Archive後的權限賦予屬於非同步執行。
 +  - zip檔案越大越容易發生這個問題。
 +因此最後我們採取的策略是,使用之前就賦予可執行權限:​
 +<code bash>
 +chmod +x executeScript.sh
 +./​executeScript.sh
 +</​code>​
 +=====    =====
 +----
 +\\
 +~~DISQUS~~