হোমব্রু অটো আপডেট করা


13

আমি বর্তমানে হোমব্রিউ প্যাকেজ ম্যানেজারটি ব্যবহার করছি এবং আমার প্রশ্নটি হ'ল: কার্যকর করার জন্য কোনও ব্যাশের স্ক্রিপ্ট লিখতে brew updateএবং অবশেষে brew upgradeযখনই প্রথমবার কোনও শেল খোলার সম্ভাবনা থাকে? আমি এই মুহুর্তে আইটার্ম ব্যবহার করছি।


আপনি ~/.bash_profileফাইল এ এটি করতে পারেন । আপনাকে কেবলমাত্র 1 টি টার্মিনাল সেশনটি খোলা আছে এবং তারপরে চালনা করা উচিত brew update। টার্মিনাল উইন্ডোগুলির সংখ্যা নির্ধারণের জন্য stackoverflow.com/questions/6172663/… দেখুন ।
ম্যাটিউজ স্লোসেক

স্ক্রিপ্টটি কার্যকর হওয়ার সময় যে টার্মিনালগুলি খোলা থাকে বা সাধারণভাবে টার্মিনালের সংখ্যাটি খোলা হয়?
g_rmz

স্ক্রিপ্টটি চালিত হওয়ার পরে এটি টার্মিনালগুলি (উইন্ডোজ + ট্যাবগুলি) খোলে। ~/.bash_profileটার্মিনাল সেশনের শুরুতে স্বয়ংক্রিয়ভাবে কার্যকর করা হয়। brew updateআপনার প্রথম শুরুতে চালানোর প্রয়োজন হলে এই চেকটি দরকার । আপনি এই প্রত্যেক সময় নতুন উইন্ডোতে খোলা হয় চালাতে চান, তাহলে এই ধাপটি উপেক্ষা এবং চালানোর brew updateমধ্যে ~/.bash_profile
ম্যাটিউজ স্লোসেক

এটি একটি টার্মিনাল ট্যাবটি খুব ধীর করে দেবে
ব্যবহারকারী 151019

ঠিক আছে ধন্যবাদ! :) এটি টার্মিনালের অভিনয় খুব খারাপ হ্রাস করবে?
g_rmz

উত্তর:


20

এটি করা খুব সহজ।

দক্ষতার জন্য (এবং শীতল ফ্যাক্টর), আমি লিঙ্কনের মতো একটি সরঞ্জামটি এই স্ক্রিপ্টটি পর্যায়ক্রমে চালু করার সময় প্রতিবার শেল শুরুর পরিবর্তে লঞ্চক্টেল / লঞ্চ ব্যবহার করে ব্যবহার করব। আমার ম্যাকবুকটিতে, দ্বিতীয় বার আপডেট করতে 3 সেকেন্ড সময় লাগে (কোনও কাজ শেষ হয়নি, ডিএনএস ক্যাশে সেট ইত্যাদি ...) এবং প্রথম বার চালাতে 10 সেকেন্ড সময় লাগে (কোনও কাজ শেষ হয়নি) বা প্যাকেজের প্রয়োজন হলে 15+ সেকেন্ড সময় লাগে ডাউনলোড বা সংকলন করা।

সম্ভবত দিনে একবার বা একবারে একবার - ব্যাকগ্রাউন্ডে দৌড়ানো কি সেই সময়গুলি কার্যকর করার জন্য যথেষ্ট হবে?

আপনি এমন একটি সহজ স্ক্রিপ্ট তৈরি করতে পারেন /usr/local/bin/brewupযা বারুকে ব্রিউ কল করে এবং ফলাফলগুলিকে সিস্টেম লগে লগ করে

#!/bin/bash

brew=/usr/local/bin/brew
logger=/usr/bin/logger

$brew update 2>&1  | $logger -t brewup.update
$brew upgrade 2>&1 | $logger -t brewup.upgrade
$brew cleanup 2>&1 | $logger -t brewup.cleanup

আমি যখন চা তৈরি করতে যাব বা যখন আমি শুরু করব এবং পটভূমিতে চলি তখন আমি কেবল ব্রিউপ কল করি।

brewup &

2
+1 আমি সম্মত হচ্ছি যে টার্মিনালের প্রতিটি শুরুতে চালানোর পরিবর্তে টোম ধরণের লঞ্চক্ল্যাট ব্যবহার করা ভাল। সংযোজনযুক্তভাবে এটি টার্মিনালটি স্বতন্ত্র (আইটার্ম ব্যবহারকারীদের জন্য)।
ম্যাটিউজ স্লোসেক

1
এটি উজ্জ্বল, আপনাকে ধন্যবাদ! :) লিঙ্গনের পরিবর্তে ক্রন্টব কীভাবে?
g_rmz

2
@g_rmz ক্রন্টব-এ কোনও ভুল নেই এবং এটি জানা সহজ। এটি যদি কাজ করে তবে এটির সাথে চালান। launchdওভারের সুবিধাগুলি cronহ'ল এটি আরও বেশি স্থিতিস্থাপক, আরও শক্তিশালী বন্ধুত্বপূর্ণ এবং ঘুম / মিস মিস অন্তরগুলি আরও প্রাকৃতিকভাবে পরিচালনা করে।
bmike

দুর্দান্ত স্ক্রিপ্টের জন্য ধন্যবাদ। কৌতূহলের বাইরে - কী বিকল্প?
এভিরিস

1
আরে @ দাহভেদ tপতাকাটির শুকনো সংস্করণের জন্য লগারের জন্য ম্যান পৃষ্ঠাটি দেখুন । আমি এটি ব্যবহার করি যাতে আমি লগের সাগরে এই বার্তাগুলি কোনও সহজ grepবা logকমান্ড এবং ভবিষ্যদ্বাণী / অনুসন্ধান শব্দটির সাথে খুঁজে পাই ।
bmike

7

হোমব্রিউ-অটোপেট নামে একটি সরঞ্জাম রয়েছে যা এটি আপনার জন্য করবে। brew updateআপনি যখন প্যাকেজ ইনস্টল / আপগ্রেড করতে যান তখন আপনার সর্বদা তাজা হোমব্রিউ ডেটা থাকে তা নিশ্চিত করার জন্য এটি প্রতি 24 ঘন্টা ( স্বয়ংক্রিয়ভাবে ) ব্যাকগ্রাউন্ডে চলতে পারে।

এটি ইনস্টল করতে রান করুন brew tap domt4/autoupdateএবং brew autoupdate --start 43200প্রতি 12 ঘন্টা (43200 সেকেন্ড) অটোপেটে এটি কনফিগার করুন।


0

আমি স্টার্ট আপে হোমব্রু আপডেট করতে পছন্দ করি। আমার একটি স্ক্রিপ্ট Update Homebrew.shরয়েছে ~/Library/Scripts:

#!/usr/local/bin/bash

for cmd in update upgrade cleanup\ -s; do
  brew $cmd
done

এই স্ক্রিপ্টটি ব্যবহার করে স্টার্ট আপ চলমান launchd। যে জন্য, আমি আছে Update Homebrew.plistমধ্যে ~/Library/LaunchAgents:

<?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>Update Homebrew</string>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/Daan/Library/Scripts/Update Homebrew.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>

মনে রাখবেন যে ম্যাকবুক রয়েছে এবং কেবল openাকনাটি খুলুন এবং বন্ধ করলে এটি নির্ভরযোগ্যভাবে আপডেট হবে না। যাইহোক, এটি আমার আইম্যাকের জন্য ভালভাবে কাজ করে যে আমি নিয়মিত শাট ডাউন করে শুরু করি। যদি এটি কাজ করে আমাকে জানাবেন!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.