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


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.