ইনস্টলড স্ন্যাপগুলির পুরানো সংস্করণটি কীভাবে সরাবেন


65

আমি স্ন্যাপ ব্যবহারের সাথে নিউউইউ, আমার সিস্টেমে কয়েকটি অ্যাপ্লিকেশন ইনস্টল করা আছে, আমি যে কমান্ডটি df -hএকই স্ন্যাপের বিভিন্ন সংস্করণে মাউন্ট করেছি তা চালানোর সময় আমি লক্ষ্য করি

/dev/loop0       143M   143M     0 100% /var/lib/snapd/snap/gravit-designer/7
/dev/loop1        82M    82M     0 100% /var/lib/snapd/snap/core/4110
/dev/loop7       198M   198M     0 100% /var/lib/snapd/snap/polarr/3
/dev/loop2        82M    82M     0 100% /var/lib/snapd/snap/core/4206
/dev/loop3       143M   143M     0 100% /var/lib/snapd/snap/gravit-designer/6
/dev/loop10      137M   137M     0 100% /var/lib/snapd/snap/gravit-designer/5

আমার প্রশ্ন তারা কেন সেখানে রাখে, আমি পুরানোটি সরিয়ে ফেলার একমাত্র উপায় হ'ল পুনরায় স্ন্যাপটি সরিয়ে আবার ইনস্টল করা, pruneআমার সিস্টেম বজায় রাখার মতো কিছু আছে ?


উত্তর:


84

এখানে একটি শর্ট স্ক্রিপ্ট যা স্ন্যাপগুলির সমস্ত পুরানো সংস্করণ সরিয়ে ফেলবে । এটি কেবলমাত্র বর্তমান সক্রিয় সংস্করণ রাখবে, এটি আপনাকে কিছু ডিস্কের জায়গা পুনরুদ্ধার করবে:

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu

LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

এটি সফলভাবে সমস্ত পুরানো সংস্করণ সরিয়ে দিয়েছে, তবে আমার ডিস্কে কোনও স্থান যুক্ত করা হয়নি!
mtoloo

/var/lib/snapd/snaps/এই স্ক্রিপ্টটি চালানোর আগে এবং পরে দির পরীক্ষা করুন । কিছু জায়গা খালি করা উচিত - যদি সত্যিই কিছু স্ন্যাপগুলি সরানো হয়। এটি snap-name removedযেমন বার্তা প্রদর্শন করা উচিত gtk-common-themes removed
পিটারএম

কিছু হার্ডলিঙ্ক রয়েছে /var/lib/snapd/cacheতাই আপনার জায়গা খালি করতে অবশ্যই এগুলি মুছতে হবে। আপনি ক্যাশেটি নিরাপদে মুছে ফেলতে পারবেনsudo rm /var/lib/snapd/cache/*
রুবো

42

স্ন্যাপ ২.৩। থেকে শুরু করে এবং পরে, আপনি রিফ্রেশ.আরিনেট বিকল্পটি সেট করে সিস্টেমে সঞ্চিত স্ন্যাপের রিভিশনগুলির সর্বাধিক সংখ্যা নির্ধারণ করতে পারেন ।

$ sudo snap set system refresh.retain=2 

রিফ্রেশ.রিটেইন মানটি কেবল 2 এবং 20 এর মধ্যে একটি সংখ্যা হতে পারে এবং এর ডিফল্ট মান 3 থাকে।


1
এটি করার পরে, ডিফল্ট 3 থেকে একটি নতুন সেটিং 2 এ চলে যাওয়া, বর্তমান সংস্করণগুলি কখন শুদ্ধ হয়?
টিম রিচার্ডসন

আমি মনে করি নতুন সংস্করণ ইনস্টল করা হলে পুরানো ছবিগুলি মুছে ফেলা হবে। যেমন আপনি ইতিমধ্যে জেনে থাকতে পারেন, রিফ্রেশ.টিমার বিকল্পের উপর নির্ভর করে স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশন ইনস্টল করা অ্যাপ্লিকেশনগুলি স্ন্যাপ আপডেট করে, সুতরাং আপনাকে ম্যানুয়ালি আপডেটটি করতে হবে না
মুস্তাফা হাদিদ

তবে আমার কম্পিউটারের কতগুলি পরীক্ষা করা দরকার? উদাহরণ: 4 refresh.retain=3জিবি র‌্যামের জন্য ভাল নাকি আরও প্রয়োজন?
পিটার ক্রাউস

1
@ পিটারক্রস এটি আপনার স্টোরেজ ডিভাইসের ক্ষমতার উপর নির্ভর করে। এটি আপনার র‍্যামের সামর্থ্যের সাথে কিছুই করার নেই।
মুস্তফা হাদিদ

30

নির্ভরতা ছাড়াই ওয়ান-লাইনার হিসাবে অন্য উত্তর থেকে স্ক্রিপ্টের একটি সংস্করণ awk:

# snap list --all | while read snapname ver rev trk pub notes; do if [[ $notes = *disabled* ]]; then snap remove "$snapname" --revision="$rev"; fi; done

এটির জন্য সম্ভবত নির্মাণের bashসাথে সামঞ্জস্যপূর্ণ শেল প্রয়োজন [[


6
এটি এমন কোনও ব্যবহারকারীর কাছ থেকে চালানো উচিত যা স্ন্যাপগুলি যোগ করতে পারে। উবুন্টু কোরে অ্যাডমিন ব্যবহারকারী কাজ করেন, সাধারণ উবুন্টুতে একটি sudo -iসেশনের প্রয়োজন হতে পারে, বা snap removeসম্ভবত এটি চালানোর প্রয়োজন হতে পারে sudo
গার্ট ভ্যান ডেন বার্গ

@ রুবো out। ইঙ্গিত করেছে যে এটি কোনও ইংরেজী লোকাল ধরেছে। পূর্বে করার পরে এটি একটি সাব-শেলটিতে চালানো (মূল শেলের লোকাল এনভ ভেরিয়েবলগুলির সাথে গোলযোগ না export LC_ALL=en_US.UTF-8করা ) নিশ্চিত করা উচিত। (এটি স্ন্যাপ কমান্ডের আগেও সেট করা যেতে পারে, তবে আমি নিশ্চিত নই যে পরে
অপসারণগুলি

LANG=c জার্মান কনসোলগুলিতে পুরো লাইনটি সূক্ষ্মভাবে কাজ করার আগে কেবল যুক্ত করুন
রুবু 7777

@ রুবো 77 এটি সম্ভবত ডিফল্ট লোকেলের জন্য LANG=C(বা LC_ALL=C) হওয়া উচিত । অবৈধ লোকেলের জন্য ডিফল্ট হওয়ার cকারণে লোয়ারकेস কাজ করতে পারে C। ( LC_MESSAGES(আমি একটি সেটিং এর জন্য পোষ্টের অনেক ব্যবহারকারী যদিও ... প্রয়োজন হবে না সম্পাদন করা চাই না) সম্ভবত ন্যূনতম সেটিং) (আপনি এর ত্রুটি তুলনা LANG=c localeসঙ্গে LANG=C locale)
বার্গ গুহা গার্টি ভ্যান

17

সংস্করণের উপর snapd ডক্স বলে যে সেকেলে পুনর্বিবেচনা স্বয়ংক্রিয়ভাবে যাতে কোন গত দুই পুনর্বিবেচনা চেয়ে সরানো উচিত ইনস্টল করা নেই। তবে আমি আমার স্ন্যাপগুলির দুটিরও বেশি সংস্করণ ইনস্টল করেছি।

এর snap list --allমতো কিছু দেখতে আপনি সমস্ত সংশোধনী তালিকাভুক্ত করতে পারেন:

Name     Version                  Rev   Tracking  Developer  Notes
core     16-2.31.2                4206  stable    canonical  core,disabled
core     16-2.32.3                4407  stable    canonical  core,disabled
core     16-2.32.5                4486  stable    canonical  core
spotify  1.0.70.399.g5ffabd56-26  5     stable    spotify    disabled
spotify  1.0.72.117.g6bd7cc73-35  6     stable    spotify    disabled
spotify  1.0.77.338.g758ebd78-41  13    stable    spotify    -

আপনি এর সাথে পৃথক সংশোধনগুলি মুছে ফেলতে পারেন snap remove spotify --revision=5

এটি এমনকি অক্ষম সংশোধন coreএবং অন্যান্য নির্ভরতাগুলির জন্যও নিরাপদ এবং snap removeস্পষ্টতই --revision=...আপনাকে অ- disabledস্ন্যাপগুলি সরাতে বাধা দেয় ।

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