সাম্বা ফাইলের নামগুলিতে বিশেষ অক্ষর


18

সাম্বার মাধ্যমে ফাইলের নামগুলিতে "() ?:" এর মতো বিশেষ অক্ষরযুক্ত ফাইল পরিবেশন করার সময় নামগুলি একটি অচেনা বিন্যাসে রূপান্তরিত হয়। উদাহরণস্বরূপ, একটি ফাইল

my_file:_(important).txt

হিসাবে প্রদর্শিত হয়

M43J1E~0.TXT

এই আচরণটি এড়িয়ে যাওয়ার কোনও উপায় আছে (ফাইলগুলির নাম পরিবর্তন না করে, স্পষ্টতই)? আমি ধরে নিচ্ছি যে অক্ষর এনকোডিংটি দোষের জন্য নয় কারণ বেশ কয়েকটি ইউটিএফ -8 অক্ষর ঠিকঠাক কাজ করছে বলে মনে হচ্ছে।


সাম্বা সংস্করণ 2: 3.4.0-3ubuntu5.5 উপর উবুন্টু 9.10
ম্যাটি

3
"মংগলড নামগুলি = না" যুক্ত করে এসএমবি.কনফ এটি সমাধান করেছে (ধন্যবাদ, ডেনিস উইলিয়ামসন)।
ম্যাটি

উত্তর:


10

উইন্ডোজ ফাইলনামে ইউনিক্সের কিছু অক্ষরকে অনুমতি দেয় না। সাম্বা ফাইল নামগুলি উইন্ডোজ বিধিনিষেধ মেনে চলার জন্য "মঙ্গলগুলি" করে " আপনি ফাইলটি পরীক্ষা করতে পারেন /etc/smb.confবা /etc/samba/smb.confকী সেটিংস রয়েছে তা দেখতে to এই সেটিংসটি প্লাস ডিফল্ট প্রদর্শন করতে, এই আদেশটি ব্যবহার করুন:

testparm -vs | less

এটি কিছুটা সঙ্কুচিত করতে:

testparm -vs|grep "case\|mangl"

আরও তথ্যের জন্য এই পৃষ্ঠাটি দেখুন । এছাড়াও, এই পৃষ্ঠাটির প্রায় অর্ধেক পথ (আগের লিঙ্কের মতো একই তথ্য) দেখুন।


9

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

দেখুন: http://support.microsoft.com/kb/177506

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

A filename cannot contain any of the following characters:
\ / : * ? " < > |

আরও কিছুটা নিচে তারা লিখেছেন:

ফাইল, ফোল্ডার বা শর্টকাটগুলির নামকরণের জন্য বৈধ যে অক্ষরগুলিতে অক্ষরের (AZ) এবং সংখ্যাগুলির (0-9) সংযোজন, এবং নিম্নলিখিত বিশেষ অক্ষরগুলি অন্তর্ভুক্ত থাকে:

^   Accent circumflex (caret)
&   Ampersand
'   Apostrophe (single quotation mark)
@   At sign
{   Brace left
}   Brace right
[   Bracket opening
]   Bracket closing
,   Comma
$   Dollar sign
=   Equal sign
!   Exclamation point
-   Hyphen
#   Number sign
(   Parenthesis opening
)   Parenthesis closing
%   Percent
.   Period
+   Plus
~   Tilde
_   Underscore

তবে আমি ব্যক্তিগতভাবে এখানে কিছু গ্রাহকদের ব্রিফ করার জন্য রেফারেন্স হিসাবে অনুমতিপ্রাপ্ত অক্ষরের তালিকাটি গ্রহণ করেছি;)


7

উভয় মেশিনেরই নেটওয়ার্ক-ভাগ করা ফোল্ডার রয়েছে এবং আমার ডাব্লুএলএএন (ওয়্যারলেস ল্যান) এ যোগাযোগের জন্য সাম্বা ব্যবহার করে।

আমার দুটি সিস্টেমই ব্রাজিলিয়ান পর্তুগিজ ভাষায়। সুতরাং, আমি যেমন বিশেষ অক্ষর ব্যবহার C , á , একটি , একটি ¢ একটি , Ô , দ্বীপ , ó ইত্যাদি ইত্যাদি।

আমি যখন ওএস এক্স সাম্বার শেয়ারগুলি অ্যাক্সেসের জন্য আমার লিনাক্স ল্যাপটপটি ব্যবহার করি, সমস্ত স্ট্রিং সঠিকভাবে প্রদর্শিত হয়: মা , আনুস এবং বানোওয়ের মতো শব্দগুলি সঠিকভাবে প্রদর্শিত হয়। দীর্ঘ নামযুক্ত ফাইল এবং ফোল্ডারগুলিও প্রদর্শিত হয় এবং তাদের নামগুলি সঠিকভাবে দেখানো হয়। সুতরাং, ওএস এক্সে চলমান সাম্বা সার্ভারটি ইতিমধ্যে সঠিকভাবে কনফিগার করা হয়েছে ...

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

=> আমার ক্ষেত্রে, এই সমস্যাটি কী সমাধান করেছে তা আমার লিনাক্স মেশিনে ফাইলের [global]অভ্যন্তরে বিভাগে নিম্নলিখিত লাইনগুলি যুক্ত করেছিল smb.conf:

mangled names = no
dos charset = CP850
unix charset = UTF-8

এর পরে, আমি একটি শেল টার্মিনাল উইন্ডোটি খুললাম এবং এই কমান্ডটি দিয়ে লিনাক্স সাম্বা সার্ভারটি পুনরায় চালু করলাম:

sudo service smbd restart

... যা এই অন্যান্য কমান্ড দ্বারা প্রতিস্থাপিত হতে পারে (যদি উপরের কমান্ডটি আপনার লিনাক্স বিতরণে কাজ না করে):

sudo systemctl restart smbd.service

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

পাদটীকা :

  1. জিএনইউ / লিনাক্স সিস্টেমে smb.confফাইলটির মানক অবস্থান/etc/samba/smb.conf
  2. অনুমান করা যে আপনার লিনাক্স সিস্টেমের smb.confস্ট্যান্ডার্ড স্থানে ফাইল রয়েছে /etc/samba/: smb.confফাইলটি সম্পাদনা করার বিভিন্ন উপায় রয়েছে । উদাহরণস্বরূপ, আপনি যদি ডেস্কটপ এনভায়রনমেন্ট (যেমন আপনার সিস্টেমে কেবল শেল টার্মিনাল নেই, উইন্ডো নেই) ব্যবহার করছেন তবে আপনি ন্যানো টেক্সট এডিটর ইনস্টল করতে পারবেন , যেমন sudo apt-get install nano -yবা sudo dnf -b -y install nanoঅন্য কিছু (যে লিনাক্স আপনাকে বিভ্রান্ত করে তার উপর নির্ভর করে) ব্যবহার করছেন), এবং তারপরে চালান sudo nano /etc/samba/smb.conf। আপনি যদি কোনও ডেস্কটপ এনভায়রনমেন্ট ব্যবহার করছেন তবে আপনি গ্রাফিকাল টেক্সট এডিটর যেমন জিনোম এডিট , যেমন sudo apt-get install gedit -yবা sudo dnf -b -y install geditঅন্য কিছু (আপনি কোন লিনাক্স ডিস্ট্রো ব্যবহার করছেন তার উপর নির্ভর করে) জারি করে চালাবেন এবং তারপরে চালাবেন sudo gedit /etc/samba/smb.conf
  3. সাম্বা 3+ এ, display charsetপ্যারামিটারটি অবচয় করা হয়েছে।
  4. dos charsetপ্যারামিটার সমর্থন করে না UTF-8যুক্তি। সুতরাং, এটি ডিফল্ট যুক্তি ব্যবহার করা আবশ্যক CP850
  5. mangled names = noসাম্বা সার্ভারকে ফাইল এবং ফোল্ডারগুলির দীর্ঘ নাম ছোট না করার নির্দেশ দেয়। সুতরাং, সাম্বা ক্লায়েন্ট কেবলমাত্র সাম্বা সার্ভার ক্লায়েন্টকে কী সরবরাহ করেছে তা ব্যবহারকারীকে প্রতিলিপি করে, একবার সার্ভারটি সঠিকভাবে কনফিগার হয়ে গেলে ক্লায়েন্ট আর ব্যবহারকারীর কোনও সংক্ষিপ্ত নাম প্রদর্শন করবে না।

4

সাম্বা ডকুমেন্টেশন থেকে আপনি এগুলি ব্যবহার করতে পারেন:

dos charset = ISO8859-1
unix charset = ISO8859-1
display charset = ISO8859-1

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