এসএনএন এবং এসএনএন + এসএসএসের জন্য সাবভার্সন পাথ পার্থক্য


10

[02:48] [রুট @ সার্ভার: ~] পিএস অক্ষ | গ্রেপ এসএনএন 23986? এসএস 0:00 / ইউএসআর / বিন / এসএনভি / -आरএন / এসআরভি / এসএনএন আপনি আর্গুমেন্ট থেকে দেখেন যে আমার এসএনএন রুট দির / এসআরভি / এসএনএন।

এখন, রিমোট মেশিন থেকে কিছু জাদু ...

এইটা কাজ করে:

> svn co svn://svn-user@domain.com/test-repo

তবে এটি নয়:

> svn co svn+ssh://svn-user@<putty-session-name>/test-repo
'No repository found in 'svn+ssh://svn-user@<putty-session-name>/test-repo'

ঘন্টার দম্পতি জন্য প্রায় বাজানো আমি দেখেছি যে, appearantly যদি আমি SSH টানেল ব্যবহার করেন, আমি আমার রেপো নিম্নলিখিত ব্যবহার পেতে সক্ষম নই:

> svn co svn+ssh://svn-user@<putty-session-name>/srv/svn/test-repo

... যার অর্থ রেপোর সম্পূর্ণ শারীরিক পথ নির্দিষ্ট করা উচিত। তাই না?

উত্তর:


13

যেহেতু কৃপণরা বলেছেন, সত্যই এটি এসএসএন ওভার এসএসএন এর 'বৈশিষ্ট্য'।

আমার কাছে সংগ্রহস্থলগুলির পুরো পাথ নির্দিষ্ট না করেই এসএনএন + এসএসএস কাজ করেছিল কারণ এসএনএন সার্ভারে মূল এসএনভিজার বাইনারিটির জায়গায় একটি এসএনএনজার র‌্যাপার স্ক্রিপ্ট ছিল। পরে, সাবভার্সন আপডেটের সময় এই স্ক্রিপ্টটি মূল বাইনারি দ্বারা ওভাররাইট করা হয়েছিল।

সমাধান:

  1. বিনতে SNNZE নামকরণ করুন

    mv /usr/bin/svnserve /usr/bin/svnserve.bin
    
  2. এই স্ক্রিপ্টটি / ইউএসআর / বিন / এসএনভিজার হিসাবে সংরক্ষণ করুন:

    #!/bin/sh
    exec /usr/bin/svnserve.bin -r /srv/svn "$@"
    
  3. অনুমতিগুলি আপডেট করুন

    chmod 755 /usr/bin/svnserve
    

1
আমার বিপরীত বাদে একই সমস্যা ছিল। আমি এসএনএন + এসএসএস: // হোস্ট / পাথ / টু / রেপো করতে পারি না কেন তা জানার চেষ্টা করে ঘন্টা সময় ব্যয় করেছি কারণ আমার কাছে একটি স্ক্রিপ্ট চলছে যা আমাকে স্বয়ংক্রিয়ভাবে এসএনএন রুটে পরিচালিত করেছিল। আমার যা করতে হবে তা হ'ল এসএনএন + এসএসএস: // হোস্ট / রেপো।
বট

রুটটি একটি ভেরিয়েবল হিসাবে সেট করা যেতে পারে, এবং তারপরে এমন কিছু যুক্তি রয়েছে যা ভুলভাবে সরবরাহ করা থাকলে $ @ থেকে মূলটিকে মুছে ফেলে? এটি @ বটের মতো ইস্যুটির প্রতিরোধ করবে।
ম্যাটপার্ক

5

কারণ এসএসএন-এর উপর এসএনএন ( svn+ssh://) কেবল এসএসএইচকে পরিবহণ হিসাবে ব্যবহার করে "স্থানীয়ভাবে" একটি সাবভারশন রিপোজিটরি অ্যাক্সেস করছে এবং তাই আপনার সম্পূর্ণ ফাইল সিস্টেমটিতে অ্যাক্সেস রয়েছে। বিপরীতে, Svnserve বলা হয় "আপনার পথ দিয়ে শুরু করুন /srv/svn, এবং তাই আপনাকে এটি ম্যানুয়ালি নির্দিষ্ট করতে হবে না।


আপনার মতামত জন্য আপনাকে ধন্যবাদ, কিন্তু না, এটি না। যতক্ষণ না আমার স্বাভাবিকভাবে সবকিছু ছড়িয়ে পড়ে যায় ততক্ষণ পর্যন্ত সবকিছু সুন্দরভাবে কাজ করে।
আন্দ্রেজ কইনিকভস

ঠিক আছে, তবে, আপনি যা কিছু ভুল করেছেন তা ঠিক করুন।
দোলা

তুমি ঠিক বলেছ দেখে মনে হয়েছে যে সমস্যাটি কোথায় ছিল।
আন্ড্রেজ ক্যানিকোভস

3

আপনি সাব্ভারশন ব্যবহারকারীর ~ / .ssh / অনুমোদিত_কিগুলি সম্পাদনা করে svn + ssh ব্যবহারকারীর জন্য ssh লগইন কমান্ডটি সম্পাদনা করতে পারেন। ব্যবহারকারীর জন্য লাইনটি দেখতে পাবেন:

command="/usr/bin/svnserve -r /srv/svn [other svnserve options]" <key type> <user key> <key comment>

এসএনএন বইতে আরও এসএনএন + এসএসএস কৌশল রয়েছে


0

এটি নিজেই একটি প্রশ্নের মতো তবে এটি সত্যই এটির সাথে সম্পর্কিত।

ব্যক্তিগত / পাবলিক কীগুলির সাথে এসএনএন + এসএস সেট করা আমি এইভাবে আপেক্ষিক পথগুলি ব্যবহার করে আমার রেপো অ্যাক্সেস করতে পারি না:

svn co svn+ssh://svn@SERVERIP/simple-webapp-svn simple-webapp-svn

যেহেতু আমি এই ত্রুটিটি পাচ্ছি:

svn: URL 'svn+ssh://svn@SERVERIP/simple-webapp-svn' doesn't exist

তবে কেবল এটির মতো:

svn co svn+ssh://svn@SERVERIP/home/svn/projects/simple-webapp-svn simple-webapp-svn

এটি আমার /home/svn/.ssh ডিরেক্টরিতে থাকা অনুমোদিত_কিজ 2 ফাইল

$ sudo cat /home/svn/.ssh/authorized_keys2
command="/usr/bin/svnserve.bin -t --tunnel-user=USERNAME",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa [rsa-key] [user-note]

এবং পূর্ববর্তী উত্তরে আন্দ্রেজ দ্বারা প্রস্তাবিত svnserve.bin ফাইল

$ cat  /usr/bin/svnserve.bin 
#!/bin/sh
exec /usr/bin/svnserve -r /home/svn/projects "$@"

এমনকি অনুমতি সংক্রান্ত সমস্যাগুলি সম্পর্কেও আমি ভেবেছিলাম, সেগুলি এখানে তালিকাভুক্ত করা হয়েছে:

-rwxr-xr-x 1 root root 63684 2009-12-12 06:45 /usr/bin/svnserve
-rwxr-xr-x 1 root root    61 2010-08-25 17:19 /usr/bin/svnserve.bin

আমি আসলেই কোন সমাধান নিয়ে আসতে পারি না ...


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

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