হারানো: কোনও অব্যবহৃত লুপ ডিভাইস [বন্ধ] খুঁজে পাচ্ছে না


10

আমি একটি লুপ ডিভাইস তৈরি করার চেষ্টা করছি এবং একটি ত্রুটি পেয়ে যা আমি বুঝতে পারি না:

# losetup -f  /media/2TB/sdb2-fix-file
losetup: cannot find an unused loop device

আমার কোনও লুপ ডিভাইস সেটআপ নেই। থেকে প্রাপ্ত ফলাফলটি losetup -aনাল, এবং:

# ls -l /dev/loop*
crw-rw---- 1 root disk 10, 237 Oct  4 15:50 /dev/loop-control

দৌড়াতে losetup -Dমোটেই কোনও লাভ হয় না।

কেন এই ঘটনা ঘটছে?


নীচে পূর্ণ straceআউটপুট:

# strace -fs80 losetup -f  /media/2TB/sdb2-fix-file
execve("/usr/bin/losetup", ["losetup", "-f", "/media/2TB/sdb2-fix-file"], 0x7ffc6fe88c38 /* 164 vars */) = 0
brk(NULL)                               = 0x55a51e754000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=215090, ...}) = 0
mmap(NULL, 215090, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f35d682e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libsmartcols.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000n\0\0\0\0\0\0@\0\0\0\0\0\0\0\210\341\2\0\0\0\0\0\0\0\0\0@\0008\0\10\0@\0\34\0\33\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=190600, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35d682c000
mmap(NULL, 2290720, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f35d640f000
mprotect(0x7f35d643b000, 2097152, PROT_NONE) = 0
mmap(0x7f35d663b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c000) = 0x7f35d663b000
mmap(0x7f35d663e000, 1056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f35d663e000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\20\2\0\0\0\0\0@\0\0\0\0\0\0\0\360s\37\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0G\0F\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2065840, ...}) = 0
mmap(NULL, 3893456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f35d6058000
mprotect(0x7f35d6206000, 2093056, PROT_NONE) = 0
mmap(0x7f35d6405000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ad000) = 0x7f35d6405000
mmap(0x7f35d640b000, 14544, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f35d640b000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35d6829000
arch_prctl(ARCH_SET_FS, 0x7f35d6829740) = 0
mprotect(0x7f35d6405000, 16384, PROT_READ) = 0
mprotect(0x7f35d663b000, 8192, PROT_READ) = 0
mprotect(0x55a51ccf5000, 4096, PROT_READ) = 0
mprotect(0x7f35d6863000, 4096, PROT_READ) = 0
munmap(0x7f35d682e000, 215090)          = 0
brk(NULL)                               = 0x55a51e754000
brk(0x55a51e775000)                     = 0x55a51e775000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1687072, ...}) = 0
mmap(NULL, 1687072, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f35d668d000
close(3)                                = 0
stat("/sys/block", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
uname({sysname="Linux", nodename="svelte", ...}) = 0
stat("/dev/loop-control", {st_mode=S_IFCHR|0660, st_rdev=makedev(10, 237), ...}) = 0
openat(AT_FDCWD, "/dev/loop-control", O_RDWR|O_CLOEXEC) = -1 ENODEV (No such device)
stat("/dev/loop", 0x7fffae014c60)       = -1 ENOENT (No such file or directory)
stat("/dev/loop0", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop1", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop2", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop3", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop4", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop5", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop6", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
stat("/dev/loop7", 0x7fffae014c00)      = -1 ENOENT (No such file or directory)
open("/dev/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=3400, ...}) = 0
getdents(3, /* 170 entries */, 32768)   = 4936
getdents(3, /* 0 entries */, 32768)     = 0
close(3)                                = 0
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2997, ...}) = 0
read(3, "# Locale name alias data base.\n# Copyright (C) 1996-2017 Free Software Foundatio"..., 4096) = 2997
read(3, "", 4096)                       = 0
close(3)                                = 0
open("/usr/share/locale/en_AU.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_AU/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "losetup: ", 9losetup: )                = 9
write(2, "cannot find an unused loop device", 33cannot find an unused loop device) = 33
write(2, "\n", 1
)                       = 1
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

এটি যদি এক্সওয়াই-এর সমস্যা হয়: আপনি সরাসরি চিত্র ফাইল ইত্যাদি মাউন্ট করতে পারেন এবং mountলুপ ডিভাইসটির যত্ন নেবেন। আপনাকে losetupআর কল করতে হবে না, যদিও আমার ধারণা এটি এখনও ওয়েবে অনেক টিউটোরিয়ালে ভাসমান ...
দিরক্ট

আমি এর সাথে ব্যবহারের জন্য একটি ওভারলে ডিভাইস তৈরি করার চেষ্টা করছি dm-setup। অন্যদের হতাশ জন্য এখানে কি একটি XY সমস্যা
টম হেল

সম্ভবত এটির জন্য loopমডিউলটি বোঝা দরকার # modprobe loop
রাল্ফ রনকুইস্ট

2
এটি বন্ধ করার সাথে আমি একমত নই। "অফ-টপিক যেহেতু তারা ভবিষ্যতের পাঠকদের সহায়তা করতে পারে না" এই ক্ষেত্রে মিথ্যা। আমার একই সমস্যা ছিল এবং প্রদত্ত সমাধান আমাকে সহায়তা করেছিল।
ব্যবহারকারী31389

উত্তর:


12

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

দৌড়modprobe loop আমাকে দিয়েছে:

modprobe: FATAL: Module loop not found in directory /lib/modules/4.9.51-1-MANJARO.

রিবুট করার পরে modprobe loopঠিক কাজ করেছে।


তাহলে সমস্যাটি ছিল "ডিস্কের মডিউলগুলি কার্নেলের সাথে চালিত নয়?"
dirkt

@ দিরক্ট ধন্যবাদ, আমি যে শব্দটি চেয়েছিলাম সেগুলিই ছিল :)
টম হেল

@ ডিরক্ট আমি এটির প্রতিফলন ঘটিয়েছি, এবং আমি যে লক্ষণগুলি অনুভব করছিলাম তা দেখিয়ে আমি কীভাবে কাজ করব তা অবাক করেছিলাম indeed (পূর্ববর্তী আপগ্রেডগুলির কারণে কোনও সমস্যা হয়নি)। আপনার যদি কোনও পয়েন্টার থাকে তবে আমি সেগুলি শুনে খুশি হব।
টম হেল

আপনার বর্ণিত সমাধান ("রিবুট করার পরে, এটি কাজ করেছিল") থেকে আমি এটি অনুধাবন করেছি। সাধারণভাবে, একটি কার্নেল সংকলন করার ফলে ঠিকানাগুলি পরিবর্তন করা হবে ইত্যাদি, যাতে নতুন সংকলিত মডিউলগুলি পুরানো কার্নেলের সাথে বেমানান হয়। এটি আপনার জানতে হবে এমন কিছু, এবং সমাবেশ কীভাবে কাজ করে তা আপনি যদি বুঝতে পারেন তবে এটি সহজ। কোন নতুন কার্নেল সংকলনের পরে আপনি সর্বদা পুনরায় বুট করবেন Which "আমি সবেমাত্র একটি নতুন কার্নেল সংকলন করেছি" তথ্য ছাড়া সমস্যাটি অনুমান করা আমার পক্ষে কঠিন হত। যা আবার দেখায় যে কোনও প্রশ্ন জিজ্ঞাসা করার সময় আপনি কী করেছিলেন সে সম্পর্কে সমস্ত তথ্য দেওয়া খুব গুরুত্বপূর্ণ ।
dirkt
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.