একটি বিটিআরএফস স্ন্যাপশট মুছতে পারে না


8

আমি "অ্যাপটি-স্ন্যাপশট-রিলিজ-আপগ্রেড-সাউসি-2013-10-19_00: 52: 26" বিটিআরএফস স্ন্যাপশট মুছতে পারি না। বিশদটি এখানে:

root@cioco:~# btrfs subvolume list -s /
ID 261 gen 246 cgen 245 top level 5 otime 2013-10-19 00:52:26 path @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
root@cioco:~# btrfs subvolume list  /
ID 256 gen 334584 top level 5 path @
ID 258 gen 334134 top level 5 path @home
ID 261 gen 246 top level 5 path @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ID 267 gen 334580 top level 256 path var/lib/lxc/mythtv/rootfs
ID 268 gen 334584 top level 256 path var/lib/lxc/jira/rootfs
ID 278 gen 279278 top level 256 path var/lib/lxc/michele/rootfs
root@cioco:~# grep btrfs /proc/self/mountinfo
20 1 0:16 /@ / rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
39 20 0:16 /@home /home rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache

root@cioco:~# btrfs subvolume delete /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ERROR: error accessing '/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26' 

তবে আমি আমার দ্বারা নির্মিত একটি স্ন্যাপশট মুছতে পারি:

root@cioco:~# btrfs subvolume snapshot / root-snap
Create a snapshot of '/' in './root-snap'
root@cioco:~# btrfs subvolume list -s /
ID 261 gen 246 cgen 245 top level 5 otime 2013-10-19 00:52:26 path @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ID 309 gen 334592 cgen 334592 top level 256 otime 2014-03-31 02:19:08 path root/root-snap
root@cioco:~# btrfs subvolume delete /root/root-snap
Delete subvolume '/root/root-snap'

EDIT1: কার্নেল লগ এ লগ ইন কিছুই নেই:

root@cioco:~# dmesg -c >/dev/null
root@cioco:~# btrfs subvolume delete /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
ERROR: error accessing '/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26'
root@cioco:~# dmesg
root@cioco:~#

কিন্তু স্ট্রেস একটি ইঙ্গিত দেয়:

root@cioco:~# strace btrfs subvolume delete /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
...
stat("/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26", 0x7fffe88ebb60) = -1 ENOENT (No such file or directory)
write(2, "ERROR: error accessing '/@apt-sn"..., 82ERROR: error accessing '/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26'
) = 82

সম্পাদনা 2: আমি ভলিউম মাউন্ট করেছি ...

root@cioco:~# mkdir /snapshot
root@cioco:~# mount /dev/sda2 /snapshot -o subvol=/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
root@cioco:~# grep btrfs /proc/self/mountinfo
20 1 0:16 /@ / rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
39 20 0:16 /@home /home rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
61 20 0:16 /@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26 /snapshot rw,relatime - btrfs /dev/sda2 rw,compress=zlib,space_cache
root@cioco:~# btrfs subvolume delete /snapshot/
Delete subvolume '//snapshot'
ERROR: cannot delete '//snapshot' - Invalid argument

root@cioco:~# strace btrfs subvolume delete /snapshot/
...
stat("/snapshot", {st_mode=S_IFDIR|0755, st_size=230, ...}) = 0
brk(0)                                  = 0x2206000
brk(0x2228000)                          = 0x2228000
lstat("/snapshot", {st_mode=S_IFDIR|0755, st_size=230, ...}) = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=242, ...}) = 0
openat(AT_FDCWD, "/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 23), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd8ad2ae000
write(1, "Delete subvolume '//snapshot'\n", 30Delete subvolume '//snapshot'
) = 30
ioctl(3, BTRFS_IOC_SNAP_DESTROY, 0x7fff5f1e5878) = -1 EINVAL (Invalid argument)
close(3)                                = 0
write(2, "ERROR: cannot delete '//snapshot"..., 53ERROR: cannot delete '//snapshot' - Invalid argument
) = 53
...

root@cioco:~# dmesg
[3172764.459166] device label cioco-root devid 1 transid 336213 /dev/sda2

সম্পাদনা 3: সমাধান

root@cioco:~# mount /dev/sda2 /btrfs-root/
root@cioco:~# ls -l /btrfs-root/
total 0
drwxr-xr-x 1 root root 262 Apr  1 08:31 @
drwxr-xr-x 1 root root 230 Oct 16 22:53 @apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26
drwxr-xr-x 1 root root   6 Oct 16 22:13 @home
root@cioco:~# btrfs subvolume delete /btrfs-root/@apt-snapshot-release-upgrade-saucy-2013-10-19_00\:52\:26/
Delete subvolume '/btrfs-root/@apt-snapshot-release-upgrade-saucy-2013-10-19_00:52:26'
root@cioco:~# dmesg
[41113.537617] device label cioco-root devid 1 transid 337615 /dev/sda2

কোন সাহায্য প্রশংসা করা হবে।


আপনি এটি কোনও লাইভ সেশন থেকে মুছতে পারবেন? সম্ভবত এটি এখনও ব্যবহৃত হয়। গ্রেপিং /proc/self/mountinfoযথেষ্ট নয়, উদাহরণস্বরূপ এটি বাইন্ড মাউন্ট হিসাবে ব্যবহার করা হতে পারে বা এটি আনসামেন্ট করা থাকলে umount -l(অলস আনমাউন্ট) এবং অন্যান্য কেস থাকতে পারে তা আমি জানি না।
— ইজিস

এটি মোটেও মাউন্ট করা হয় না। সিস্টেমটি আমার হোম সার্ভার। এবং আমি মনে করি যে উবুন্টু আপগ্রেড করার পরে স্ন্যাপশটটি নেওয়া হয়েছিল। আমি এখন চালাচ্ছি উবুন্টু 13.10 64 বিট
— মিরসিয়া ভুটকোভিচি

"লাইভ সেশন" বলতে কী বোঝ?
— মিরসিয়া ভুটকোভিচি

মানে লাইভ ডিভিডি বা লাইভ ইউএসবি।
— অগ্নি

ব্যর্থ dmesg | tailহওয়ার পরে আউটপুট পোস্ট করুন btrfs subvolume delete।
— অগ্নি

উত্তর:


15

ফাইল সিস্টেমের আসল মূলটিতে স্ন্যাপশট উপস্থিত রয়েছে, যা আপনি /তে মাউন্ট করেছেন তা নয়। আপনার / / সাবভলিউমটি মাউন্ট করা আছে / যাতে এই নামে কোনও ফাইল নেই। আপনাকে কোথাও আসল মূল ভলিউম মাউন্ট করতে হবে এবং স্ন্যাপশটের রেফারেন্সের জন্য সেই পথটি ব্যবহার করতে হবে।

অথবা আপনি apt-btrfs-snapshot deleteপরিবর্তে ব্যবহার করতে পারেন ।


2
অতীতে মাউন্ট এবং মুছতে মুছতে আমার অনেক সমস্যা হয়েছিল তবে কখনও চালাতে কোনও সমস্যা হয়নিapt-btrfs-snapshot delete
— মিচিড

সাধারণ বিটিআরএফএস স্ন্যাপশট ব্যবস্থাপনার বিপরীতে, অ্যাপ্ট-বিটিআরএফএস-স্ন্যাপশটটি একটি চলমান সিস্টেম থেকে চালানো উচিত, মাউন্ট করা পার্টিশন নয়।
— মিচিড

3
@ এমচিড, কি? সাধারন বিটিআরএফএস স্ন্যাপশট পরিচালনা একটি চলমান সিস্টেম থেকে চালিত হয় ... apt-btrfs-snaphot কেবলমাত্র একটি অ্যাপ্লিকেশন স্ক্রিপ্ট যা আপনি যখনই অ্যাপ্লিকেশন ইনস্টল / আপগ্রেড / প্যাকেজগুলি অপসারণ করেন তখন স্বয়ংক্রিয়ভাবে সাধারণ বিটিআরএফস স্ন্যাপশট চালায়।
— psusi

আমার সমস্যা হ'ল আমি স্ন্যাপশটের কারণে ডিস্ক পূর্ণ পরিস্থিতিতে আছি, তাই আমি ইনস্টল করতে পারছি না apt-btrfs-snapshot।
— fccoelho

আপনার জায়গার বাইরে চলে যাওয়ার সময় জিনিসপত্র মুছতে আপনাকে একটি ইউএসবি থেকে বুট করতে হবে। এছাড়াও, আমি অনুমান করি আপনি যদি / mnt এ ভলিউমটি মাউন্ট করেন তবে আপনি কোনও চলমান সিস্টেম থেকে মুছতে পারবেন ।
— mchid
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.