Setting up VCAP (cloudfoundry) without a script - linux

I would like to setup VCAP without a script on my linux box (mostly for learning, but also for controlling which packages get installed). I want to do it for a production like system (so it's not my own linux box, but a server that I use for demo purposes)
I am using Ubuntu 10.04 and I have rvm 1.10 installed). I already asked this question on cloudfoundry support (http://support.cloudfoundry.com/entries/21004021-single-node-vcap-setup-without-a-script-chef-etc)
Really apprecaite your input

Looks like your post on the CF forums was updated. As mentioned there, documentation for self-install doesn't exist. Your best bet is to use the existing install scripts, read through what they're doing, and perform the process manually.
The original install script: https://raw.github.com/cloudfoundry/vcap/master/setup/install
The new Chef-based install script, which will replace the original script: https://github.com/cloudfoundry/vcap/blob/master/dev_setup/bin/vcap_dev_setup

Related

How do you properly create a pythonpath for a mavlink environment?

For a project I am currently trying to install Mavlink onto a Linux Ubuntu (v20.04.4) using Oracle Virtualbox (v6.1) using python (v3.8) on a machine named test with the user named test. Using the given instructions provided by Install Mavlink, it states to set pythonpath as PYTHONPATH=path_to_root_of_cloned_mavlink_repository. But no matter what I try ranging from ='/home/test/mavlink/pymavlink' to =home/test/mavlink, there has been no indication that it is properly working as no feedback is given after the command and modules are still not being found by the terminal. So my question is if I am using the right command for my versions of programs or if I am even doing the file path right by linux standards. The file path given after downloading the github mavlink repository is "Cloning into '/home/test/mavlink/pymavlink'..."

Can't run NodeSchool workshops in Git Bash. "TypeError: process.stdin.setRawMode is not a function"

From the research I did for the topic, I saw some recommendations to install tty.js with npm, but it wouldn't install as well - some sort of python exe missing from the system error.
I am able to run the program from Git CMD but it is all confusing for me because I am familiar with unix based consoles :(
The way I installed node.js and npm : All was doen with the installer provided by node.js.
Any insights? Thank you in advance!
I have installed tty.js in a linux enviroment and it works great, you should some building essentials installed, such as:
gcc
g++
make
As well as Python 2.7. When installing using npm, it will look for all the dependencies and as I understand it will compile some C code that does the magic behind the scenes. I haven't tried it on Windows, but what I have seen there is the C code designed for windows, so it probably will run.
Maybe I will be of more help if you copy what you get on the npm installation.
have you tried using Git Bash? That is what I used for the most part as well and acts more unix like. If you're on a PC, an alternative is using ConEMU as they give you a shell that is unix like. Just wanted to give you some options if you're still running into trouble, I know this is super late :)

Installing Python2.7 on a linux server without root privileges

I am trying to install python2.7 over given python2.6 on a web server. I am stuck at the last step trying to link new python install over the old one.
The steps I have done:
Downloaded and extracted Python 2.7
configured with --prefix=$HOME/.local
make install
What I don't get is how to link by making changes in .bashrc (and what changes to make). I looked over all the places but most the answers are not generic.
Also, I have to install couple of other lovely python stuff, like pip virtualenv, django, nltk over this. A little help on that would be too great.
Ok, without root privileges you will have to have all the python stuff and your code in your home folder. And also you won't be able to configure your nginx/apache/whatever http server you use. Does not seem like a good idea for production, but for development - sure, why not.
This means you will need to install python in your home folder. You can download and compile, but probably the simplest way to do so is pyenv - https://github.com/yyuu/pyenv. Some reading is required to understand its concepts, but it is much simpler than fiddling with manual compiling if you are not sure what you're doing.
Also it kinda replaces virtualenv, but you can still have it if you want. And of course, it all works with your non-root user. There is an installer that doesn't require root either.

How to install Node.js only if needed (not already installed) on a vagrant shell?

I'm using vagrant shell provisioning here.
I've installed on my vm Node.js along with many other packages.
I want to avoid running parts in my provisioning script when I don't need them.
For example - I already successfully installed via my script Node.js & nginx, so when I want to add additional packages like mysql or redis, I want to add it to the script, I want to run the script to test that it runs properly, but I DO NOT want to re-install Node.js or nginx again...
I need a simple conditional statement that would detect if a package is already installed, and install it only if it is not already installed.
Is there a generic check or will it be different from package to package?
Thanks
Ajar
dpkg -s <pkg-name> 2>/dev/null >/dev/null || sudo apt-get -y install <pkg-name>
This should be what you're looking for.
What's going on here:
This is a conditional assignment of the form <condition> && <value if true> || <value if false>
The first part of the expression uses dpkg to check to if the package is installed, suppressing the output. The second part is evaluated if the condition returns false. The "true" case is omitted.
This dependes on the Linux distribution you are using. Usually, a package manager comes with some kind of mechanism to skipp already installed packages.
For Ubuntu, this is built in - running apt-get install nodejs with Node.js already installed will not reinstall it; it will skip the target (unless there is new version available)
For ArchLinux, you can add run pacman -Sy node --needed to skip already installed packages.
A platform-independent mechanism would be to check if the executable (or any other known file for that package) exists. In Bash, you can do:
which node > /dev/null && echo "Yup, this is installed"
(the > /dev/null part supresses which's output - it prints the path where the found executable resides; we do not care about that, we only want to know if it is installed)
If you want to avoid writing custom Bash scripts for such basic checks I can recommend that you configure your boxes with tools dedicated for exactly what you are trying to achieve. The usual suspects here are:
Ansible
Puppet
Chef
CFEngine
All of these are supported by Vagrant so integrating them should not be a problem. You can find detailed guides on integrating these into your existing Vagrant recipe here.
PS. For a simple exapmle you can check out my Ansible provisioning recipe for Banana Pi machine running ArchLinux (note: it does not really follow best practices, but it might be a good starting point). There are many examples available online, check them out, too.

How to install something on Linux without Makefile (lessc in this case)

I am relatively new to the Linux world so forgive this question if it is simple. I have cloned the lessc repo from this url: https://github.com/cloudhead/less.js
However I cannot find a way of installing it. Am I missing something or is there a manual way to install things setup like this. I have encountered this problem several times and would appreciate any input you could offer. Thanks!
You don't have to install lessc with make install.
It is not a binary program, it's a javascript, so you jut have to copy in the correct position of your website.
Unlike programs, which have a specified position where they have to be installed, files that have to be served by webserver do not have an install script, because there's not fixed position in the filesystem where a website is stored.

Resources