অস্থায়ীভাবে সময় পরিবর্তন করুন


18

আমার সফ্টওয়্যারটির এমন দিকগুলি পরীক্ষা করা দরকার যা কেবলমাত্র দিনের নির্দিষ্ট সময়ে ঘটে। পুরো দিন অপেক্ষা করার পরিবর্তে (এবং সকাল 2:00 টায় এখানে আসার চেয়ে) আমি সময়টি পরিবর্তন করতে চাই।

তবে আমি স্থায়ীভাবে এটি পরিবর্তন করব না ।

আমি জানি আমি ব্যবহার করে সময় পরিবর্তন করতে পারি date, এবং আবার এটি আবার পরিবর্তন করতে পারি, তবে এর থেকে আরও ভাল উপায় কি আছে?

প্রশ্নে থাকা ওএসটি কোনও ভিএম-তে চলছে RHEL6।


এটির মূল্যের জন্য, আমি আমার ভিএম এর অভ্যন্তরে অস্থায়ীভাবে সময় পরিবর্তন করতে সমস্যায় পড়েছিলাম, তবে আমার স্ট্যান্ড-একা সিস্টেম নিয়ে কোনও সমস্যা হয়নি। এটি পড়ার জন্য এটি উপযুক্ত হতে পারে: উবুন্টুতে সময়
সংযোগটি

উত্তর:


24

এখানে একটি গ্রন্থাগার রয়েছে libfaketime( গিটহাবের উপরেও ) যা আপনাকে সিস্টেমে আপনার অ্যাপ্লিকেশনটিতে একটি নির্দিষ্ট সময় রিপোর্ট করতে দেয়। আপনি প্রোগ্রামটি কার্যকর করার সময়কালের জন্য সিস্টেমে একটি নির্দিষ্ট সময় রিপোর্ট করতে পারেন বা কিছু নির্দিষ্ট সময়ে ঘড়িটি শুরু করতে পারেন (উদাহরণস্বরূপ, 01:59:30)। মূলত, আপনি জালিয়াতির লোডার মাধ্যমে আপনার প্রোগ্রামের ইন-মেমরি চিত্রটিতে ফকলটাইম লাইব্রেরিটি হুক করেন এবং এটি সিস্টেমের সাথে সম্পর্কিত সমস্ত সিস্টেম কলগুলি ক্যাপচার এবং পরিচালনা করে। এটি সিস্টেমের সময়টিকে ঠিক পরিবর্তন করে না , তবে যা চলছে তার কোনও কিছুই প্রভাবিত না করে আপনার নির্দিষ্ট অ্যাপ্লিকেশনটিতে যে সময়টি রিপোর্ট করা হয়েছে তা পরিবর্তিত হয় যা সম্ভবত আপনি যা পরে রয়েছেন সম্ভবত (অন্যথায়, আমি কেবল বিশ্বব্যাপী পরিবর্তন না করার কোনও কারণ দেখতে পাচ্ছি না সিস্টেম সময়)।

এটি কীভাবে ব্যবহার করবেন সে সম্পর্কে বেশ কয়েকটি সম্ভাব্য বৈকল্পিক রয়েছে, তবে এটি প্রক্রিয়াটি লাইবফেকটাইমের সাথে কী সময় মনে করে তা পরিবর্তনের মতো বলে মনে হচ্ছে নমুনা কোডের সাথে তাদের চেষ্টা করে দেখার জন্য একটি দুর্দান্ত পুস্তক তালিকা রয়েছে। গুগল এমন কয়েকটি উদাহরণও সন্ধান করতে সক্ষম হবে যে আপনি কী কী সন্ধান করবেন জানেন।

এটি প্রদর্শিত হবে এটি RHEL ভান্ডার মাধ্যমে অনুরোধকে পাওয়া যায় না, কিন্তু উদাহরণস্বরূপ ডেবিয়ান প্যাকেজ নামে এটি উপলব্ধ করাfaketime । এটি উত্স কোড থেকে তৈরি করার জন্যও সরাসরি এগিয়ে দেখায় (এটি সম্ভবত একটি configureপদক্ষেপ বা এর মতো কোনও কিছুরও প্রয়োজন হয় না )।


1
ফেডোরা / সেন্টোস / আরএইচএল রেপোতে এটির যে কোনও প্রাক-বিল্ড পাওয়া যায় নি। এখানে এই আরপিএম উপলব্ধ আছে তবে এটি সেন্টোসের জন্য পুনর্নির্মাণ করা প্রয়োজন।
slm

@ এসএলএম করুণা, যে, কিন্তু উত্স থেকে তৈরি করা কঠিন হওয়া উচিত নয় (চেষ্টা না করেই বলা হয়েছিল)।
একটি CVn

1
নাহ আমি প্রত্যেককে তাদের দেখার থেকে বাঁচানোর জন্য বলছিলাম। এটি বেশ সোজা সামনে দেখায়।
slm

6

আমি প্রথমে কোনও রিমোট সার্ভারের সাথে সময় সিঙ্ক্রোনাইজ করার জন্য একটি ntpপরিষেবা ইনস্টল করব । তারপরে, পরিষেবাটি বন্ধ করুন, ম্যানুয়ালি তারিখটি পরিবর্তন করুন, চারপাশে খেলুন এবং পরিষেবাটি পুনরায় চালু করুন:

service ntpd stop
date -s "Aug 11 2012"
[ do stuff ]
service ntpd start

1
"যতদূর আমি জানি, আপনি কেবলমাত্র একটি প্রক্রিয়ার জন্য সময় পরিবর্তন করতে পারবেন না কারণ এটি একটি সিস্টেম-ব্যাপী জিনিস" " আসলে, আপনি পারেন, এক উপায়ে; আমার উত্তর দেখুন।
একটি সিভিএন

2
@ মাইকেলKjörling আসলেই, কিন্তু লেখার সময় আমার জ্ঞান আপনার উত্তর পর্যন্ত প্রসারিত হয়নি। আমি যতদূর জানি কোন উপায় নেই :)।
টেরডন

আপনি আমার পোস্ট দেওয়ার আগে আমার উত্তর প্রায় 90 সেকেন্ড আগে পোস্ট করেছিলেন। ;)
একটি সিভিএন

1
@ মাইকেলKjörling হ্যাঁ, এবং আমি আসলে আমার সম্পাদনা করেছি (আপনি এটি দেখতে পাচ্ছেন না, পোস্ট করার পরে এটি আপনার ঠিক দেখেই ঠিক হয়েছিল)) "যতদূর আমি জানি" :) যুক্ত করতে।
টেরডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.