এমভি: "বাড়ি" "বাড়ির পুরানো" এ স্থানান্তরিত করতে পারবেন না: ডিভাইস বা সংস্থান ব্যস্ত


10

আমি /homeআমার এনএফএস-মাউন্ট করা হোম ডায়ারগুলিতে একটি সিমিলিঙ্ক দিয়ে প্রতিস্থাপন করতে চাই।

কেবল রুটটি লগইন থাকে, / হোম কোনও পৃথক ফাইল সিস্টেম নয়, lsof কোনও লক দেখায় না, সেলিনাক্স অনুমোদিত। আমি কী মিস করছি?

আমি এসএসএসের মাধ্যমে রুট হিসাবে সরাসরি লগ ইন করেছি:

[root@usil01-sql01 /]# uname -a
Linux usil01-sql01 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@usil01-sql01 /]# w
 15:30:33 up  1:41,  1 user,  load average: 0.00, 0.02, 0.22
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/2    10.50.11.114     15:13    1.00s  0.19s  0.01s w

[root@usil01-sql01 /]# lsof | grep /home

[root@usil01-sql01 /]# lsof +D /home

[root@usil01-sql01 /]# df -h /home
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        63G  4.1G   56G   7% /

[root@usil01-sql01 /]# mount | grep -w /
/dev/sda2 on / type ext4 (rw,relatime,seclabel,data=ordered)

[root@usil01-sql01 /]# ls -lFd /home
drwxr-xr-x. 3 root root 4096 Mar  7 13:36 /home/

[root@usil01-sql01 /]# getenforce
Permissive

[root@usil01-sql01 /]# mv /home /home-old
mv: cannot move "/home" to "/home-old": Device or resource busy

আমি আর কি পরীক্ষা করতে পারি?

আরও সিস্টেম তথ্য:

[root@usil01-sql01 /]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 836.6G  0 disk 
|-sda1   8:1    0 768.6G  0 part /storage
|-sda2   8:2    0    64G  0 part /
`-sda3   8:3    0     4G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom  

[root@usil01-sql01 /]# blkid
/dev/sda2: UUID="5ba6a429-4c65-4023-82b4-3673bfcf6a88" TYPE="ext4" 
/dev/sda3: UUID="b5eb680f-8789-43b2-9f7e-c52570b0eb73" TYPE="swap" 
/dev/sda1: UUID="cb22d57d-4a5b-4963-a990-890abe0c56dc" TYPE="ext4" 

হিসেবে অলস আনমাউন্ট বিকল্প ব্যবহার করে দেখুনumount -f -l /home
ভ্যালেন্টিন Bajrami

আপনার সাথে topবা এর সাথে পরিচিত না হওয়ার সময় একটি সন্দেহজনক প্রক্রিয়া দেখার চেষ্টা করুন যা অনেক সংস্থান গ্রহণ করে ps। এগুলি এখনই কী ব্যবহার করছে তা দেখার চেষ্টা করুন strace। সেই পরিস্থিতিটি অদ্ভুত tmm। আপডেট: শুধুমাত্র ক্ষেত্রে এক lsofসঙ্গে ডাবল চেক আউটপুট fuser
ddnomad

1
@ Val0x00ff আপনি উপরের আউটপুটটিতে দেখতে পাচ্ছেন, / হোম কোনও মাউন্ট পয়েন্ট নয়।
TheAmigo

1
@ddnomad fuser / home এরও কোনও আউটপুট নেই। এটি একটি সতেজ-ইনস্টল করা সিস্টেম অলস বসে আছে, কোনও ব্যস্ত প্রক্রিয়া নেই।
TheAmigo

@Amigo আমি দেখতে পাচ্ছি আমার ধারণা আপনি ইতিমধ্যে কেবল হোস্টটিকে রিবুট করার চেষ্টা করেছেন। আপনি GRUB মেনু থেকে নিরাপদ মোডে বুট করার চেষ্টা করতে পারেন এবং এটি সেখানে চেষ্টা করে দেখতে পারেন।
ddnomad

উত্তর:


9

এমভি: "/ হোম" "" / হোম-ওল্ড "এ সরানো যায় না: ডিভাইস বা সংস্থান ব্যস্ত

কেবলমাত্র "ব্যবহার" [*] আমি ভাবতে পারি, যা কোনও ফাইলের নাম পরিবর্তন থেকে রক্ষা করে এটি একটি মাউন্ট পয়েন্ট।

আমি আর কি পরীক্ষা করতে পারি?

আমি নিশ্চিত নই, তবে মাউন্টটি অন্য মাউন্ট নেমস্পেসে উপস্থিত থাকলে সম্ভবত এটি ঘটতে পারে। কারণ এটি কোনও কারণে মূল নেমস্পেস থেকে প্রচারিত আনমাউন্টগুলি পাচ্ছে না? বা আমার সিস্টেমে ফলাফলটি খুঁজছেন, সম্ভবত সিস্টেমড পরিষেবাদি দিয়ে ProtectHome?

$ grep -h home /proc/*/task/*/mountinfo | sort -u
121 89 0:22 /systemd/inaccessible/dir /home ro,nosuid,nodev shared:142 master:24 - tmpfs tmpfs rw,seclabel,mode=755
275 243 253:2 / /home ro,relatime shared:218 master:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered
321 288 253:2 / /home rw,relatime shared:262 master:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered
84 64 253:2 / /home rw,relatime shared:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered
85 46 253:2 / /home rw,relatime master:33 - ext4 /dev/mapper/alan_dell_2016-home rw,seclabel,data=ordered

এই ইস্যুটি দ্রষ্টব্য - মাউন্ট পয়েন্ট হিসাবে উপস্থিত না করে / বাড়ির নাম পরিবর্তন করতে অক্ষম (বর্তমান নামস্থানটিতে) - লিনাক্স কার্নেলের সংস্করণ 3.18+ এ ঠিক করা উচিত।

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-3.18.y&id=8ed936b5671bfb33d89bc60bdcc7cf0470ba52fe


কিভাবে একটি নির্দিষ্ট প্রক্রিয়া নামস্থান সন্ধান করতে?

lsnsআপনি এটি ইনস্টল করতে পারেন যদি দরকারী হতে পারে। আরও সম্ভাব্য কমান্ড:

মাউন্ট নেমস্পেসগুলি তালিকাভুক্ত করুন:

# readlink /proc/*/task/*/ns/mnt | sort -u

রুট মাউন্ট নেমস্পেস শনাক্ত করুন:

# readlink /proc/1/ns/mnt

প্রদত্ত মাউন্ট নেমস্পেস সহ প্রক্রিয়াগুলি সন্ধান করুন

# readlink /proc/*/task/*/ns/mnt | grep 4026531840

প্রদত্ত প্রক্রিয়াটির নামস্থান পরিদর্শন করুন:

# cat /proc/1/task/1/mountinfo

[*] EBUSY নামটি ব্যর্থ হয়েছে কারণ ওল্ডপথ বা নিউপথ এমন একটি ডিরেক্টরি যা কোনও প্রক্রিয়া দ্বারা ব্যবহৃত হয় (সম্ভবত বর্তমান ওয়ার্কিং ডিরেক্টরি হিসাবে, বা রুট ডিরেক্টরি হিসাবে, বা এটি পড়ার জন্য উন্মুক্ত ছিল) বা সিস্টেম দ্বারা ব্যবহৃত হয় (জন্য উদাহরণ হিসাবে মাউন্ট পয়েন্ট) , যখন সিস্টেম এটি ত্রুটি হিসাবে বিবেচনা করে। (মনে রাখবেন যে এই জাতীয় ক্ষেত্রে EBUSY ফিরিয়ে দেওয়ার কোনও প্রয়োজন নেই any যেভাবেই নাম পরিবর্তন করে কোনও ভুল নেই — তবে অন্যথায় যদি সিস্টেম এ জাতীয় পরিস্থিতি পরিচালনা করতে না পারে তবে EBUSY ফেরত দেওয়ার অনুমতি দেওয়া হবে।)


/ হোম কোনও নেমস্পেসে কখনও মাউন্ট ছিল না।
TheAmigo

তার মানে কি আপনি প্রস্তাবিত রেখাগুলি বরাবর কমান্ড ব্যবহার করেছেন? যেহেতু "কখনই" খুব দৃ strong় বক্তব্য নয়, আমার আদেশগুলি এটি প্রদর্শন করে না। আমি শুরুতে একটি কমান্ড যুক্ত করেছি যা সহজ হবে (এবং আশাকরি কার্যকর হবে :), এবং এটি আমার সিস্টেমে ফলাফলের ভিত্তিতে কেন ঘটতে পারে তার একটি দ্বিতীয় জল্পনা।
সোর্সজেদি

আমি অন্য একটি "ভাঙ্গা" মেশিনটি পেয়েছি এবং আপনার গ্রেপ কমান্ডটি নেটওয়ার্ক ম্যানেজারে আঙুলটি নির্দেশ করে। সুতরাং আমার "স্টপ এনএম, পুনরায় নামকরণ, এনএম পুনরায় চালু করুন" কাজ করে তবে আপনার গ্রেট মাউন্টিনফোই অপরাধীকে সন্ধান করে।
TheAmigo

(কারণ / লাইব / সিস্টেমমডি / সিস্টেম / নেট ওয়ার্ক ম্যানেজআর সার্ভিস প্রোটেক্টহোম ব্যবহার করে, কমপক্ষে আমরা যে সিস্টেমে
দেখছি সেগুলিতে

6

এটি ছিল নেটওয়ার্কম্যানেজার।

দৌড়াতে systemctl stop mysqld httpd postfix ipmievd tuned atd rsyslog smartd crond irqbalance gssproxy polkit chronydকোনও উপকার হয়নি, তবে প্রক্রিয়া টেবিলটি খুব ছোট করে তুলেছে।

পরে systemctl stop NetworkManager, আমি নতুন নাম / হোম করতে সক্ষম হয়েছি।


আমার কেবল "পরিষেবা নেটওয়ার্কম্যান্জার স্টপ" করার দরকার ছিল এবং তারপরে হোম / সরানো / সক্ষম করতে পেরে সক্ষম হলাম এবং ঠিক আছে কিনা তা নিশ্চিত করার জন্য একটি রিবুট করলাম।
sjjuan

আপনাকে অনেক ধন্যবাদ. এটি মোটেও সুস্পষ্ট নয় এবং আমাকে মাউন্ট পয়েন্ট হিসাবে / হোম সম্পর্কে কথা বলার কয়েক ডজন পৃষ্ঠা পড়তে হয়েছিল, যা স্পষ্টভাবে ওপি প্রশ্নে নেই। আমি নেটওয়ার্কম্যানেজার থামানোও আমার ক্ষেত্রে রেডহ্যাট 7.6 চালিয়ে সহায়তা করেছে।
ল্যাবরেডোর্ট

0

আপনি একক ব্যবহারকারীকে বুট করতে পারেন এবং হোম ডিরেক্টরিতে কোনও পরিবর্তন করতে পারেন।

  1. আমার সিস্টেমটি পুনরায় বুট করা হয়েছে এবং টিপুন দিয়ে গ্রাব সিলেকশনটি পছন্দ করুন edit e
  2. ইন linux16লাইন মুছে rhgb& quiteঅপশন এবং তাদের স্থাপন রাখা init=/bin/bash
  3. চাপা ctrl+xশুরু। এটি আপনাকে বাশ কনসোলে অনুরোধ করবে।
  4. /জারি করে রিডিং / রিড অপশন সহmount -o remount,rw /
  5. এরপরে আপনি নিজের /homeডিরেক্টরিটি এর নাম পরিবর্তন করতে পারেন ইত্যাদি সম্পাদনা করতে পারেন
  6. কাজ শেষ হওয়ার পরে জারি করে সেলিনাক্সকে রিলেবল করুন touch /.autorelabel
  7. অবশেষে exec /sbin/initস্বাভাবিক হিসাবে বুট শুরু করতে চালিত করুন।

@ সোর্সজেদি: আপনার উত্তরের জন্য আপনাকে ধন্যবাদ

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