ম্যাকপোর্টগুলি আপডেট করার জন্য চালু হয়েছে Using


2

আমি আমার ম্যাকপোর্টস ট্রি পর্যায়ক্রমে আপডেট করার জন্য লঞ্চযুক্ত ব্যবহার করতে চাই (যেমন port selfupdate

আমি তৈরি করেছি /Library/LaunchDaemons/org.macports.selfupdate.plist:

$ ls -l /Library/LaunchDaemons/org.macports.selfupdate.plist
-rw-r--r--  1 root  wheel  669  8 Nov 12:49 /Library/LaunchDaemons/org.macports.selfupdate.plist

এটিতে নিম্নলিখিত বিষয়বস্তু রয়েছে:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.macports.selfupdate</string>
<key>ProgramArguments</key>
<array>
    <string>/opt/local/bin/port</string>
    <string>selfupdate</string>
</array>
<key>StandardOutPath</key>
<string>/var/log/org.macports.selfupdate.log</string>
<key>StandardErrorPath</key>
<string>/var/log/org.macports.selfupdate.err</string>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>604800</integer><!-- 1 week -->
</dict>
</plist>

আমি এটি লোড করেছি এবং যাচাই করেছি যে এটি লোড হয়েছে:

$ launchctl list | grep macports
-   78  org.macports.selfupdate

এটি আসলে চলমান বলে মনে হচ্ছে না।

$ port info wireshark
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
wireshark @1.12.8_3 (net)
...

আমি কী মিস করছি?

উত্তর:


1

আপনি সম্ভবত প্লিস্টটি ~ / লাইব্রেরি / লঞ্চএজেন্টস / এ রেখেছেন। যেহেতু / অপ্ট / স্থানীয় রুটের মালিকানাধীন: চাকা (এটি অন্ততপক্ষে ডিফল্ট), তাই নির্দিষ্ট প্রয়োজনীয় ফোল্ডারে (যেমন /opt/local/var/macport/sources/rsync.macport) লিখতে আপনার কাছে যথাযথ অনুমতি নেই। সংস্থা / রিলিজ / tarballs / tmp -র পরিবর্তে)। লগ ফাইলগুলি (যেমন /var/log/org.macport.selfupdate.log/err) উভয়ই তৈরি করা যায় না, কারণ কেবল রুটটি / var / লগ / এ লিখতে পারে।

সুতরাং লঞ্চ ডেমন হিসাবে স্ব-আপডেট পরিষেবাটি চালান:

  • লঞ্চ হওয়া ডাটাবেস থেকে লঞ্চ এজেন্টটি সরান:

    launchctl remove org.macports.selfupdate
  • প্লিস্টটি / লাইব্রেরি / লঞ্চডেমোনস / এ সরান:

    sudo mv ~/Library/LaunchAgents/org.macports.selfupdate.plist /Library/LaunchDaemons/org.macports.selfupdate.plist
  • মালিক এবং অনুমতিগুলি সংশোধন করুন:

    sudo chown root:wheel /Library/LaunchDaemons/org.macports.selfupdate.plist
    sudo chmod 644 /Library/LaunchDaemons/org.macports.selfupdate.plist
    
  • ডেমন লোড করুন:

    sudo launchctl load /Library/LaunchDaemons/org.macports.selfupdate.plist

এই জাতীয় লঞ্চটি মূল অনুমতি নিয়ে চালিত হয় এবং ম্যাকপোর্টস ডেটা আপডেট করার পাশাপাশি / var / লগ / এ লিখতে পারে।


এটা আসলে ছিল /Library/LaunchDaemons। যেখানে এটি হওয়া উচিত নয়? এর মধ্যে আমি আমার অনুমতি যাচাই করব।
স্টিফেন রাস্কু

@ স্টেফেনআরস্কু আপনি কি শুরুতে ডেমোনটি চালু করেছিলেন sudo launchctl load /Library/LaunchDaemons/org.macports.selfupdate.plist? স্ব-আপডেট ত্রুটি লগ / সেল্ফআপেট সাধারণ লগটি কী প্রকাশ করে?
ক্লোনামথ

আমি এটি সেভাবে চালু করেছি। আমি এটি করার সময় কোনও লগ দেখতে পাইনি। আমি কেবল এটি আবার করেছি এবং ডায়াগোনস্টিকগুলি যুক্ত করেছি এবং দেখে মনে হচ্ছে rsyncযে কোনও কারণে প্রক্সিটিতে সংযুক্ত হচ্ছে না।
স্টিফেন রাস্কু

আমি কেবল port installকমান্ড লাইন থেকে একটি কমান্ড চালিয়েছি এবং এটিও ব্যর্থ হয়েছিল। আমার আগে এই সমস্যা ছিল না। আমি সকালে এটি একবার তাকান।
স্টিফেন রাস্কু

@ স্টেফেনআরস্কু ফাইল /var/log/org.macport.selfupdate.log ফাইলটিতে কমপক্ষে কিছু বিশদ থাকতে হবে । আমি এটি একটি ভিএম-তে পরীক্ষা করেছি (প্রথমে ~ / Lib / LaunchAgents / এ, তারপরে /Lib/LaunchD.../ তে লঞ্চ ডিমন হিসাবে প্রথম চেষ্টাটি ব্যর্থ হয়েছিল - দ্বিতীয়টি কিছু লাইন লিখেছিল (যেমন বন্দরের সংস্করণ ইত্যাদি)
klanomath
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.