انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => نرم‌افزارهای فنی-مهندسی => نویسنده: محمودی فرد در 09 بهمن 1400، 05:01 ب‌ظ

عنوان: مشکل در دور زدن بررسی توزیع لینوکس در هنگام نصب برنامه
ارسال شده توسط: محمودی فرد در 09 بهمن 1400، 05:01 ب‌ظ
سلام. هنگام نصب abaqus cae در ابونتو مطابق راهنما باید بررسی توزیع لینوکس را با دستور زبر دور زد.
To bypass the Linux distro checks, invoke StartGUI.sh with following exports:

     export DSYAuthOS_`lsb_release -si`=1
     export DSY_Force_OS=linux_a64
     export NOLICENSECHECK=true
اما دستورات بالا عمل نمیکنند و با پیغام زیر خارج میشود
sh StartGUI.sh
StartGUI.sh: 4: typeset: not found
CurrentMediaDir initial=""
StartGUI.sh: 6: typeset: not found
StartGUI.sh: 8: [[: not found
StartGUI.sh: 10: [[: not found
CurrentMediaDir="/media/****/DS.SIMULIA.2022.LNX64/1/"
StartGUI.sh: 19: typeset: not found
Current operating system: "Linux"
StartGUI.sh: 8: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/get_DSY_OS.sh: [[: not found
StartGUI.sh: 16: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/get_DSY_OS.sh: [[: not found
/usr/bin/lsb_release
StartGUI.sh: 4: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/init/Linux.sh: [[: not found
DSY_OS_Release="Ubuntu"
StartGUI.sh: 13: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/init/Linux.sh: [[: not found
Unknown linux release "Ubuntu"
exit 8
 
عنوان: پاسخ : مشکل در دور زدن بررسی توزیع لینوکس در هنگام نصب برنامه
ارسال شده توسط: behzad121 در 09 بهمن 1400، 05:23 ب‌ظ
شل شما به صورت پیشفرض چی هست؟ خروجی این دستور رو بذارید:
ls -l /usr/bin | grep 'sh ->' -w

معمولا دستور «]» و «[» وجود داره اما «[[» و «]]» نه. چک کنید ببینید این دستورات در bin/ وجود دارند یا نه.

برای اجرای فایل هم این دستور رو امتحان کنید و از یک دستور خاص استفاده نکنید:
./StartGUI.sh
عنوان: پاسخ : مشکل در دور زدن بررسی توزیع لینوکس در هنگام نصب برنامه
ارسال شده توسط: محمودی فرد در 09 بهمن 1400، 10:53 ب‌ظ
سلام. با دستور گفته شده اجازه اجرای برنامه را نمیدهد.
$ ls -l /usr/bin | grep 'sh ->' -w
lrwxrwxrwx 1 root   root            4 سپتامبر 29  2020 sh -> dash
lrwxrwxrwx 1 root   root            7 نوْوامبر 24 22:32 static-sh -> busybox

/media/****/DS.SIMULIA.2022.LNX64/1# ./StartGUI.sh
bash: ./StartGUI.sh: Permission denied
 
عنوان: پاسخ : مشکل در دور زدن بررسی توزیع لینوکس در هنگام نصب برنامه
ارسال شده توسط: Dragon- در 09 بهمن 1400، 11:59 ب‌ظ
سلام. هنگام نصب abaqus cae در ابونتو مطابق راهنما باید بررسی توزیع لینوکس را با دستور زبر دور زد.
To bypass the Linux distro checks, invoke StartGUI.sh with following exports:

     export DSYAuthOS_`lsb_release -si`=1
     export DSY_Force_OS=linux_a64
     export NOLICENSECHECK=true
اما دستورات بالا عمل نمیکنند و با پیغام زیر خارج میشود
sh StartGUI.sh
StartGUI.sh: 4: typeset: not found
CurrentMediaDir initial=""
StartGUI.sh: 6: typeset: not found
StartGUI.sh: 8: [[: not found
StartGUI.sh: 10: [[: not found
CurrentMediaDir="/media/****/DS.SIMULIA.2022.LNX64/1/"
StartGUI.sh: 19: typeset: not found
Current operating system: "Linux"
StartGUI.sh: 8: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/get_DSY_OS.sh: [[: not found
StartGUI.sh: 16: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/get_DSY_OS.sh: [[: not found
/usr/bin/lsb_release
StartGUI.sh: 4: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/init/Linux.sh: [[: not found
DSY_OS_Release="Ubuntu"
StartGUI.sh: 13: /media/****/DS.SIMULIA.2022.LNX64/1//inst/common/init/Linux.sh: [[: not found
Unknown linux release "Ubuntu"
exit 8
 
به نظر میاد اون یه اسکریپت bash باشه، شما خواستید اون رو با sh اجرا کنید. bash قابلیت‌های بیشتری از sh داره، به خاطر همین نمی‌تونید بعضی از اسکریت‌های bash رو درست با sh اجرا کنید. اگه توی اسکریپت از قابلیت‌های مخصوص bash استفاده شده باشه (مثل آرایه‌ها یا همین ]] که بالا دیدید)، اون وقت اجرای اون اسکریپت با sh، به مشکل می‌خوره.

می‌تونید اون رو با bash اجرا کنید و ببینید کار میده یا نه. اینجوری
bash StartGUI.shتوی حالت بالا، فرض کردیم که ما توی دایرکتوری هستیم که اسکریپت داخلش قرار داره.

راه بهتر اینه که ببینید اون فایل باید با چی اجرا بشه. معمولا خط اول اسکریپت‌ها، با چیزی شبیه !# شروع میشه و جلوی اون بدون فاصله، مسیر به چیزی که قرار اسکریپت رو اجرا کنه قرار می‌گیره. مثلا اگه یه چیزی قرار باشه با perl اجرا بشه، خط اول اون این شکلی می‌تونه باشه
#!/usr/bin/perl
برای اینکه مطمئن بشید اون فایل باید با چی اجرا بشه، اولش رو ببینید. دستور head می‌تونه برای اینکار استفاده بشه.
head StartGUI.shباز هم فرض می‌کنیم داخل دایرکتوری هستیم که اسکریپت اونجا قرار داره.

سلام. با دستور گفته شده اجازه اجرای برنامه را نمیدهد.
/media/****/DS.SIMULIA.2022.LNX64/1# ./StartGUI.sh
bash: ./StartGUI.sh: Permission denied
 
احتمالا اسکریپت دسترسی اجرایی نداره، به اون دسترسی اجرایی بدید و دوباره امتحان کنید.
chmod +x StartGUI.shتوی حالت بالا، باز هم فرض کردیم داخل جایی هستیم که اسکریپت قرار داره.
عنوان: پاسخ : مشکل در دور زدن بررسی توزیع لینوکس در هنگام نصب برنامه
ارسال شده توسط: محمودی فرد در 10 بهمن 1400، 12:42 ق‌ظ
سلام. قبلا با دستور bash امتحان کرده بودم این پاسخ را میدهد.
bash StartGUI.sh
CurrentMediaDir initial="."
CurrentMediaDir="/media/****/DS.SIMULIA.2022.LNX64/1"
Current operating system: "Linux"
Error: This media has been unzipped or copied in such a way that the permissions
of some files have been lost. Please unzip or copy the media again.
 
برنامه در یک فایل ایزو قرار دارد حتی وقتی که به جای mount کردن ان را استخراج (extract here) میکنم پاسخ مشابهی میدهد.
head StartGUI.sh
#!/bin/sh

# Get full path
typeset CurrentMediaDir=$(dirname "${0}")
echo "CurrentMediaDir initial=\""$CurrentMediaDir"\""
typeset FIRSTCHAR=$(echo ${CurrentMediaDir} | cut -c1-1)

if [[ ${FIRSTCHAR} = "/" ]]; then
  CurrentMediaDir=${CurrentMediaDir}  # Do nothing
elif [[ ${CurrentMediaDir} = "." ]]; then
 

chmod +x StartGUI.sh
chmod: changing permissions of 'StartGUI.sh': Read-only file system
./StartGUI.sh
bash: ./StartGUI.sh: Permission denied
 
این هم محتویات فایل بش مورد نظر
#!/bin/sh

# Get full path
typeset CurrentMediaDir=$(dirname "${0}")
echo "CurrentMediaDir initial=\""$CurrentMediaDir"\""
typeset FIRSTCHAR=$(echo ${CurrentMediaDir} | cut -c1-1)

if [[ ${FIRSTCHAR} = "/" ]]; then
  CurrentMediaDir=${CurrentMediaDir}  # Do nothing
elif [[ ${CurrentMediaDir} = "." ]]; then
  CurrentMediaDir=$(pwd)
else
  CurrentMediaDir=$(pwd)/$CurrentMediaDir
fi
echo "CurrentMediaDir=\""$CurrentMediaDir"\""

export DSY_Installer_EXE=DSYInsAppliGUI
# Prevent args corruption on AIX and Solaris
typeset localArgs=${1+"$@"}

# get DSY_OS and check prereqs
. "$CurrentMediaDir/inst/common/get_DSY_OS.sh"

export CurrentMediaDir

"${DSY_exe}" ${localArgs}