পরিষ্কার $ হোম ডিরেক্টরি


17

কয়েক বছরের মধ্যে, আমার $HOMEডিরেক্টরিতে প্রচুর গোপন ফাইল এবং ডিরেক্টরি উপস্থিত হয়েছিল।

আমি ক্রমাগত অপ্রয়োজনীয় মুছতে চাই।

কোন অ্যাপ্লিকেশনগুলি সেই লুকানো ফাইল এবং ডিরেক্টরি তৈরি করেছে তা আমি কীভাবে জানতে পারি।

আমি কীভাবে নিশ্চিত হতে পারি যে লুকানো ফাইল এবং ডিরেক্টরিগুলি মুছে ফেলা নিরাপদ এবং গুরুত্বপূর্ণ কিছু হারাবে না এবং তার উপর নির্ভর করে কিছুই কাজ বন্ধ করবে না?


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

2
@ 0x শিপডগ ভবিষ্যতের জন্য অডিট করেছেন - ইতিহাসের জন্য, কিছুই খুব বেশি কিছু নয়।
জেনি ডি

ফাইলগুলি সরানোর আগে আপনার কাছে একটি ব্যাকআপ রয়েছে তা নিশ্চিত করুন। (এটিতে আপনি ফাইলগুলি পুনরুদ্ধার করতে পারবেন কিনা তা যাচাই করা অন্তর্ভুক্ত))
জেনি

1. আপনি কি লিনাক্স ব্যবহার করছেন? কোন কার্নেল সংস্করণ? (কেবল মেজর / অপ্রাপ্তবয়স্ক দয়া করে) ২. সেলইনাক্স সক্ষম আছে নাকি আপনি এটি সক্ষম করতে পারবেন? ৩. আপনার কি রুট অ্যাক্সেস আছে?
ওথিয়াস

উত্তর:


15

আপনি কেবলমাত্র তাদের সাময়িকভাবে স্থানচ্যুত করতে পারেন।

cd ~
mkdir .trash
find . ! -name . -prune ! -type d -atime +365 -exec \
    sh -c 'touch -a -- "$@"
           mv -- "$@" ~/.trash
    ' --   {} +

এটি আপনার $HOMEডিরেক্টরিতে সমস্ত ফাইল সন্ধান করবে - শিশু ডিরেক্টরিতে পুনরাবৃত্তি না করে - যা এক বছর ধরে অ্যাক্সেস করা হয়নি। এটি এখনই তাদের সকলের অ্যাক্সেসের সময় আপডেট করবে এবং তারপরে তাদের সকলকে নামের একটি ডিরেক্টরিতে স্থানান্তর করবে .trash। আপনি এটি চালানোর সময় এবং যে কোনও সময় আপনি পুরানো ফাইলগুলি মুছতে শুরু করার সিদ্ধান্ত নিয়েছিলেন এর মধ্যে যদি কোনও সমস্যার মুখোমুখি হয় ~/.trashতবে আপনি সেগুলির কয়েকটি ফিরিয়ে নিয়ে যেতে চেষ্টা করতে পারেন এবং আপনি আবর্জনায় ফেলেছেন তাদের কারও কারণ ছিল কিনা তা দেখতে পারেন।


যদিও এটি প্রযুক্তিগতভাবে প্রশ্নের উত্তর দেয় না, তবে আমি মনে করি এটি বেশ ভাল কাজ ar
জেসি কে

1
@JesseKeilson - আমি মনে করে যে এটি নেই টেকনিক্যালি প্রশ্নের উত্তর: আমি নিশ্চিত যে এটা গোপন ফাইল ও ডিরেক্টরিগুলি এবং গুরুত্বপূর্ণ হারিয়ে যাবে কিছুই তাদের উপর নির্ভর করে কাজ বন্ধ হবে না কিছুই সরানো নিরাপদ কিভাবে হতে পারে?
মাইকসার্ভ

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

@AdrienM। - সেটা সত্য. বড় এবং বড়, যদিও, প্রতিটি বুদ্ধিমান fs relatimeপরিবর্তে ব্যবহারের সাথে আমার যোগাযোগ হয় । থেকে man mount:: relatimeসময় সংশোধন বা পরিবর্তনের সাথে সম্পর্কিত আনোড অ্যাক্সেসের সময় আপডেট করুন। অ্যাক্সেসের সময়টি কেবলমাত্র আপডেট হয় যদি পূর্ববর্তী অ্যাক্সেসের সময়টি বর্তমান পরিবর্তিত বা পরিবর্তিত সময়ের চেয়ে আগের ছিল। (এর অনুরূপ noatime, তবে এটি বিরতি দেয় না muttবা অন্যান্য অ্যাপ্লিকেশনগুলির যে কোনও ফাইলটি শেষ বার সংশোধন করার পরে পড়া হয়েছে কিনা তা জানতে হবে)) এবং যাইহোক, ডাব্লু / মোডটাইম ব্যবহার করুন -mএবং -mtimeকাজ করুন। অথবা আপনি যা পছন্দ করেন
মাইকসার্ভ

এটি প্রশ্নের এবং ' ডিরেক্টরিগুলির "অংশটির উত্তর দেয় না that এর জন্য আপনাকে প্রতিটি। ডিরেক্টরিতে চলতে হবে এবং সমস্ত ফাইল এক বছরেরও বেশি পুরানো check পরীক্ষা করতে হবে
nnot101

6

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

যদি রুট অ্যাক্সেস না থাকে, আপনি আপনার হোমডিরের lsof & গ্রেপ ফাইলগুলি চালানোর জন্য একটি ক্রোনটব বা একটি স্ক্রিপ্ট অসীম লুপ + স্লিপ ব্যবহার করতে পারেন । এলএসফের ম্যানপেজ দেখুন । তবে, এটি আপনার অ্যাপ্লিকেশনগুলি কেবলমাত্র প্রদর্শিত হবে যখন আপনি এলএসফ চালু করার মুহুর্তে একটি ফাইলডেস্কিটার খোলে। যদি কোনও অ্যাপ্লিকেশন কোনও ফাইল খোলেন, সম্পাদনা করুন, তারপরে এটি বন্ধ করুন, আপনি এই পরিবর্তনটি দেখতে পাবেন না;

এই জাতীয় ওয়ান লাইনের কাজটি করা উচিত: lsof -u $(id -u) 2>/dev/null |grep -P $HOME'/[^\s]*$'

অন্য উপায়টি হ'ল ইনোটিফাই কার্নেল এপিআই ব্যবহার করে কোনও ফাইল অ্যাক্সেস করা হচ্ছে কিনা তা পরীক্ষা করতে। হায়, এটি একটি অ্যাসিঙ্ক সিস্টেম এবং আপনার কাছে "কী অ্যাপ্লিকেশন", "অবিকল যখন", "কোন ব্যবহারকারী" এর মতো বিশদ থাকবে না। আপনার কাছে কেবল "এই ফাইলটি সংশোধিত / অ্যাক্সেস করা হয়েছিল ..." সম্পর্কে একটি কলব্যাক থাকবে। কিছু অ্যাপ্লিকেশন (ইনোটাইফাই, এফএএম, গামিন) আপনাকে এপিআইয়ের সহজ অ্যাক্সেস সরবরাহ করে


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

নিরীক্ষণ এটি একমাত্র সিস্টেম যা কার্নেলের নির্দিষ্ট কোড পথ ব্যবহার করে আপনাকে কোনও কিছু হারিয়ে না ফেলে সমস্ত বিবরণ সরবরাহ করে। অন্যান্য সমস্ত সরঞ্জাম তথ্য মিস করবে, প্রক্রিয়া সমাপ্ত হবে / এফডি বন্ধ করে দেবে বলে তথ্য মিস করবেন।
এড্রিয়েন এম

একমত। আমি কেবল পরীক্ষায় লিপ্ত ছিলাম এবং নিশ্চিত করেছিলাম যে এটি এখানে প্রয়োজনীয় কাজটি করবে না।
ওথিয়াস

3

আপনি atimeদীর্ঘ সময় ব্যবহার না করা ফাইলগুলি সন্ধান করতে এবং অপসারণ করতে পারেন (আপনি যদি আপনার সিস্টেমকে সময় না ব্যবহার করার জন্য কনফিগার না করেন) তবে এটি ঝুঁকিপূর্ণ ( tmpreaperআপনি যদি এই পথে যেতে চান তবে দেখুন )।

পরিবর্তে আমি ক্রাফট অপসারণ করার জন্য একটি ইন্টারেক্টিভ জিইউআই প্রোগ্রাম ব্লিচবিতের পরামর্শ দেব

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