কমান্ড লাইনে একটি ডিএমজি মাউন্ট করার সময় লাইসেন্স চুক্তিটি বাইপাস করুন


16

আমি পুতুল ব্যবহার করে আমার ম্যাক ইনস্টলেশনটি স্বয়ংক্রিয় করছি। এর অংশ হিসাবে আমাকে বেশ কয়েকটি প্রোগ্রাম ইনস্টল করতে হবে যা একটি .dmg ফর্ম্যাটে আসে।

এগুলি মাউন্ট করার জন্য আমি নিম্নলিখিতটি ব্যবহার করি:

sudo /usr/bin/hdiutil mount -plist -nobrowse -readonly -quiet -mountrandom /tmp Program.dmg

সমস্যাটি হ'ল কিছু .dmg ফাইল সংযুক্ত লাইসেন্স নিয়ে আসে এবং তাই স্ক্রিপ্টটি লাইসেন্স গ্রহণে আটকে যায়। (পুতুলের সাথে চলার সময় কোনও স্টিডিন / আউট নেই, তাই আমি চালিয়ে যাওয়ার জন্য এটি ম্যানুয়ালি অনুমোদন করতে পারি না))

লাইসেন্সটি প্রাক-অনুমোদিত বা জোর করে অনুমোদনের কোনও উপায় আছে কি?


সম্ভবত এসএফ যেতে পারে; আপনি অনেকগুলি মেশিনের সাথে কাজ করে এমন সমস্যাগুলি নিয়ে কাজ করছেন। তবে এটি এখানেও যেতে পারত।
কেভিন এম

2
"হ্যাঁ | hdiutil সংযুক্ত ডিস্ক। ডিএমজি> / দেব / নাল" করুন - এটি আপনার জন্য একটি 'ওয়াই' টাইপ করবে।
mauvedeity

উত্তর:


2

আপনার যদি জিইউআই থাকে এবং সমান্তরালে দুটি কমান্ড-লাইন কল করতে সক্ষম হন তবে আপনি এটি ব্যবহার করতে পারেন

/System/Library/CoreServices/DiskImageMounter.app/Contents/MacOS/DiskImageMounter /path/to/file.dmg

এবং

osascript accept.scpt

যার পরবর্তীটি নিম্নলিখিত অ্যাপলস্ক্রিপ্ট কার্যকর করে:

tell application "System Events"
    delay 5 # wait 5 seconds -- I tested it using two terminal tabs and needed the time
    key code 48 # press tab 4 times in the license window
    key code 48
    key code 48
    key code 48
    keystroke " " # press space to click "accept"
end tell

ইন bash, আমি লিখতে সক্ষম

/System/Library/CoreServices/DiskImageMounter.app/Contents/MacOS/DiskImageMounter file.dmg & osascript accept.scpt

আমি উল্লেখ করতে ভুলে গেছি যে আমি পুতুল ব্যবহার করি না। এই উত্তরটি তাই মারাত্মকভাবে অকেজো হতে পারে, তবে যেহেতু এটি কয়েক দিন হয়ে গেছে, তাই আমি পোস্ট করেছি posted
ড্যানিয়েল বেক

এইচএমএম ওসাসক্রিপট চালানোর চেষ্টা করার সময় আমি একটি ত্রুটি পেয়েছি গ্রহণ.সিএসপিটি iles ডটফিলস গিট: (মাস্টার) ✗ ওসাস্ক্রিপ্ট સ્વીক। এসএসসিপি ওসাস্ক্রিপ্ট: গ্রহণ.scpt: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
অনুদান

@ গ্রান্ট আপনাকে প্রথমে নির্দিষ্ট সামগ্রী দিয়ে ফাইল তৈরি করতে হবে।
ড্যানিয়েল অঙ্গুলিনির্দেশ

18

এটি আমার জন্য কাজ করেছিল যখন আমি একটি .dmg এর মুখোমুখি হয়েছি যার মধ্যে একটি EULA রয়েছে যা আমি এটি ব্যবহারকারীর কোনও ইন্টারঅ্যাকশন না করে কমান্ড লাইনের মাধ্যমে ইনস্টল করতে চেয়েছিলাম ...

/usr/bin/hdiutil convert -quiet foo.dmg -format UDTO -o bar
/usr/bin/hdiutil attach -quiet -nobrowse -noverify -noautoopen -mountpoint right_here bar.cdr

(নোট: আমি যুক্তিসঙ্গতভাবে নিশ্চিত না উপরে সমস্ত বিকল্পগুলির প্রয়োজন হয় am EULA বাইপাস যেমন -nobrowse, -noverify, -noautoopen, -mountpointতবে আমি তাদের ব্যবহার করেছি এবং আমার পরীক্ষা তাদের ছাড়া হয়নি তাই আমি দাবি কিছু চাইনি যে আমি। পরীক্ষা করা হয়নি।)

আমি যা দিয়ে শেষ করেছি তার সাথে একটি ডিরেক্টরি ছিল

bar.cdr
foo.dmg
right_here/

যেখানে EULA এর জন্য প্ররোচিত না right_here/করে সামগ্রীর সামগ্রী রয়েছে foo.dmg

আপনার কাজটি শেষ হয়ে গেলে অবশ্যই আলাদা!

/usr/bin/hdiutil detach right_here/

আরও তথ্যের জন্য: hdiutil (1) ম্যাক ওএস এক্স ম্যানুয়াল পৃষ্ঠা

YMMV


1
ধন্যবাদ - এটি বহু-পৃষ্ঠার চুক্তির সাথে ভাল কাজ করেছে, যেখানে বারবার 'y' কাজ করে না।
লার্স রোহরবাচ

1
আমার জন্যও কাজ করেছেন। যদিও এটি সিডিআর ফাইলে রূপান্তর করার জন্য আমার কেবল প্রথম লাইনের দরকার ছিল, তবে আমি কেবলমাত্র এই সমস্ত যুক্তি ছাড়াই এটি সংযুক্ত করতে পারি এবং এটি কাজ করে।
ম্যাক্সিমাম ভাইয়ারগিউস

7

যদি এটিতে কেবল "Y" টাইপ করা দরকার হয়, তবে হ্যাঁ আদেশটি hdiutil কমান্ডে পাইপ করুন:

yes | /bin/hdiutil [...]

এটি 'y' টিপে অনুকরণ করবে এবং কমান্ড লাইনে ফিরে আসবে।

অন্য কিছু টাইপ করতে, কেবলমাত্র প্যারামিটার হিসাবে কমান্ড লাইনে এটি চাপুন:

yes accept | ...

এটি স্ক্রিপ্টে 'গ্রহণ করুন' প্রবেশ করবে।

মনে রাখবেন যে স্ক্রিপ্টটি একাধিকবার ইনপুট চেয়েছে, হ্যাঁ কমান্ড একাধিক এন্ট্রি প্রবেশ করবে You


আমি এটি কখনও চেষ্টা করি নি, তাই স্টাউট পুনর্নির্দেশ সম্পর্কে আমি জানতাম না। +50 এর জন্য ধন্যবাদ!
mauvedeity

6

আমি সম্প্রতি একটি ডিএমজির মুখোমুখি এসেছি যার একটি EULA ছিল এবং এটি সত্যিই আমাকে বিরক্ত করেছিল যেহেতু আমি এর চারপাশে স্ক্রিপ্ট করতে পারিনি। আমি আবিষ্কার করেছি যে আমি যদি ডিএমজিটিকে সিডিআরে রূপান্তর করি তবে এটি সিডিআর মাউন্ট করার সময় EULA কে বাইপাস করে।

আমি যা করেছি তা এখানে:

hdiutil convert foo.dmg -format UDTO -o bar.cdr
hdiutil attach bar.cdr
rm foo.dmg <--optional

আশাকরি এটা সাহায্য করবে.


এটি আমাকে এক টন সহায়তা করেছে! yes | hdiutil...যখন কিছু পাগল কারণে একটি পাইথন স্ক্রিপ্ট থেকে বলা সমাধান আমার জন্য স্তব্ধ হবে।
নাথন

1

আপনার যদি মাল্টি-পেজযুক্ত EULA থাকে যা আপনাকে গ্রহণ করতে হবে, আপনি qনিজের বাকী গ্রহণযোগ্য কমান্ডের আগে একটি অংশ রেখে গ্রহণযোগ্য অংশটি পেতে পারেন (যেহেতু আপনার প্রয়োজনীয় সমস্তটি একটি স্বীকৃত প্রস্থান কমান্ডের মধ্যে রয়েছে less, আপনি এটি ব্যবহার করতেও পারেন ZZবা Q)।

উদাহরণস্বরূপ, EULA আপনার যদি yচালাতে চান তা স্বীকার করতে একটি টাইপ করা দরকার :

yes qy | hdiutil attach ...

0

প্যাকেজ ইনস্টল করতে আপনার পুতুলের নিজস্ব সরঞ্জাম ব্যবহার করা উচিত নয়? আমি নিজেই একজন র‌্যাডমাইন্ড অ্যাডমিন এবং আমি পুতুলের সাথে পরিচিত নই, তবে তাদের উইকিতে একটি পরীক্ষা করে জানা যায় যে pkgdmg নামে একটি সরঞ্জাম রয়েছে যা আপনি অর্জনের চেষ্টা করছেন তার সমতুল্য হতে পারে।

http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Mac_Osx#packagepkgdmg


1
এটি এমন অ্যাপ্লিকেশনগুলিকে পরিচালনা করে না যার জন্য লাইসেন্স গ্রহণের প্রয়োজন হয়।
ভাইটালি কুশনার

প্রকৃতপক্ষে; আমি এই ধারণার মধ্যে ছিলাম যে আপনি লাইসেন্স গ্রহণের প্রয়োজন ছাড়াই আপনার নিজের প্যাকেজ তৈরি করবেন creating আমার ধারণা, এমন কোনও র‌্যাডমাইন্ড অ্যাডমিনের মানসিকতা।
এনআরিলিংহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.