обновление рубина прозрачным способом - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь обновить мой ruby ​​с того, который установлен менеджером пакетов 2.5 (в настоящее время), до 2.6 с использованием snap. вот как я это делаю

sudo snap install ruby --classic

/usr/bin/ruby является символической ссылкой на стабильный ruby, установленный менеджером пакетов. удали это.

sudo rm /usr/bin/ruby

убедитесь, что переменная окружения PATH содержит /snap/bin

Теперь я собираюсь удалить ruby, установленный менеджером пакетов.

$ sudo apt remove --purge ruby
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  geoipupdate lame libadns1 libjs-jquery-easing libjs-jquery-fancybox
  libjs-jquery-mousewheel libjs-source-map libjs-uglify
  libnumber-bytes-human-perl nginx python-adns python-easygui
  python-levenshtein python-metaconfig ruby-did-you-mean ruby-minitest
  ruby-net-telnet ruby-power-assert ruby-test-unit ruby-xmlrpc ruby2.5-doc
  rubygems-integration u3-tool vim-gui-common
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  armitage* beef-xss* bundler* cewl* commix* dradis* ghost-phisher*
  gpp-decrypt* jboss-autopwn* libruby2.5* maltego-teeth* metasploit-framework*
  msfpc* pipal* rake* rsmangler* ruby* ruby-activesupport* ruby-addressable*
  ruby-ansi* ruby-atomic* ruby-buftok* ruby-bundler* ruby-celluloid*
  ruby-celluloid-io* ruby-cms-scanner* ruby-concurrent* ruby-daemons*
  ruby-dataobjects* ruby-dataobjects-mysql* ruby-dataobjects-postgres*
  ruby-dataobjects-sqlite3* ruby-dev* ruby-diff-lcs* ruby-dm-core*
  ruby-dm-do-adapter* ruby-dm-migrations* ruby-dm-sqlite-adapter* ruby-docile*
  ruby-domain-name* ruby-em-websocket* ruby-equalizer* ruby-erubis*
  ruby-espeak* ruby-ethon* ruby-eventmachine* ruby-execjs* ruby-ffi*
  ruby-hitimes* ruby-http* ruby-http-cookie* ruby-http-form-data*
  ruby-http-parser.rb* ruby-httpclient* ruby-i18n* ruby-json* ruby-librex*
  ruby-maxmind-db* ruby-memoizable* ruby-mime* ruby-mime-types*
  ruby-mime-types-data* ruby-mini-exiftool* ruby-mojo-magick* ruby-molinillo*
  ruby-msfrpc-client* ruby-msgpack* ruby-multi-json* ruby-multipart-post*
  ruby-mustermann* ruby-naught* ruby-net-http-digest-auth*
  ruby-net-http-persistent* ruby-netrc* ruby-nio4r* ruby-nokogiri* ruby-oj*
  ruby-opt-parse-validator* ruby-parseconfig* ruby-pkg-config*
  ruby-progressbar* ruby-public-suffix* ruby-qr4r* ruby-rack*
  ruby-rack-protection* ruby-rchardet* ruby-rest-client* ruby-rqrcode*
  ruby-rspec-expectations* ruby-rspec-support* ruby-rubydns* ruby-rushover*
  ruby-simple-oauth* ruby-simplecov* ruby-simplecov-html* ruby-sinatra*
  ruby-slack-notifier* ruby-snmp* ruby-spider* ruby-sqlite3*
  ruby-term-ansicolor* ruby-thor* ruby-thread-safe* ruby-tilt* ruby-timers*
  ruby-tins* ruby-twitter* ruby-typhoeus* ruby-tzinfo* ruby-uglifier*
  ruby-unf* ruby-unf-ext* ruby-yajl* ruby-zip* ruby2.5* ruby2.5-dev* set*
  snmpcheck* thin* twofi* u3-pwn* unicorn-magic* urlcrazy* vim-gtk* whatweb*
  wpscan*
0 upgraded, 0 newly installed, 126 to remove and 22 not upgraded.
After this operation, 748 MB disk space will be freed.
Do you want to continue? [Y/n]

в основном удаление ruby означает удаление всей системы. Есть ли способ заменить ruby ​​прозрачным способом, которым я не обязан удалять все эти пакеты? И если я заменю рекомендованный системный ruby ​​последним на snap, насколько будет ухудшена стабильность системы?

$ uname -r
4.19.0-kali4-amd64

1 Ответ

0 голосов
/ 04 мая 2019

Вы пробовали опцию канала?

В новостях Ruby на ruby-lang.org упоминается следующее:

В нашей привязке используется «канал»Возможность одновременного выпуска нескольких серий Ruby.Например, без указания канала, в настоящее время будет установлен Ruby 2.5.3.Но если вы хотите использовать Ruby 2.4, укажите канал 2.4 следующим образом: sudo snap install ruby --classic --channel=2.4/stable

Возможно, есть дополнительная информация о Github .

Конечно,rbenv и rvm , как упоминалось Iceman, также являются опцией.

...