Categories: None [Edit]
runshare
# ruby unshare (runshare)
This tool allows to unshare Linux namespaces.
The implementation is similar to the unshare(1) tool.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'runshare'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install runshare
## Usage
> require "runshare"
> RUnshare::unshare
For example:
cat > test.rb
require "runshare"
pid = RUnshare::unshare(
:clone_newpid => true,
:clone_newns => true,
:clone_newcgroup => true,
:clone_newipc => true,
:clone_newuts => true,
:clone_newnet => true,
:clone_newtime => true,
:fork => true,
:mount_proc => "/proc",
# docker export $(docker create hello-world) | tar -xf - -C rootfs
:root => "/tmp/rootfs"
)
if pid == 0
# child
puts "--- #{Process.pid}"
if system("/hello") != true
raise "bad"
end
puts "--- done"
else
# parent
puts "-- unshare=#{pid}, pid=#{Process.pid}"
puts "-- exit=#{Process.waitpid(pid)}"
end
^D
sudo ruby -I ./lib ./test.rb
## Quick start
$ rake compile && echo 'require "runshare"; RUnshare::unshare(:clone_newuts => true)' | irb
install -c tmp/x86_64-linux/runshare/2.4.10/runshare.so lib/runshare/runshare.so
cp tmp/x86_64-linux/runshare/2.4.10/runshare.so tmp/x86_64-linux/stage/lib/runshare/runshare.so
Switch to inspect mode.
require "runshare"; RUnshare::unshare
## Ruby <2.5
If your app is single threaded and you are observing:
eval:1: warning: pthread_create failed for timer: Invalid argument, scheduling broken
Just ignore it with some degree of bravity. You also
can silence it by setting:
$VERBOSE = nil
## Development
After checking out the repo, run `bin/setup` to install dependencies.
Then, run `rake spec` to run the tests.
You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install t...
Total
Ranking: 177,050 of 188,645
Downloads: 1,982
Daily
Ranking: 146,171 of 188,635
Downloads: 0
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
| Rank | Downloads | Name |
|---|
Depends on
| Rank | Downloads | Name |
|---|---|---|
| 1 | 3,096,027,797 | bundler |
| 10 | 1,194,085,295 | rake |
| 29 | 937,687,145 | rspec |
| 1,544 | 23,680,666 | rake-compiler |
Owners
| # | Gravatar | Handle |
|---|---|---|
| 1 | sitano |