ম্যাকের জন্য লিনাক্সের আপডেট বি কমান্ডের সমতুল্য কী?


234

যদি আমি locateলিনাক্স মেশিনে কমান্ডটি ব্যবহার করতে চাই তবে আমি সাধারণত sudo updatedbডেটাবেস আপডেট করার জন্য প্রথমে চালিত হই । আমি locateওএস এক্স 10.5 এ কমান্ডটি চালাতে পারি তবে খুঁজে পাচ্ছি না updatedb। ম্যাকের সাথে সম্পর্কিত আপডেটডব কী?


ভাল upatedb এবং সনাক্ত করা দুর্দান্ত জিনিস তবে সেগুলি নিয়মিত আপডেটডব চালানো প্রয়োজন (হয় আপডেটড নিয়মিতভাবে চালিত হয় এবং এটি আপনার সিস্টেমটি অসুবিধার সময়ে ধীর করে দেয়, বা ফাইলগুলিতে উল্লেখ নেই যা সেখানে নেই)। সুতরাং আমি মনে করি যে সনাক্ত / আপডেটবিড স্থাপনের পরিবর্তে (আরও শক্তিশালী) সন্ধানের সাথে পরিচিত হওয়া ভাল।
amo-ej1

9
যদিও সন্ধানটি প্রচুর জিনিসের জন্য কার্যকর, তবে প্রতিবার ফাইল সিস্টেমের মধ্য দিয়ে যেতে হবে না। আপনি যে জায়গাগুলি সন্ধান করছেন সেখানে যদি সংকীর্ণ করতে পারেন তবে তা ঠিক। সনাক্ত করার সুবিধাটি হ'ল এটি তার নিজস্ব ডাটাবেস রাখে এবং তাই প্রতিবার অনুসন্ধান করার প্রয়োজন হয় না। এটি বড় এবং / অথবা দূরবর্তী ফাইল সিস্টেমগুলির সাথে বিশেষত গুরুত্বপূর্ণ। আমি মনে করি যে প্রত্যেকেরই এর নিজস্ব জায়গা আছে।
কিথবি

1
locateকোনও ওএস এক্স বক্সে যখন প্রথম চলমান তখন এটি আপনাকে চালনা করতে বলে sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
তারেক গবর

11
আপনার কী ব্যবহার করতে হবে তার উপর নির্ভর করে locateস্পটলাইটে কমান্ড লাইন ইন্টারফেসটি ব্যবহার করা আপনার পক্ষে আরও সুবিধাজনক বলে মনে হতে পারে mdfind, যেহেতু স্পটলাইট ডাটাবেস প্রায় সর্বদা আপ-টু-ডেট থাকে এবং এটি সনাক্তকরণের চেয়ে অনেক বেশি কার্যকারিতা সরবরাহ করে। man mdfind
পল আর

উত্তর:


327

এটা locate.updatedbম্যাক এ।

sudo /usr/libexec/locon.updatedb

আরও তথ্যের জন্য, edit.updatedb ম্যান পৃষ্ঠাটি দেখুন


9
এই manপৃষ্ঠাটিও দাবি করে: এটি সাধারণত / সিস্টেমে / লাইব্রেরি / লঞ্চডেমোনস / কম.এপল.লোক.পল্লিস্ট জব দ্বারা সপ্তাহে একবার চালানো হয়। (এবং man locateসেই স্ক্রিপ্ট সম্পর্কে একটিতে বলে: /usr/libexec/locon.updatedb স্ক্রিপ্টটি ডেটাবেস ডেটাবেস আপডেট করার জন্য )
আরজান

5
@ আরজান: এটি সপ্তাহে একবার চালানো উচিত, তবে এটি ডিফল্টরূপে অক্ষম হয়ে যায় এবং এটি করার সময়টি রবিবার সকাল 3 টা (বা এর মতোই কিছু), যা সত্যই কার্যকর নয় :)
স্টাডার

লিনাক্সে আমি সাধারণত চালিত করি sudo ionice -c3 updatedbযা updatedbআই / ও নিয়ন্ত্রককে সুন্দরভাবে ভাগ করতে বলে (আইও সুন্দর) তবে আমি মনে করি না এই আদেশটি ম্যাকের জন্য উপলব্ধ available আমি -rনিয়মিত প্রকাশের পতাকাটিও মিস করছি যা জিএনইউ সনাক্তকরণের সাথে ব্যবহার করা যেতে পারে, যদিও আমি নিশ্চিত নই যে আমি হোমব্রিউ ব্যবহার করতে চাই এবং @ গ্রোগের দ্বারা উল্লিখিত জিএনইউ সনাক্তকরণটি ইনস্টল করতে চাই
সিডব্লুডি

3
"সন্ধান করুন (-আর)" এবং "আপডেটবিড" এর ম্যাকোসেক্স বিকল্পের উদাহরণ যা স্পটলাইট ব্যবহার করে ("-i" ofচ্ছিক অবশ্যই): এমডিফাইন্ড-নাম "এমপি 4" | egrep -i "^ / ব্যবহারকারীগণ। * ডাউনলোডগুলি /.* স্টাফ"
মাইকেল 25

এছাড়াও, আপনি যদি না ফাইল যা আপনি এর বাগ অংশ থেকে প্রাসঙ্গিক সতর্কীকরণ খেয়াল করা আশা খুঁজে র manpage : The locate database is typically built by user ''nobody'' and the locate.updatedb(8) utility skips directories which are not readable for user ''nobody'', group ''nobody'', or world. For example, if your HOME directory is not world-readable, none of your files are in the database
আশুতোষ জিন্দাল

85

কমান্ডটি উপলভ্য sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedbকরতে আপনি করতে পারেন updatedb


হেই, আমি এটি একটি মন্তব্য হিসাবে পোস্ট করেছি .. তারপরে আপনি এটি দেখেছেন। আমি মনে করি এটি তৈরি করার জন্য একটি দুর্দান্ত সামান্য মোড। :)
জেমস টি স্নেল

3
বা এটি আপনার .বাশ_ প্রোফাইলে উপন্যাস
জিম জনসন

19

ব্যক্তিগতভাবে, আমি সবেমাত্র Findutils ইনস্টল করেছি (ম্যাকপোর্টস বা হোমব্রু ব্যবহার করুন)।

তারপরে আপনার জিএনইউ সনাক্ত এবং আপডেটব রয়েছে।

আপডেটডো সুডো ছাড়া কাজ করবে না।

ব্যক্তিগতভাবে আমি প্রতি ব্যবহারকারী অবস্থিত যদিও থাকতে পছন্দ করি; আপনি যদি sudo করেন তবে অন্য ব্যবহারকারীরা আপনার সমস্ত ফাইলের নাম / অবস্থান জানতে পারবেন।

আমার চালনার জন্য ক্রোন জব রয়েছে:

updatedb --localpaths='/Users/grogs' --output='/Users/grogs/tmp/locatedb'

এবং আমার .zshrc .Bashrc / .Bashprofile এ:

export LOCATE_PATH="~/tmp/locatedb"


3
ওএস এক্স মাভেরিক্সে ব্রু-ইনস্টলিং ফাইন্ডুলগুলি আমাকে gupdatedbকমান্ড দিয়েছে , updatedbএকটিও নয়। দুর্ভাগ্যক্রমে এই আদেশটি আমাকে এখানে বর্ণিত একটি ত্রুটি দিয়েছে (যেখানে আপনার এসও উত্তরটি রেফারেন্স করা হয়েছে)। পরিশেষে আমি ওরফে থাকেন updatedbকরার LC_ALL=’C’ sudo updatedbএকটি ওয়ার্কঅ্যারাউন্ড হিসেবে, কিন্তু যদি এই একটি দীর্ঘমেয়াদী সমাধান আমি জানি না।
ডেভিড নদী

2
/opt/local/libexec/gnubinআপনার পথের শুরুতে যুক্ত করুন , যদি আপনি চান coreutilsএবং findutilsইনস্টল করে macportsতাদের মূল নামগুলি (এবং তাদের gপূর্বনির্ধারিত সংস্করণ নয়) এর সাথে উপলব্ধ থাকে।
আয়নানস ফিলিপিসিস

2

আপনি যদি প্রথম ডাটাবেস আপডেট না করে সনাক্ত করে চালান তবে আপনার ওএসের প্রস্তাবিত উপায়টি আউটপুট দ্বারা দেখার সুযোগ পাবেন।

WARNING: The locate database (/var/db/locate.database) does not exist.
To create the database, run the following command:

  sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.