হোস্ট থেকে ভ্যাগ্র্যান্ট অতিথির কাছে কোনও একক ফাইল অনুলিপি করার সহজ উপায়?


241

আমার একটি ব্যবহারের কেস রয়েছে যেখানে আমি মাঝে মধ্যে আমার হোস্ট মেশিন থেকে ভিজান্ট অতিথির কাছে একটি ফাইল অনুলিপি করতে চাই।

আমি প্রথাগত বিধানকারীদের (পুতুল / শেফ) এর মাধ্যমে এটি করতে চাই না কারণ এটি প্রায়শই একঘাটে - আমি কেবল আমার ভ্যাগ্রান্টফাইলে কিছু দ্রুত যুক্ত করতে চাই।

আমি একটি সম্পূর্ণ ডিরেক্টরি ভাগ করতে চাই না, সম্ভবত কারণ আমি অতিথির উপর একটি সম্পূর্ণ ডিরেক্টরিকে ডেকে না দিয়ে কোনও বিদ্যমান ফাইলটি ওভাররাইট করতে চাই।

শেল প্রভিশনের স্ক্রিপ্ট লিখতে এবং সম্ভাব্য পলায়নের বিষয়টি মোকাবিলা করার জন্য কিছুটা ওভারকিলও মনে হয়, যখন আমি যা করতে চাই তা কোনও ফাইল অনুলিপি করে।

সুতরাং, হোস্ট থেকে অতিথি হিসাবে কোনও একক ফাইল অনুলিপি করার সহজ উপায় কী?


নোট করুন যে গৃহীত উত্তরটি ভ্যাগ্র্যান্ট ১.x এর উপর ভিত্তি করে-- একটি ফাইল বিধানকারী ব্যবহার করা হ'ল স্ট্যান্ডার্ড ভ্যাগ্র্যান্ট 2 পদ্ধতির , যদিও /vagrant এখানে বর্ণিত মাউন্ট পয়েন্টটি পরিবর্তন করাও একটি ভাল বিকল্প হতে পারে
এসটিডাব্লু

3
@ জৌলের উত্তরটি একটি একক ফাইলের এক-অফ অনুলিপিটির সহজ ব্যবহারের ক্ষেত্রে আরও বেশি ভোটের যোগ্যতা অর্জন করেছে: vagrant upload /path/to/my/file...
ডাট

উত্তর:


107

ফাইলটি অনুলিপি করার জন্য শেল প্রভিজার ব্যবহার করার পরিবর্তে, আপনি কোনও ভ্যাগ্র্যান্ট ফাইল প্রভিজার ব্যবহার করতে পারেন ।

সরবরাহকারী নাম: "file"

ফাইল বিধানকারী আপনাকে হোস্ট মেশিন থেকে অতিথি মেশিনে একটি ফাইল আপলোড করতে দেয়।

Vagrant.configure("2") do |config|
  # ... other configuration

  config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
end

3
এটি অবশ্যই ভ্যাগ্র্যান্ট 2 এ করার সর্বোত্তম উপায়! যাইহোক, ভ্যাগ্র্যান্ট 2 যখন আমার এটি করার দরকার ছিল তখন উপলভ্য ছিল না ... :)
লিএক্সগ্রিন

4
এই সমাধানটি দুর্দান্ত শোনাচ্ছে তবে অনুমতি ত্রুটির কারণে আমি কোনও ফাইল অনুলিপি করতে পারি না।
অরব্যাটশো

@ আরবাটশো আমার একই সমস্যা ছিল, তবে আমি যদি এটি অনুলিপি করি না/tmp
বেন

6
এটি ওপি বলেছে না। প্রশ্ন ছিল কীভাবে মাঝেমধ্যে ফাইল স্থানান্তর করতে হয়; প্রভিশন চালানো হচ্ছে ওভারকিল।
শে

253

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

এর মাধ্যমে ইনস্টল করুন:

vagrant plugin install vagrant-scp

এটি এর মতো ব্যবহার করুন:

vagrant scp <some_local_file_or_dir> [vm_name]:<somewhere_on_the_vm>

1
এটি আমার পক্ষে কাজ করে না। আমি প্লাগইনটি ইনস্টল করেছি, তবে একটি ত্রুটি পেয়েছি যা বলেছিল যে "প্লাগইন" ভিজান্ট-স্কিপ "পাওয়া যায় নি Please দয়া করে নিশ্চিত হয়ে নিন যে এটির মাধ্যমে এটি সঠিকভাবে ইনস্টল করা আছে vagrant plugin" "
রকেস্টারটন

6
হাই রড, ভ্যাগ্র্যান্ট-স্কিপ ভ্যাগ্র্যান্ট 1.7+ এর সাথে কাজ করে। আপনি যে বাগটি খোলেন সেগুলি থেকে আপনি 1.4.3 চালাচ্ছেন। আপনার যদি এই প্লাগইনটির প্রয়োজন হয় তবে আমি ভয় করি যে আপনাকে আপগ্রেড করতে হবে (যা দ্রুত এবং বেদনাদায়ক)।
লুকা ইনভার্নিজি

1
আমি ফাইলগুলি অনুলিপি করার জন্য এই কমান্ডটি চেষ্টা করেছি কিন্তু কাজ করে নি এবং ত্রুটি দিয়ে vagrant scp /vagrant/www/koushik.php ubuntu/trusty64:/usr/share/nginx/htmlআমি ফাইলগুলি এনজিএনএক্স মূল ডিরেক্টরিতে অনুলিপি করার চেষ্টা করছি। এটি বলে, The machine with the name 'C' was not found configured for this Vagrant environment. ডিরেক্টরি এবং সমস্ত কিছু ঠিক আছে।
কাউশিক দাস

3
একটি জিনিস যোগ করতে হবে: আপনাকে মেশিনের আইডিটি ব্যবহার করতে হবে যা আপনি প্রথম কলামে যোদ্ধা গ্লোবাল-স্ট্যাটাসের সাথে পেতে পারেন। তবুও, এটি সেরা সমাধান ইমো।
মিনিট হুন্ডে

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

141

আসলে অনেক সহজ সমাধান রয়েছে। Https://gist.github.com/colindean/5213685/#comment-882885 দেখুন :

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


3
আমার উত্তরটি হুবহু এটিই করে ... এটি / ভিজাগ্র্যান্ট / থেকে ফাইলটি অনুলিপি করতে একটি শেল প্রভিজার চালায়।
লিকএক্সগ্রিন

2
লেক্সগ্রিন যেমন ব্যবহার করেছে তেমনিভাবে ভ্যাংগার প্রভিশন ব্যবহার করা আরও ভাল।
তোখি

4
তা নিশ্চিত করুন config.vm.synced_folder ".", "/vagrant", disabled: falseএবং তারপরেvagrant reload
ক্রিস্টোফার মার্কিয়েটা

বিপরীতমুখী অপারেশন করার চেষ্টা করে (স্থানীয় মেশিনে ভ্যাংর্ট বক্স) এটি ভিজাগর বক্সে কাজ করে নাcentos/7
ryantuck

আমার হোস্টে আমার উবুন্টু 14 ভিজেন্ট ভিএম থেকে কোনও ফাইল অনুলিপি করার সময় এটি আমার পক্ষে পুরোপুরি কাজ করে। ধন্যবাদ !!
এক্সট্রাস্পিলিটি

98

ডিফল্ট হিসাবে, প্রথম বিস্মৃতকর দৃষ্টান্তটি 2222 হিসাবে ssh বন্দর ব্যবহার করে এবং এর আইপি ঠিকানাটি 127.0.0.1 হয় (আপনার বাস্তব ভার্চুয়াল হোস্টের সাথে পোর্টটি সামঞ্জস্য করতে হতে পারে)

==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)

সুতরাং আপনি আপনার স্থানীয় ফাইলটি ভিজ্যর দৃষ্টান্তে অনুলিপি করতে কমান্ডের নীচে চলতে পারেন। পাসওয়ার্ডটি ব্যবহারকারীর নাম হিসাবে একই vagrant

scp -P 2222 your_file vagrant@127.0.0.1:.

আপনি নিজের স্থানীয় হোস্টে ফাইলটি অনুলিপি করতে পারেন।

scp -P 2222 vagrant@127.0.0.1:/PATH/filename .

3
আমাকে এটি করতে হয়েছিল এবং কঠোর কী পরীক্ষণটি অক্ষম করতে হয়েছিল:scp -P 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no my-file.txt matt@127.0.0.1:/tmp
ম্যাট

আমি এই এসএস অপশনগুলিকে ~/.ssh/configডিফল্ট হিসাবে যুক্ত করার পরামর্শ দেব , যা আমি আমার পরিবেশে এটি করেছি:StrictHostKeyChecking no
BMW

1
+1 + যদি কারও একের অধিক ভার্চুয়াল মেশিন থাকে তবে বন্দরটির মান ওরাকল ভিএম ভার্চুয়ালবক্স ম্যানেজারের ইউআই থেকে নেওয়া উচিত - বাম, সেটিং, নেটওয়ার্ক, পোর্ট ফরওয়ার্ডিংয়ে ভিএম নির্বাচন করুন
ইয়ার্ডান জর্জিভ

1
এটি গৃহীত উত্তরের চেয়ে ভাল। / যোজনাগুলি ডিরেক্টরি সর্বদা থাকে না।
jimm101

"আরসিপির জন্য দ্রুত, নমনীয় প্রতিস্থাপন" হিসাবে আরএসসিএন-এর বর্ণনার rsyncসাথে তুলনায় এই ক্ষেত্রে কাজ করা কতটা কঠিন তা অবাক করে scpদেওয়া।
ওয়াইল্ডকার্ড

56

সমস্যাটি সম্পর্কে আমার এই পদ্ধতিটি এখানে:

পদক্ষেপ 1 - ব্যক্তিগত কী, ssh পোর্ট এবং আইপি সন্ধান করুন:

root@vivi:/opt/boxes/jessie# vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /root/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

পদক্ষেপ 2 - স্ক্রিপ্টের প্যারামিটার হিসাবে পোর্ট এবং ব্যক্তিগত কী ব্যবহার করে ফাইল স্থানান্তর করুন:

  scp -P 2222 -i /root/.vagrant.d/insecure_private_key \
  someFileName.txt vagrant@127.0.0.1:~

আমি আসা করি এটা সাহায্য করবে,


4
এটি সহজতম উপায়। ধন্যবাদ.
elmonkeylp

2
কীটি ব্যবহার করার ফলে আমাকে ফাইলটি স্থানান্তর করতে দেওয়া হয়েছিল। এই তথ্য ছাড়া উচ্চতর উত্তর কাজ করে না, তাই আপনাকে ধন্যবাদ!
inostia

1
সহজ এবং সম্পূর্ণ সমাধান।
টাও স্টারবো

27

আমি যা করতে পেরেছি তা হ'ল ফাইলটি আমার যোজনাগুলি ডিরেক্টরিতে রেখে দেওয়া (স্বয়ংক্রিয়ভাবে / ভ্যাগ্র্যান্ট হিসাবে মাউন্ট করা) এবং শেল সরবরাহকারী দিয়ে এটি অনুলিপি করা:

command = "cp #{File.join('/vagrant/', path_within_repo)} #{remote_file}"
config.vm.provision :shell, :inline => command

4
আমি কোর্টিলগুলি installযেমন install -D -m644 -C ...এসআরসি ডেসট ব্যবহার করার পরামর্শ দেব । সিপির পরিবর্তে, আপনি অনুমতিগুলি, মালিকানা নির্দিষ্টকরণ, স্বয়ংক্রিয়ভাবে নেতৃস্থানীয় ডিরেক্টরিগুলি তৈরি করার মতো জিনিসগুলি করতে পারেন, কেবলমাত্র ফাইলটি আপডেট করার প্রয়োজন থাকলে অনুলিপি করুন ... ইত্যাদি, সিপি পরিবর্তে সহজ এবং সূক্ষ্ম যদি আপনি সমস্ত কিছু করেন তবে যা করতে হবে.
xenoterracide

@LeeXGreen। আপনি যে কাজটি করার চেষ্টা করছেন তা করার চেষ্টা করছি তবে আমি আপনার উত্তরটি বেশিরভাগই পাই না। আপনি কি টার্মিনালে কোড লাইন টাইপ করেছেন? তুমি কোথায় রেখেছ?
ড্যান রুবিও

আমার উত্তর থেকে কোড স্নিপেট Vagrantfileআপনার অন্যান্য বিধানকারীদের পাশাপাশি চলে । অবশ্যই আপনার অ্যাপ্লিকেশনটির জন্য আপনাকে অবশ্যই প্রয়োজনীয় জিনিসগুলি প্রতিস্থাপন করতে হবে path_within_repoএবং যুক্ত remote_fileকরতে হবে :)
লিএক্সগ্রিন

কাজ করে তবে আমি "ডিফল্ট:
স্টিডিন: কোনও টিটিআই

25
vagrant upload localfile

এটি ভিজাগর ব্যবহারকারীর বাড়ির দিরে লোকালফাইলে রাখবে

https://www.vagrantup.com/docs/cli/upload.html


2
এটি সহজেই এক-অফ ব্যবহারের জন্য ওপিএস অনুরোধটিকে পুরোপুরি ফিট করে।
দারদব

20

আপনি যদি আপনার ডিরেক্টরিতে ফাইল থাকা থেকে বিরত থাকেন তবে আপনি হোস্ট মেশিন থেকে স্ক্রিপ্ট ফাইলটিতে এই কোডটি চালাতে পারেন।

#!/bin/sh
OPTIONS=`vagrant ssh-config | awk -v ORS=' ' '{print "-o " $1 "=" $2}'`

scp ${OPTIONS} /File/To/Copy vagrant@YourServer:/Where/To/Put/File

এই সেটআপে, আপনাকে কেবল /File/To/Copyযে ফাইল বা অনুলিপি করতে চান ফাইলগুলিতে পরিবর্তন করতে হবে এবং তারপরে /Where/To/Put/Fileআপনি যে ভিএম-তে ফাইল অনুলিপি করতে চান সেটি সেই অবস্থানের।

আপনি যদি এই ফাইলটি তৈরি করেন এবং কল করেন তবে copyToServer.shআপনি shসেই ফাইলগুলি ঠেকাতে কমান্ডটি চালাতে পারেন ।

sh ./copyToServer.sh

একটি চূড়ান্ত নোট হিসাবে, আপনি এই কোডটি provisionerকারণ হিসাবে চালাতে পারবেন না যে এটি গেস্ট সার্ভারে চলে, যখন এই কোডটি হোস্টের কাছ থেকে চলে।


1
এটি সম্ভবত ভাইরাস-স্কিপ প্লাগইন ইনস্টল করার সর্বোত্তম সমাধান outside এটি এসএসএইচ কনফিগারেশন ব্যবহার করে যা ভ্যাগ্র্যান্ট ব্যবহার করে তাই এটি বিভিন্ন সরবরাহকারীদের দ্বারা সরবরাহিত বিভিন্ন নেটওয়ার্ক সেটআপগুলি পরিচালনা করতে পারে।
স্যান্ডি চ্যাপম্যান

1
নিস! আমি আপনাকে আরও নোট করার পরামর্শ দিচ্ছি যে vagrant ssh-configভবিষ্যতে আরও সহজ করার জন্য লোকেরা কেবল তাদের আউটপুট নিতে এবং তাদের ~ / .ssh / কনফিগারেশন ফাইলে এটি আটকে দিতে পারে। আইএইচএফ এর উত্তরের সাথে এটি সংযুক্ত করে
নীলামকবি

2
"হোস্ট ডিরেক্টরিটি একটি কমান্ড-লাইন বিকল্প হিসাবে সমর্থিত নয়" - এসএস-কনফিগার বিভাগের শিরোনাম দ্বারা সৃষ্ট "ত্রুটিযুক্ত হোস্ট ডিফল্ট" - এ ত্রুটি এড়ানোর জন্য আমি এসএসএস-কনফিগার আউটপুটটির প্রথম লাইনটি এড়ানো প্রয়োজনীয় বলে মনে করেছি। সুতরাং, আমার স্ক্রিপ্টটি OPTIONS=`vagrant ssh-config | tail -n +2 | awk -v ORS=' ' '{print "-o " $1 "=" $2}'`ssh-config আউটপুটটির প্রথম লাইনটি ব্যবহার করে বাদ দিতে হবে।
ট্রয়ফোলগার

1
বিকল্পভাবে, "হোস্ট ডিরেক্টরিটি সমর্থিত নয়" ত্রুটিটি মুছে ফেলার জন্য আপনি OPTIONS=`vagrant ssh-config | grep -v '^Host ' | awk -v ORS=' ' 'NF{print "-o " $1 "=" $2}'`এখানে দলিল হিসাবে ব্যবহার করতে পারেন : gist.github.com/geedew/11289350
user783836

10

ভ্যাগ্র্যান্ট লগ-ইন না করে ssh-র উপর একটি কমান্ড কার্যকর করার একটি উপায় সরবরাহ করে, তাই লিনাক্স হোস্ট এবং অতিথির জন্য আপনি ব্যবহার করতে পারেন:

  • অতিথি থেকে হোস্ট:

cat ~/file_on_host.txt | vagrant ssh -c 'cat - > ~/file_on_guest.txt'

  • অতিথি থেকে হোস্টে:

vagrant ssh -c 'cat ~/file_on_guest.txt' > ~/file_on_host.txt

প্লাগইন বা অতিথি পুনরায় লোডের প্রয়োজন নেই। আপনি যদি ভ্যাগ্রান্টফাইলে একই ধরণের না হন তবে কেবল 'ভ্যাগ্র্যান্ট এসএসএস' -কে ভ্যাগ্রেট বক্স আইডি সরবরাহ করার বিষয়টি নিশ্চিত করুন। ভ্যাগ্র্যান্ট v1.8.1 এ পরীক্ষিত।


অতিথি থেকে হোস্ট পদ্ধতির কাছে ফাইলগুলিতে বিশেষ চিহ্নগুলি সংরক্ষণ করা হয় না
ড। এক্স

9

আপনি এন্ট্রি যোগ করতে পারেন ~/.ssh/config:

Host vagrant
    User vagrant
    HostName localhost
    Port 2222
    IdentityFile /home/user_name/.vagrant.d/insecure_private_key

এবং সহজ scp file vagrant:/path/vagrant ssh-configকমান্ডটি ব্যবহার করে আপনি পরিচয় ফাইলের সন্ধান করতে পারেন ।


1
খুব সহায়ক, এবং কী চলছে তা স্পষ্ট করতে সহায়তা করে। এটি আপনাকে উভয় দিকের অনুলিপি করতে, পুনরাবৃত্তির অনুলিপিগুলি করতে দেয় এবং
স্কেপ

1
আমি কেবল উপরের উত্তরগুলি পুনরায় পড়ি এবং উইট গিডিউর উত্তর খেলে আবিষ্কার করেছি vagrant ssh-configযা আপনাকে আরও সম্পূর্ণ এবং সুবিধাজনক কনফিগারেশন দেয় যা আপনি আপনার ~ / .ssh / কনফিগারেশনে রাখতে পারেন। তবে আবারও ধন্যবাদ!
nealmcb

7

আপনার যেখানে আছে Vagrantfile
তারপরে যে ডিরেক্টরিতে যান সেটিতে যান , সম্পাদনা করুন Vagrantfileএবং নিম্নলিখিতগুলি যুক্ত করুন:

config.vm.synced_folder ".", "/vagrant", :mount_options => ['dmode=774','fmode=775']

"।" এর অর্থ আপনি বর্তমানে আপনার হোস্ট মেশিনে থাকা ডিরেক্টরি
"/ ভ্যাগ্রান্ট" অতিথি মেশিনে (ভ্যাগ্র্যান্ট মেশিন) "" / হোম / ভ্যাগ্র্যান্ট "বোঝায় ।

অতিথি মেশিনে আপনাকে যে ফোল্ডারটি প্রেরণ করতে হবে সেই ফাইলগুলি অনুলিপি করুন যেখানে আপনার Vagrantfile তারপরে গিট ব্যাশটি খুলুন এবং cdযে ডিরেক্টরিটিতে আপনার Vagrantfileটাইপ রয়েছে তা খুলুন :

vagrant scp config.json XXXXXXX:/home/vagrant/

যেখানে XXXXXXX হল আপনার ভিএম নাম । আপনি চালিয়ে আপনার ভিএম নাম পেতে পারেন

vagrant global-status

7

যদি কিছু কারণে আপনার ব্যবহারের অনুমতি না থাকে

vagrant plugin install vagrant-scp

বিকল্প উপায় আছে:

প্রথমে আপনার ভ্যাগ্র্যান্ট প্রজেক্টটি ভিজ্যর করুন , তারপরে টার্মিনালে লিখুন:

vagrant ssh-config

আপনার ভার্চুয়াল মেশিনের "হোস্টনাম" এবং "পোর্ট" সম্পর্কে আপনার কাছে তথ্য থাকবে।

কিছু ক্ষেত্রে, আপনার প্রকল্পে কিছু ভার্চুয়াল মেশিন থাকতে পারে। সুতরাং কেবল আপনার মাস্টার-মেশিনটি সন্ধান করুন (সাধারণভাবে, এই ভিএমটির 2222 পোর্ট রয়েছে) এবং অন্যের মেশিনের তথ্যগুলিতে মনোযোগ দিন না।

কপি তৈরি করতে কমান্ডটি লিখুন:

scp -P xxPortxx  /Users/where/is/your/file.txt  vagrant@xxHostNamexx:/home/vagrant

এই খাড়া জায়গায় আপনাকে একটি অস্পষ্ট পাসওয়ার্ড দিতে হবে: ডিফল্টরূপে এটি "ভিজাগ্র"

এর পরে যদি আপনি আপনার ভার্চুয়াল মেশিনে ফাইলগুলি দেখেন:

vagrant ssh xxVirtualMachineNamexx
pwd
ls

আপনার ভার্চুয়াল মেশিন ডিরেক্টরিতে "file.txt" থাকবে



2
তবে লক্ষ্য ডিয়ারের অনুমতিের কারণে এটি হয়েছিল। আমি / বাড়িতে / যোনিতে অনুলিপি করেছিলাম এবং এটি কাজ করে।
ব্যবহারকারী 2568374

4

যদি আপনি আপনার ভ্যাগ্র্যান্ট বক্সের নাম জানেন তবে ভ্যাগ্র্যান্ট স্ক্যাপ প্লাগইন কাজ করে। অসম্পূর্ণ গ্লোবাল-স্ট্যাটাস পরীক্ষা করুন যা আপনার বক্সের নাম সরবরাহ করবে তবে আপনি চালাতে পারবেন:

vagrant global-status
id       name    provider   state   directory
------------------------------------------------------------------------
13e680d  **default** virtualbox running /home/user

আমার মামলার ডিফল্ট ক্ষেত্রে ভ্যাগ্র্যান্ট স্কিপ ~ / ফুবার "নাম": / হোম / "ব্যবহারকারী" /


1
এটি আমার জন্য কাজ করেছে। সম্পাদনাটিও সহায়ক, আমিও ভিজাগ্রেন্ট স্কিপ প্লাগইন ইনস্টল করার কমান্ডটি অন্তর্ভুক্ত করব।
আইয়াল

1

এটি চেষ্টা করুন .. যোদ্ধা উবুন্টু 14.04 এটি আমার জন্য কাজ করেছে।

scp -r -P 2222 vagrant@localhost:/home .

1

কোনও কিছু ইনস্টল না করে এটি করার একটি বিকল্প উপায় ( vagrant-scpইত্যাদি) নোট করুন যে নামটি defaultযেমনটি ব্যবহার করা দরকার তখন থেকেই vagrant ssh-configএটি প্রকাশিত হয়।

vg_scp() {
  tmpfile=$(mktemp /tmp/vagrant-ssh-config.XXXX)
  vagrant ssh-config > $tmpfile
  scp -F $tmpfile "$@"
  rm $tmpfile
}

# Copy from local to remote
vg_scp somefile default:/tmp

# Copy from remote to local
vg_scp default:/tmp/somefile ./

# Copy a directory from remote to local
vg_scp -r default:/tmp ./tmp

scp -F =(vagrant ssh-config) ...শেলগুলি জুড়ে কাজ করে ফাংশনটি প্রয়োজনীয় হবে না । তবে যেহেতু এটি বাশ দ্বারা সমর্থিত নয়, তাই আমাদের এই কর্মচেষ্টাকে অবলম্বন করতে হবে।


1

যদি কেউ উইন্ডোজ হোস্ট থেকে ফাইলটি ভিজ্যর্টে স্থানান্তর করতে চায় তবে এই সমাধানটি আমার পক্ষে কাজ করেছে।

1. Make sure to install **winscp** on your windows system
2. run **vagrant up** command
3. run **vagrant ssh-config** command and note down below details
4. Enter Hostname, Port, Username: vagrant, Password: vagrant in winscp and select **SCP**, file protocol 
5. In most cases, hostname: 127.0.0.1, port: 2222, username: vagrant, password: vagrant.

আপনার যান্ত্রিক মেশিনে ডিরেক্টরিগুলি দেখতে সক্ষম হওয়া উচিত।


-3

স্থানীয় থেকে দ্বিধাহীনভাবে ফাইল অনুলিপি করার সর্বোত্তম উপায়, কোনও কোড বা কোনও জিনিস বা কোনও কনফিগারেশন পরিবর্তন লেখার দরকার নেই। 1- ভবঘুরে (আপ প্রথম ভবঘুরে আপ ) 2- খোলা cygwin 3- cygwin: আপনার ফোল্ডারে যান যেখানে vagrantfile নেই অথবা যেখানে আরম্ভ থেকে ভবঘুরে 4 SSH ভবঘুরে 5- এখন এটি একটি স্বাভাবিক সিস্টেম মত কাজ করবে।


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