2013-05-04 11 views
5

के बिना वग्रेंट का उपयोग कर सॉफ़्टवेयर का प्रावधान कैसे करें I Seven Databases in Seven Weeks के माध्यम से मेरी शिक्षा का समर्थन करने के लिए वग्रेंट आभासी मशीनों को सेट करने का प्रयास कर रहा हूं। मैं बुनियादी शैल स्क्रिप्ट का उपयोग कर सॉफ़्टवेयर प्रावधान कर रहा हूं जो सूडो पर्यावरण के भीतर उचित क्रियाएं करता है। हालांकि, मैं ट्यूटोरियल चलाने के लिए योनि उपयोगकर्ता का उपयोग कर रहा हूं, और सूडो के बजाए उचित नोड/एनपीएम मॉड्यूल को वग्रेंट के रूप में स्थापित करने के प्रावधान करना चाहता हूं।बिना किसी सूडो

मेरा वर्तमान एनपीएम कमांड इस प्रावधान स्क्रिप्ट में आखिरी पंक्ति है, लेकिन मॉड्यूल अनुपलब्ध है जब योनि ने नोड स्क्रिप्ट को निष्पादित करने का प्रयास किया था।

apt-get update 
apt-get -y install build-essential 
apt-get -y install tcl8.5 
wget http://redis.googlecode.com/files/redis-2.6.0-rc3.tar.gz 
tar xzf redis-2.6.0-rc3.tar.gz 
cd redis-2.6.0-rc3 
make 
make install 
make test 
mkdir /etc/redis 
mv redis.conf /etc/redis/redis.conf 
sed -i.bak 's/127.0.0.1/0.0.0.0/g' /etc/redis/redis.conf 
sed -i.bak 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf 
sed -i.bak 's/dir .\//dir \/var\/lib\/redis/g' /etc/redis/redis.conf 

cd src/ 
wget https://raw.github.com/gist/1053791/880a4a046e06028e160055406d02bdc7c57f3615/redis-server 
mv redis-server.1 /etc/init.d/redis-server 
mv redis-cli /etc/init.d/redis-cli 
chmod +x /etc/init.d/redis-server 
sed -i.bak 's/DAEMON=\/usr\/bin\/redis-server/DAEMON=\/usr\/local\/bin\/redis-server/g'  /etc/init.d/redis-server 
useradd redis 
mkdir -p /var/lib/redis 
mkdir -p /var/log/redis 
chown redis.redis /var/lib/redis 
chown redis.redis /var/log/redis 
update-rc.d redis-server defaults 
/etc/init.d/redis-server start 
cd /etc/init.d/ 
echo ./redis-cli 
echo http://blog.hemantthorat.com/install-redis-2-6-on-ubuntu/ 

apt-get -y install python-software-properties python g++ make 
add-apt-repository -y ppa:chris-lea/node.js 
apt-get update 
apt-get -y install nodejs 

npm install hiredis redis csv 

उत्तर

9

बस इस तरह अपने VagrantFile में false को privileged सेट: आप के साथ vagrant उपयोगकर्ता के रूप में चलाने के लिए हैं, तो आप कुछ इस तरह कर सकते हैं

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    ... 
    config.vm.provision :shell, privileged: false, path: "script.sh" 
    ... 
end 
1

शायद एनएमपी इंस्टॉल-जी का उपयोग विश्व स्तर पर vm में स्थापित करने के लिए करें?

4

खोल प्रावधान root उपयोगकर्ता के रूप में चलता है। एकाधिक पंक्तियों के लिए

sudo -u vagrant npm install hiredis redis 

..or:

sudo -u vagrant << EOF 
[...] 
npm install hiredis 
npm install redis 
EOF 
-1

एसईडी मैं के /.* requiretty $/चूक! requiretty/'/ etc/sudoers

संबंधित मुद्दे