আমি কীভাবে লোকেল-সংরক্ষণাগারটির আকার হ্রাস করব?


18

আমার locale-archiveকিছু RHEL6 সিস্টেমে ফাইলের আকার হ্রাস করা দরকার ।

আমার সিস্টেমে ফাইলটি এখানে:

[root@-dev-007 locale]# ls -l
total 96800
-rw-r--r--. 1 root root 99158704 Sep  9 15:22 locale-archive
-rw-r--r--. 1 root root        0 Jun 20  2012 locale-archive.tmpl

তাই আমি এই ...

[root@-dev-007 locale]# localedef --list | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

... তাই আমি বুঝতে পারলাম আমি এরকমভাবে মুক্তি পেতে পারি zh_CN...

[root@-dev-007 locale]# localedef --delete-from-archive zh_CN

... এবং আমি দেখতে পাচ্ছি zh_CNযে এর আগে আর তালিকাভুক্ত হবে না ...

[root@-dev-007 locale]# localedef --list | grep zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

... তবে এর আকার locale-archiveছোট হয় না ...

[root@-dev-007 locale]# ls -l  
total 96800
-rw-r--r--. 1 root root 99158704 Sep  9 17:16 locale-archive
-rw-r--r--. 1 root root        0 Jun 20  2012 locale-archive.tmpl

... আমার আর কিছু করার দরকার আছে?

উত্তর:


24

আপনি প্রথমে সমস্ত অপ্রয়োজনীয় লোকেলগুলি মুছে ফেলতে পারেন:

$localedef --list-archive | grep -v -i ^en | xargs localedef --delete-from-archive

কোথায় ^enলোকেল দ্বারা প্রতিস্থাপিত হতে পারে আপনি রাখতে চান

তারপর

$build-locale-archive

যদি এটি আপনাকে অনুরূপ একটি ত্রুটি দেয়

$build-locale-archive
/usr/sbin/build-locale-archive: cannot read archive header

তারপরে এটি চেষ্টা করুন

$mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
$build-locale-archive

যদি এটি এখনও ব্যর্থ হয় তবে আপনার সংস্করণটি পরীক্ষা করুন। এই পৃষ্ঠা অনুসারে নতুন সংস্করণগুলিতে স্থান সংরক্ষণের জন্য সংরক্ষণাগারটি পুনর্নির্মাণের জন্য প্রয়োজনীয় ফাইল নেই। আপনাকে দৌড়াতে হবে

yum reinstall glibc-common

রেড হ্যাট এন্টারপ্রাইজ লিনাক্সের পরবর্তী সংস্করণগুলিতে, আপনি dnfঅনুরূপ অ্যাপ্লিকেশন ব্যবহার করতে পারেন ।


3
আমি লক্ষ্য করেছি যে আমি যখন সঞ্চালনা করি তখন হোস্টের সাথে আমার ssh সংযোগ নষ্ট হয়ে যায় build-locale-archive... এটি প্রতিরোধের কোনও উপায়?
রেড ক্রিকেট

2
আমি এই চেষ্টা সতর্ক হতে হবে। আমার সেন্টস সার্ভারটি ভেঙে ফেলেছে এবং কোনও সমাধান বের করতে আমাকে 30 মিনিট সময় নিয়েছে। unix.stackexchange.com/questions/246705/…
পিজে ব্রুনেট

ডিএনএফ রেল ??? অবশ্যই আপনার অর্থ ইয়াম ;-)
ড্যানি_ল

1

অ্যামাজন লিনাক্সে

  1. স্থানীয়-সংরক্ষণাগার থেকে অব্যবহৃত সংরক্ষণাগারগুলি মুছুন। এই কমান্ডটি এন দিয়ে শুরু হওয়া ব্যতীত সমস্ত মুছবে।

    localedef --delete-from-archive $(localedef --list-archive | grep -v -i ^en | xargs)
    
  2. লোকেল-সংরক্ষণাগারটি (সরানো লোকাল সহ) ফাইলটি নতুন লোকেল-সংরক্ষণাগার হিসাবে সংরক্ষণ করুন। Tmpl ফাইল

    cp /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
    
  3. বিল্ড-লোকেল-সংরক্ষণাগারটি চালান

    build-locale-archive
    

দ্রষ্টব্য: আপনি যদি বিল্ড-লোকেল-সংরক্ষণাগারটি পরিচালনা করেন তবে এটি প্রতিটি রানের পরে .tmpl ফাইলটি জিরো করে ফেলেছে এবং যখন আপনি এটি আবার চালাবেন তখন আপনি ত্রুটিটি দেখতে পাবেন:

build-locale-archive: cannot read archive header

আপনি লোকাল-সংরক্ষণাগার.টি.পি.এম.পি. ফাইলটির একটি অনুলিপি বর্তমান স্থানীয় লোকাল-সংরক্ষণাগারটি স্থানীয় লোকাল-সংরক্ষণাগার। টিএমপিএল অনুলিপি করে বা গ্লোবিক-সাধারণকে ডাউনলোড করে এবং আনপ্যাক করে খুঁজে পেতে পারেন। আপনি যদি build-locale-archiveগলিবিক -সাধারণ আরপিএম থেকে ডিফল্ট লোকেল-সংরক্ষণাগার.টি.এম.পি.পি. ফাইলটি ব্যবহার করেন এবং এর বিরুদ্ধে চালান , এটি একটি পূর্ণ (~ 102MB) লোকেল-সংরক্ষণাগার তৈরি করবে। আরও ছোট আকারের সংরক্ষণাগার পেতে আপনার উপরের পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে।

উপরের ক্ষেত্রে এনএল * ব্যতীত সমস্ত লোকেল মুছে ফেলা আমার লোকেল-সংরক্ষণাগারটি 102 এমবি থেকে 3.4MB এ চলেছে

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