আমি চাই যে কিছু ব্যবহারকারীর (বা কিছু প্রক্রিয়া) আলাদা সময় এবং তারিখ থাকে। এটা কি সম্ভব?
কিভাবে আমি এটি করতে পারব?
আমি চাই যে কিছু ব্যবহারকারীর (বা কিছু প্রক্রিয়া) আলাদা সময় এবং তারিখ থাকে। এটা কি সম্ভব?
কিভাবে আমি এটি করতে পারব?
উত্তর:
কি RunAsDate করে নিম্নলিখিত হল:
রানএসডেট কার্নেল এপিআই কলগুলিকে বাধা দেয় যা বর্তমান তারিখ এবং সময় (গেটসিসটেমটাইম, গেটলোকালটাইম, গেটসিসটেমটাইমএফসিলটাইম) প্রদান করে এবং বর্তমান তারিখ / সময়কে আপনার নির্দিষ্ট তারিখ / সময়ের সাথে প্রতিস্থাপন করে।
লিনাক্সের অধীনে আপনার একই জিনিসটি সম্পাদনের জন্য কিছু বিকল্প রয়েছে:
আপনি যদি প্রোগ্রামটির একটি উইন্ডোজ সংস্করণ পেতে পারেন তবে আপনি ওয়াইনের অধীনে রানএসেটেট চালাতে সক্ষম হতে পারেন (তবে সাম্প্রতিক বাগটি দেখুন )।
এটি করার জন্য একটি মোড়কের লাইব্রেরিটি সন্ধান করুন বা আপনার নিজের লেখা। কিছু বিকল্প নীচে দেওয়া হল।
ভার্চুয়াল মেশিন ব্যবহার করুন। এটি ওভারকিল, তবে যেহেতু অতিথি ভিএম-তে কোনও ওএস অন্তর্নিহিত হোস্ট থেকে সম্পূর্ণ পৃথক, আপনি সিস্টেমের সময়টিকে সম্পূর্ণ আলাদাভাবে সেট করতে পারেন। অন্যান্য বিকল্পগুলির তুলনায় এটি সেটআপ করা দ্রুত হতে পারে।
আপনি কী চালানোর চেষ্টা করছেন তার উপর নির্ভর করে বিকল্প 2 বিভিন্ন পদ্ধতি দ্বারা সম্পন্ন হতে পারে। ডেভপ্যারিলোর নীচের উত্তরটি একটি ডিআইওয়াই পদ্ধতির সাথে লিঙ্ক করে যা বিভিন্ন পদ্ধতি ব্যাখ্যা করে এবং একটি কার্যকর করার জন্য কোডও অন্তর্ভুক্ত করে। কিছু অন্যান্য বিকল্পের মধ্যে রয়েছে:
datefudge
, ডেবিয়ান / উবুন্টু সংগ্রহস্থল এবং অন্যান্য জায়গায় উপলব্ধ।
সময় নকল পার্ল মডিউল, প্যাকেজ হিসাবে দেবিয়ান সংগ্রহস্থলগুলিতে libtime-fake-perl
।
ফেকটাইম প্রিললোড লাইব্রেরি (ওরফে libfaketime
, ফ্রেশ মিট লিঙ্ক ), একটি লাইব্রেরি যা গতিযুক্ত -লিঙ্কযুক্ত বাইনারিগুলিতে সিস্টেম কলকে বাধা দিতে পারে। স্কিজ এবং সিডের জন্য ডেবিয়ান সংগ্রহস্থলে উপলব্ধ।
লিনাক্স উবুন্টুতে রানআসডেটের বিকল্প খুঁজতে আমার একই সমস্যা ছিল এবং আমি এই সমাধানটি নিয়ে এসেছি।
আমি প্রোগ্রামটির একটি লঞ্চার তৈরি করেছি যা আমি রানএসডেটের সাথে ব্যবহার করতে চাই। আপনি যদি সফটওয়্যারটি ব্যবহার করতে চান তবে তাকে ফু বলা হয়, আপনার ডেস্কটপে Foo.desktop নামে একটি ফাইল তৈরি করুন, এবং জেডিট বা অনুরূপ পাঠ্য সম্পাদক ব্যবহার করে এটি সংশোধন করুন। তারপরে এতে কোডের নিম্নলিখিত লাইনগুলি যুক্ত করুন:
[Desktop Entry]
Name=Foo
Comment=Runs the Foo application
Exec=sh -c "sudo date --set '01 Jan 2008 12:00:00'; path/to/Foo; sudo timedatectl set-ntp no; sudo timedatectl set-ntp yes;"
Icon=path/to/icon.png
Terminal=true
Type=Application
StartupNotify=true
আপনার প্রকৃত সংস্থানগুলি সহ আপনাকে কেবল নাম, মন্তব্য এবং আইকন তথ্য পরিবর্তন করতে হবে।
আপনি অ্যাপ্লিকেশনটি ব্যবহার করার সময় এক্সেক অপশনটি সেশনটির জন্য সিস্টেমের তারিখ পরিবর্তন করে, তারপরে আপনি এটি শেষ করার পরে সিস্টেমের তারিখটি স্বয়ংক্রিয়ভাবে পুনরায় সিঙ্ক করুন।
আপনি চাইলেই যে কোনও মানের জন্য টিজেড সেট করতে পারেন। সিস্টেমের সময়টি প্রভাবিত হয়নি, তবে আপাত সময় পরিবর্তন হবে। এটি কার্নেলকে বাধা দেওয়ার মতো নয়, তবে কোডিংয়ের প্রয়োজন নেই। (3 টি বর্ণচিহ্ন শনাক্তকারী) ব্যবহার করুন (ইউটিসি এইচ: এম: এস থেকে অফসেট) [(গ্রীষ্মের সময় শনাক্তকারী) (ইউটিসি এইচ: এম: এস) থেকে গ্রীষ্মের অফসেট]]। উদাহরণস্বরূপ: TZ=XXX[+-]hh:ss:ssYYY[+-]hh:ss:ss
দ্বিতীয় (গ্রীষ্ম) সেটটি isচ্ছিক।
date; export TZ=FOO+23:11:17; date; export TZ=; date
আয়:
Sat Oct 24 20:01:55 UTC 2009
Fri Oct 23 21:01:11 FOO 2009
Sat Oct 24 20:01:55 UTC 2009
যদিও আমি এটির জন্য আফসোস করতে পারি, এখানে একটি উদাহরণ রয়েছে যা আপনি আপনার কার্নেলটি মোড করার জন্য এবং তারিখ সম্পর্কে সমস্ত বা সদ্য নির্বাচিত প্রোগ্রামগুলি সম্পূর্ণ জাল করে তুলতে পারেন।
আপনি কি এটি সম্পাদন করার চেষ্টা করছেন?
লিনাক্স, ইউনিক্স প্রতিটি ব্যবহারকারী ভিত্তিতে সময় অঞ্চল নির্ধারণ করে