আমি যখন এসএসএইচ করব তখন কীভাবে .vimrc আনব?


34

আমার কাজটি বিভিন্ন মেশিনে সংযোগ স্থাপনের জন্য এসএসএইচ ব্যবহার করা এবং তারপরে সেই মেশিনগুলিতে ফাইল সম্পাদনা করার জন্য ভিআইএম ব্যবহার করা জড়িত। সমস্যাটি হ'ল আমাকে প্রায় .vimrc ফাইলটি প্রায় আমার কাছে অনুলিপি করতে হবে। ভিএম খোলার জন্য এবং কোনও সেটিংস না রাখার জন্য এটি অত্যন্ত বিরক্তিকর। ম্যানুয়ালি এটিকে সর্বত্র অনুলিপি না করেই কি আমার ভিআইএম সেটিংসটি আমার সাথে মেশিন থেকে মেশিনে নিয়ে যাওয়া সম্ভব?


@ ডুফবিয়ার 703: হ্যাঁ, এমন set background=darkবা set background=lightএমন কোনও কিছু যা কোনও লিনাক্স বিতরণ স্পর্শ করে না এবং ব্যবহারকারীর পক্ষে সম্পূর্ণ আপত্তিজনক ob </arcasm>
হুবার্ট কারিও

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

উত্তর:


24

আমি তোমার কষ্টটা অনুভব করতে পারছি. আমি আমার সমস্ত ~ /.* আরসি ফাইলগুলি সংস্করণ নিয়ন্ত্রণের অধীনে (সাবভার্সন) করেছি, ১৯৯৯ সালে সিভিএস ব্যবহার করে শুরু করে দুর্দান্ত কাজ করেছি। এটি করার একটি উপায় হ'ল আপনি যখন নিজের বাড়ির ডিরেক্টরিতে দাঁড়িয়ে থাকেন তখন আপনার সমস্ত আরসি ফাইলগুলি পরীক্ষা করে দেখুন:

svn co svn+ssh://user@host/path/to/repo/trunk/home/user .
A    .signature
A    .vimrc
A    .bashrc
A    .screenrc
A    .psqlrc
[...]
Checked out revision 7645.

আপনি এসএনএন আপডেট চালানোর সময় কনফিগার ফাইলগুলি বিভিন্ন কম্পিউটারে সিঙ্ক এবং আপডেট করা হবে।


3
আমি অনুমান করি এটি যেমনটি পায় ততই ভাল। কৌশলটি হ'ল আমাকে এমন একটি মেশিনে একটি সংগ্রহস্থল সেটআপ করতে হবে যা অন্য সমস্ত মেশিনের থেকে অ্যাক্সেসযোগ্য। সুরক্ষিত নেটওয়ার্ক টোপোলজি সহ, এটি সর্বদা সহজ নয়।
এপ্রিচ

আমি সম্প্রতি এটি করা শুরু করেছি, এটি আশ্চর্যজনক। আমি না জানি কীভাবে বাঁচলাম না।
সমৃদ্ধ

5
সম্ভবত গিট বা অন্য কোনও বিতরণযোগ্য সংস্করণ নিয়ন্ত্রণ সিস্টেম ব্যবহার করুন। সেক্ষেত্রে কনফিগার ফাইলগুলি চেক আউট করা এমন কোনও মেশিনে প্রবেশাধিকার যথেষ্ট out
পিটিম্যান

44

আপনার প্রতিটি সার্ভারে .vimrc আনার পরিবর্তে আপনার কাজ করা উচিত, কেন আপনার স্থানীয় ভিআইএম থেকে দূরবর্তী ফাইলগুলি সম্পাদনা করবেন না:

ভিএম / জিভিমে, চালান:

:e scp://remoteuser@server.tld//path/to/document

বা এইভাবে ভিম শুরু করুন:

vim scp://remoteuser@server.tld//path/to/document

এটি স্থলভাগে ফাইলটি খুলবে (এটি আসলে স্থানীয়ভাবে ফাইলটি অনুলিপি করে) এবং আপনি সংরক্ষণ করার পরে এটি সম্পাদিত ফাইলটি আপনার জন্য সার্ভারে ফিরে পাঠায়।

এটি ssh পাসওয়ার্ডের জন্য জিজ্ঞাসা করে, তবে এটি ssh কীগুলির মাধ্যমে প্রবাহিত করা যেতে পারে।

অন্যরা যেমন এই পদ্ধতির একমাত্র ত্রুটি উল্লেখ করেছেন তা হ'ল সরাসরি মেশিনে কাজ করার সময় আপনি যেমন পথ / ফাইলের প্রতিযোগিতা পান না তেমন।

আরো তথ্যের জন্য, নিম্নলিখিত টিউটোরিয়াল খুঁজে বার করো


Scp: // ইঙ্গিতটির জন্য +1 তবে আমি মনে করি যে প্রতিবার কোনও ফাইল সম্পাদনা করার সময় আপনাকে যদি পথটি অনুলিপি করতে হয় তবে এই সমাধানটি কিছুটা জটিল হতে পারে।
chmeee

1
হ্যাঁ, এটি খুব জটিল। আমার যে ফাইলগুলি চান সেটি সন্ধান করতে আমাকে দূরবর্তী মেশিনগুলির আশেপাশে প্রচুর পোকিং করতে হয় এবং প্রায়শই সুডোর সুবিধার্থে সম্পাদনা করতে হয়।
এপ্রেচে

+1 এটি আমার পক্ষে সত্যই ভাল কাজ করে। ধন্যবাদ :)
দারাগ এনরাট

এমন একটি ক্ষেত্রে রয়েছে যেখানে আপনাকে একটি প্রধান সার্ভারে প্রবেশ করতে হবে (login.example.com) তারপরে সেখান থেকে স্থানীয় সার্ভারে লগইন করুন (top.secret.example.com)
puk

যদি আপনি স্থানীয় ডিরেক্টরিতে রিমোট ফাইলের কাঠামো মাউন্ট করেন তবে এটি দুর্দান্তভাবে কাজ করে।
13-15 এ পুনরায় রিলেট করুন

18

আপনি প্রতিবার লগ ইন করার পরে এটি স্বয়ংক্রিয়ভাবে অনুলিপি করতে কোনও বাশ স্ক্রিপ্ট তৈরি করতে পারেন:

#!/usr/bin/env bash

scp ~/.vimrc $1:
ssh $1

উদাহরণস্বরূপ আপনি এটি ssh_vim বলতে পারেন can এটি একটি আদর্শ সমাধান নয় তবে আপনার সমস্যার সমাধান করবে।

ইতিমধ্যে সেখানে আছে কিনা তা পরীক্ষা করতে আপনি এটি উন্নত করতে পারেন। আপনি যদি সর্বদা একই মেশিন থেকে ssh চালাচ্ছেন না, আপনি অন্য মেশিন থেকে scp থেকে ফাইল আনতে স্ক্রিপ্ট পরিবর্তন করতে পারেন।

EDIT1

সম্পর্কিত নোটে, আপনি sshfs সহ রিমোট মেশিনের ফাইল সিস্টেমটিও মাউন্ট করতে পারেন। এইভাবে আপনি আপনার পরিবেশ এবং সরঞ্জামগুলি থেকে লাভবান হন (কেবলমাত্র .vimrc নয়) এবং আপনার শেল সমাপ্তি রয়েছে (যা আপনি scp: // ব্যবহার করেন না)।

EDIT2

আমি সবেমাত্র জানতে পেরেছি যে আপনি scp: // ব্যবহার করে আপনার .vimrc ফাইলটি উত্স করতে পারবেন:

:source scp://you@your_computer//yourpath/.vimrc

এটি ভিআইএম কমান্ড লাইন থেকে কাজ করে তবে এই মুহুর্তে আমি কীভাবে এটি স্বয়ংক্রিয় করতে হয় তা জানি না। এটি '-u' স্যুইচ বা .vimrc বা IM VIMINIT- এর সাহায্যে কাজ করবে বলে মনে হচ্ছে না।

EDIT3

আমি এটি পেয়েছি! আপনি আপনার রেফারেন্সের হোস্ট থেকে নেওয়া .vimrc দিয়ে ভিম শুরু করতে এটি করতে পারেন:

vim -c ':source scp://you@your_computer//yourpath/.vimrc'

অপশন '-c' ভিএম চালু করার পরে কমান্ডটি কার্যকর করে।

আপনি টাইপ করা এড়াতে আপনার পছন্দসই শেলটিতে একটি উপকরণ তৈরি করতে পারেন। ব্যাশে এটি এমন হবে:

alias vim="vim -c ':source scp://you@your_computer//yourpath/.vimrc'"

2
এটি কেবলমাত্র কাজ করে যে কম্পিউটারের সঙ্গে আপনি ssh'ing হয় মধ্যে ফিরে যে কম্পিউটারের সঙ্গে আপনি ssh'ing হয় সংযোগ করতে পারেন থেকে । এটি সর্বদা ক্ষেত্রে হয় না, উদাহরণস্বরূপ যদি আপনার কম্পিউটার NAT এর পিছনে থাকে।
ট্রাইসিস

11

আপনি যদি সর্বজনীন-কী প্রমাণীকরণ ব্যবহার করছেন তবে আপনি এটিতে এটি ব্যবহার করতে পারেন ~/.ssh/config:

Host *
   PermitLocalCommand yes
   LocalCommand bash -c 'scp -P %p %d/.vimrc %u@%n: &>/dev/null &'

আমি উপরে উল্লিখিত স্ক্রিপ্ট ট্রিকের চেয়ে এটি আরও ভাল পছন্দ করি কারণ এটি sshকমান্ডের অনুরোধকে বিঘ্নিত করে না (অতিরিক্ত প্যারামিটারগুলি নির্দিষ্ট করার সময় ইত্যাদি)


এটিই সর্বোত্তম. আমার জন্য আমাকে পরিবর্তন %u@%n:করতে হয়েছিল %r@%n:কারণ ssh ব্যবহারকারীর নামটি আমার ল্যাপটপের ব্যবহারকারীর নাম থেকে আলাদা
মোশে

4

কয়েকটি সমাধান:

1) আপনার বাড়ির ফোল্ডারের জন্য একটি এনএফএস শেয়ার তৈরি করুন এবং একাধিক স্থানে এটি ম্যাপ করুন।

2) আপনি নিজের পরিচয় / কী ফাইলের সাথে সংযোগ করছেন এমন সার্ভারে আপনার .vimrc টিপতে একটি ছোট স্ক্রিপ্ট তৈরি করুন। এটি এর মতো কিছু দেখতে পারে (সিউডোকোড):

connectString = arg0  #username@ipaddress

scp -i ~/.ssh/indentity connectString:~/ ~/.vimrc
ssh -i ~/.ssh/indentity connectString

1
ssh কীগুলি প্লেইন টেক্সট পাসওয়ার্ড সমস্যার সমাধান করবে।
লীরাণুনা

এনএফএস শেয়ার তৈরি করতে আপনি কোন সরঞ্জামটি ব্যবহার করবেন?
ওয়াদিহ এম।

@ লীরাণুনা - মনে হচ্ছে আমার 'দুহ' মুহুর্তের আগে এবং আমার পোস্টটি সম্পাদনা করার আগে আপনি আমাকে ধরে ফেলেছিলেন। @ ওয়াদিহ - এনএফএসডি সাধারণত ডিফল্টরূপে নিক্স সিস্টেমে ইনস্টল করা থাকে। আপনি ডিফল্টরূপে (সাধারণত) পাশাপাশি এনএফএস শেয়ারগুলিও মাউন্ট করতে পারেন।
মোশেন

1
এনএফএস ভাগ করে নেওয়া একটি ভাল ধারণা তবে বিশেষত
আগুনওয়ালা

আপনি সঠিক ইরিক্সলা। আমি ধারণা নিয়েছিলাম যে এটি একটি একক নেটওয়ার্কের মধ্যে একাধিক মেশিন।
মোশেন

4

সানাই 256 হিসাবে ঠিক একই উত্তর, তবে সাবভারশনের পরিবর্তে গিট ব্যবহার করুন।

সমস্ত কম্পিউটারের জন্য প্রচলিত ফাইলগুলির সাথে একটি প্রধান শাখা রাখুন এবং প্রতিটি নতুন কম্পিউটারের জন্য একটি করে শাখা রাখুন।

এইভাবে বেশিরভাগ কম্পিউটারে আপনার প্রায় একই ফাইল থাকতে পারে এবং এখনও বিভ্রান্ত হওয়ার মতো হয়ে উঠছেন না।


+1 একটি ছোট প্রশ্ন: আমি অবাক হয়েছি যে সাবার্সনে সাধারণ ফাইলগুলির জন্য বাহ্যিক সংজ্ঞা ব্যবহার করা ভাল? এইভাবে আপনি এগুলিকে এক জায়গায় রাখতে এবং যে কোনও শাখায় নিয়ে আসতে পারেন
ইউজিন ইয়ারম্যাশ

3

আমি জানি এটি একটি পুরানো থ্রেড, তবে আমি এটি করার একটি উপায় হ'ল এসএসএফএস ব্যবহার করছি যা ফাইল সিস্টেমকে ফিউজের উপর চাপ দেয়। স্থানীয় ভিম সমস্ত সম্পাদনা করে, তাই .vimrc চারপাশে অনুলিপি করার কোনও কারণ নেই।

এটির কোনও খারাপ দিক রয়েছে যা অন্য কোনও টার্মিনালকে যে কোনও কমান্ডের জন্য রিমোট সার্ভারে চলমান দরকারের জন্য উন্মুক্ত থাকতে হবে, তবে সম্পাদনার জন্য আমি এইভাবে সবচেয়ে ভাল খুঁজে পাই।

এটিতে সিস্টেম ক্লিপবোর্ড ব্যবহার করতে সক্ষম হওয়ার অতিরিক্ত বেনিফিটও রয়েছে।


2

আমি আমার ডটফাইলগুলি পরিচালনা করতে, এবং সেগুলি গিথুবগুলিতে সঞ্চয় করতে https://github.com/andsens/homeshick ব্যবহার করছি ।

হোমশিক 100% ব্যাশে রচিত এবং আপনাকে "দুর্গ" পরিচালনা করতে সহায়তা করে যা কেবল গিট রেপো যাতে / হোম / ডিরেক্টরি থাকে। এটিতে বিদ্যমান ডট ফাইলগুলিকে রেপোতে স্থানান্তরিত করতে এবং প্রতিলিঙ্কগুলি দিয়ে প্রতিস্থাপন করার কমান্ড রয়েছে। এবং একটি নতুন মেশিনে আপনার হোম ডিরেক্টরিতে রেপোতে থাকা সমস্ত ফাইলকে সিমিলিংক করতে।

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


আপনি কি লিঙ্ক থেকে কিছু তথ্য যুক্ত করতে পারেন? এটি উত্তরটি উন্নত করবে এবং লিঙ্কটি ব্রেক হলে তথ্য সরবরাহ করবে।
ডেভ এম

1
আমি অপারেশন এবং যুক্তি কিছু ব্যাখ্যা। ডকুমেন্টেশন অনুলিপি করার জন্য আমি কোনও মূল্য দেখিনি।
অ্যারন ম্যাকমিলিন

1

আপনি যদি আমার মতো হন এবং বিভিন্ন কারণে অনেকগুলি ডেভলপমেন্ট মেশিন (ভার্চুয়াল মেশিনস) থাকে তবে আপনি এসএসএস কী, একটি স্মার্ট ব্যাশ_প্রফাইলে এবং আপনার পছন্দের একটি আরসিএস একত্রিত করতে পারেন।

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

নিম্নলিখিতটি আমি কীভাবে এটি থেকে ইন্টারনেট থেকে অনেক ধার ধার নিয়েছিলাম।

.বাশ_ প্রোফাইলে এমন কিছু থাকতে পারে

$HOME/bin/shell_ssh_agent

আমি এটি বেশ কয়েকটি জায়গা থেকে পেয়েছি তবে এখন এটির কোনও লিঙ্ক খুঁজে পাচ্ছি না। শেল_এসএইচ_এজেন্ট ফাইল:

#!/bin/bash

SSH_ENV=$HOME/.ssh/environment

#echo "starting"

function start_agent {
    #echo "reaping agents"
    killall ssh-agent
    #echo "Initialising new SSH agent..."
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
    #echo succeeded
    chmod 600 ${SSH_ENV}
    . ${SSH_ENV}
    /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
    . ${SSH_ENV}
    #echo "sourced ssh env"
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent > /dev/null || { start_agent; }
else
    start_agent;
fi

এখন প্রথম লগইনে আপনি আপনার কীগুলি সেট আপ করুন। লগ-ইন করুন এবং এটি কেবল জীবনকে সহজ করে তুলেছে।

আপনার সমস্ত স্ক্রিপ্টগুলি একটি আরসিএসে রাখুন এটি উন্নয়নের মেশিনগুলিকে সিঙ্কে রাখা সহজ করে তোলে। আমি গিট ব্যবহার করি গিটের সাথে প্রমাণীকরণ ssh এর মাধ্যমে তাই ssh কীগুলি এখানেও সহায়তা করে। এই মুহুর্তে নোট আপনি এনএফএস এর মতো কিছু ব্যবহার করতে পারতেন। আমি নীচে উল্লেখ করেছি এমন একটি কারণে এখনও আমি আরসিএসের অনুরাগী হব।

ব্যবহারের ক্ষেত্রে

  1. প্রথমবার লগইন করুন, কী সেটআপ পান
  2. আরসিএস যদি আপনার ব্যক্তিগত স্ক্রিপ্টগুলি পরীক্ষা করে না দেখায় (এবং আপডেট করার পরে / মার্জ করার সময় মার্জ হয়, এটি আপনি চাইলে আপনার .bash_profile এর অংশও হতে পারে)
  3. ভিএমআরসি, বিশেষ স্ক্রিপ্টগুলি সম্পাদনা করুন এবং তাদের প্রতিশ্রুতিবদ্ধ
  4. অন্যান্য মেশিনগুলিতে লগ ইন করা হলে আপডেট / মার্জ / চেকআউট করে। এটি সবকিছু সিঙ্কে রাখে; অর্থাত্‍ কখনও কখনও ফাইলগুলি অনুলিপি করা হয় না যা কখনও কখনও আপনি থামিয়ে দেন এবং আপনি চান না।
  5. পার্শ্ব সুবিধার হিসাবে আপনি একটি আরসিএসের পাওয়ার পাবেন। আমি মাঝে মাঝে স্ক্রিপ্ট বা কনফিগারেশনে প্রতিকূল পরিবর্তন করে না এবং এটিকে আবার ফিরে যেতে হয়।

আমি পরবর্তী যা চেষ্টা করতে চাই তা হ'ল আমি নতুন মেশিনে অনুলিপি করেছিলাম এমন একটি মেকফিলের প্রাথমিক লগইন / সেটআপটি মোড়ানো। এর পরে মেকফাইল আপনার কীগুলি, আরসিএস ইত্যাদি স্থাপনের কাজটি করতে পারে vious স্পষ্টতই এখানে কিছু ওভারহেড রয়েছে তবে আপনি যদি প্রচুর মেশিন সেটআপ করেন তবে তা হ'ল:

  1. একটি সময় সেভার
  2. উন্নয়ন মেশিনগুলির কনফিগারেশন এবং ব্যক্তিগত স্ক্রিপ্টগুলি সিঙ্কে রাখা সহজ
  3. স্ক্রিপ্ট এবং কনফিগার পরিবর্তন পরিবর্তন।

1

আমি এমন একটি মেকফিল ব্যবহার করি যা আমি লগইন করেছি এমন সমস্ত সার্ভারের একটি তালিকা রয়েছে এবং আমি যখন আমার স্থানীয় মেশিনে পরিবর্তন করি, তখন 'মেক' মেকফিল ব্যবহার করে স্বয়ংক্রিয়ভাবে চালিত হয় যা কোনও সার্ভারকে কোনও পরিবর্তন বা কোনও প্লাগইন সহ আপডেট করে updates


স্ক্রিপ্ট করার মতো অভিনব উপায় বলে মনে হচ্ছে। অন্যের থেকে একটি ফাইল তৈরি করার সময় মেক দুর্দান্ত হয়, তবে আমি এটিকে এমন পরিস্থিতিতে ব্যবহার করতে চাই না যেখানে প্রতিটি নিয়ম একটি " .PHONY."
এন্থনি


1

আমি এর জন্য একটি সহজ সরঞ্জাম লিখেছি যা আপনাকে যখনই এসএসএইচডি অন্তর্নির্মিত কনফিগারেশন বিকল্পগুলি অ-মানক উপায়ে ব্যবহার করে আপনার .vimrc ফাইলটি স্থানীয়ভাবে পরিবহন করতে দেয় ।

কোন অতিরিক্ত svn, scp, copy/paste, ইত্যাদি প্রয়োজন।

এটি সহজ, হালকা ওজনের এবং আমি এখন পর্যন্ত পরীক্ষিত সমস্ত সার্ভার কনফিগারেশনে ডিফল্টরূপে কাজ করে।

https://github.com/gWOLF3/viSSHous


0

ভেরিয়েবল VIMINIT ব্যবহার করে:

export VIMINIT='set number'

এবং এটিকে দূরবর্তী সার্ভারে ফরোয়ার্ড করা:

ssh remoteuser@remoteserver -o SendEnv=LC_VIMINIT -t 'export VIMINIT=$LC_VIMINIT && bash'

.bash_profiles বা .bashrc ব্যবহার করা সহজ

export VIMINIT='
set number
'

export LC_VIMINIT=$VIMINIT

sshh (){
ssh -o SendEnv=LC_VIMINIT $1 -t 'export VIMINIT=$LC_VIMINIT && bash'

সংযোগের জন্য sshh ব্যবহার করে এখন দূরবর্তী সার্ভারে ভিএম চালানোর চেষ্টা করুন:

sshh remoteuser@remoteserver

আপনি যদি চান তবে আপনার প্লাগইনগুলি দূরবর্তী সার্ভারেও নিতে পারেন:

export LC_VIMINIT="
set number
set nocompatible
filetype off
set rtp+=~/.[USER]_vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'


set shell=/bin/bash
call vundle#end()
filetype plugin indent on
"

export VIMINIT=$LC_VIMINIT

sshh (){
        if [[ $1 ]]; then
                ssh-copy-id $1 &>/dev/null &&
                rsync -lzr --partial --del ~/.[USER]_vim ${1}: &&
                ssh -o SendEnv=LC_VIMINIT $1 -t 'export VIMINIT=$LC_VIMINIT && bash';
        else
                echo "Provide remote user@host";
        fi
}

0

আমার একই অবস্থা, তবে এটি কেবল " .vimrc" নয়। আমার মতো জিনিসও আছে

  • বাশ কনফিগারেশন, প্রম্পটিং এবং ফাংশন,
  • ssh কনফিগারেশন এবং অনুমোদনের ফাইলগুলি,
  • শেল স্ক্রিপ্টগুলি আমি কাজে লাগাতে চাই।
  • অবশ্যই আমার vimrc, তবে কিছু ভিআইএম ফাংশন এবং সিনট্যাক্স ফাইল হাইলাইট করে।

আমার সমাধান (30 বছর আগে মূলত "ডিস্ট" দিয়ে শুরু হয়েছিল!) আমি যে সমস্ত মেশিনে কাজ করি তার মধ্যে ন্যূনতম হোম কনফিগারেশনটি আরএসআইএনসি করার জন্য একটি নাইট ক্রোন সেট আপ করতে হবে, যাতে এটি রাতারাতি আপডেট হয়।

এইভাবে আমি অন্য সমস্ত মেশিনগুলির সাথে কাজ করি তা আপ টু ডেট থাকে! আমি কেবল 'অ্যাকাউন্টস' তালিকায় একটি নতুন মেশিন যুক্ত করতে এবং এটি শুরু করার জন্য একটি একক মেশিন বিতরণ করতে পারি।

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

দ্রষ্টব্য আমি কেবলমাত্র 'হোম' মেশিন থেকে সমস্তটিতে পাসওয়ার্ড-কম এসএসএস লগইনকে অনুমতি দিই, আর কখনও ফিরে আসি না! যে কোনও ক্রস এসশ হ'ল পাসওয়ার্ড সুরক্ষিত।


-1

আপনি একটি এক্সপ্যাক্ট স্ক্রিপ্ট বিবেচনা করতে পারেন যা আপনাকে একটি নির্দিষ্ট কীস্ট্রোক টিপানোর পরে আপনার পথ এবং পরিবেশ (যেমন এক্সআরসি ভেরিয়েবলগুলি) সেট করতে দেয়। কেউ একই স্ক্রিপ্ট পোস্ট করার আগে খুব বেশি দীর্ঘ হওয়া উচিত নয়।

যখন আপনার সার্ভারের সংখ্যা কয়েক ডজনেরও বেশি (হাজারে ভাবেন) তারপরে কোনও 'ভার্জিন' বাক্সে আপনার পরিবেশকে সহজেই সেটআপ করা একটি আসল জীবনকাল বলে মনে হয়

প্রায়শই যখন আমি কোনও বাক্সে লগইন করি, এটি প্রথমবারের জন্য আমার হোমডির তৈরি করে!


প্রত্যাশা হ'ল কিছু করার খুব ভঙ্গুর উপায়। একটি ভিন্ন ওএস, আর্কিটেকচার, এমনকি একটি আপগ্রেড এবং এটি ভেঙে যেতে পারে। ছোট কিছু জন্য ঠিক আছে, কিন্তু সময় হিসাবে প্রসারণযোগ্য নয়।
এন্থনি

-1

এটি নিম্নলিখিত ব্যাশ অনেলাইনারের সাহায্যে উপলব্ধি হয়েছিল। এটি প্রক্রিয়া সাবস্টিটিউশন দিয়ে সম্পন্ন হওয়ার কারণে অস্থায়ী ফাইল তৈরি হয় না।

ssh -t user@host '
bash --rcfile <(
    echo -e ' $(cat <(echo "function lvim() { vim -u <(echo "$(cat ~/.vimrc|base64)"|base64 -d) \$@ ; }") \
                    ~/dotfiles/{.bashrc,sh_function,sh_alias,bash_prompt} \
                    <(echo -e alias vim=lvim) | \
                    base64 
               ) ' \
    |base64 -d)'

https://gist.github.com/blacknon/a47083f3bbbd0374998bdf7e3b3396cc

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