pachadotdev / analogsea

Digital Ocean R client
https://pacha.dev/analogsea/
Apache License 2.0
154 stars 24 forks source link

Ubuntu 16.04.3 Update Hangs on GRUB issue #139

Closed trestletech closed 6 years ago

trestletech commented 6 years ago
Session Info ```r > devtools::session_info() Session info -------------------------------------------------------------------------------------- setting value version R version 3.4.1 (2017-06-30) system x86_64, darwin15.6.0 ui RStudio (1.1.352) language (EN) collate en_US.UTF-8 tz America/Chicago date 2017-10-16 Packages ------------------------------------------------------------------------------------------ package * version date source analogsea 0.5.1.9217 2017-08-22 Github (sckott/analogsea@7e3db0e) base * 3.4.1 2017-07-07 local compiler 3.4.1 2017-07-07 local crayon 1.3.4 2017-09-16 cran (@1.3.4) datasets * 3.4.1 2017-07-07 local devtools 1.13.2 2017-06-02 CRAN (R 3.4.0) digest 0.6.12 2017-01-27 CRAN (R 3.4.0) graphics * 3.4.1 2017-07-07 local grDevices * 3.4.1 2017-07-07 local httpuv 1.3.5 2017-07-04 CRAN (R 3.4.1) httr 1.3.1 2017-08-20 cran (@1.3.1) jsonlite 1.5 2017-06-01 CRAN (R 3.4.0) magrittr 1.5 2014-11-22 cran (@1.5) memoise 1.1.0 2017-04-21 CRAN (R 3.4.0) methods * 3.4.1 2017-07-07 local plumber 0.4.3 2017-10-16 Github (trestletech/plumber@8c09018) R6 2.2.2 2017-06-17 CRAN (R 3.4.0) Rcpp 0.12.11 2017-05-22 cran (@0.12.11) rstudioapi 0.7 2017-09-07 cran (@0.7) stats * 3.4.1 2017-07-07 local stringi 1.1.5 2017-04-07 cran (@1.1.5) tools 3.4.1 2017-07-07 local utils * 3.4.1 2017-07-07 local withr 1.0.2 2016-06-20 CRAN (R 3.4.0) yaml 2.1.14 2016-11-12 cran (@2.1.14) > ```

Currently debian_apt_get_update gets stuck on an interactive prompt over a GRUB configuration file. (Originally reported: https://github.com/trestletech/plumber/issues/175)

You can reproduce by spinning up a Ubuntu 16.04 instance which, at the time of writing, defaults to 16.04.3. If you then call debian_apt_get_update() (or just login an interactively run apt-get update -qq, then apt-get upgrade -y you'll get an interactive prompt asking you what you want to do about a GRUB conflict.

A new version of /boot/grub/menu.lst is available, but the version installed 
currently has been locally modified.

  1. install the package maintainer's version
  2. keep the local version currently installed
  3. show the differences between the versions
  4. show a side-by-side difference between the versions
  5. show a 3-way difference between available versions
  6. do a 3-way merge between available versions (experimental)
  7. start a new shell to examine the situation

What would you like to do about menu.lst? 

The function hangs eternally on this step.

I found an incantation that resolves it here:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

I'm not sure which of these options are imperative, but can confirm that when you replace the current upgrade call with this command, you no longer get the interactive prompts and you're able to get through the call.

sckott commented 6 years ago

thanks @trestletech for this.

Do you envision adding that incantation as a optional thing to the function?

trestletech commented 6 years ago

I think you’d actually be safe to replace the current upgrade call with that one.

I’ll confess that I have to look that magic up every time, but we use something similar internally to say “I don’t care what you blow away, just do the install/upgrade.”

I think they’re just different ways of telling the machine that you really don’t want an interactive prompt, which seems like that is always the right positioning for analogsea.

But take that with a grain of salt; I’m not an expert on Debian package management.

On Oct 17, 2017, at 12:08 AM, Scott Chamberlain notifications@github.com wrote:

thanks @trestletech for this.

Do you envision adding that incantation as a optional thing to the function?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

sckott commented 6 years ago

Right, we never want an interactive prompt.

Okay, will work on

sckott commented 6 years ago

@trestletech sorry for the delay on this!

I can't seem to replicate this now. trying

ee <- droplet_create(image = "ubuntu-16-04-x64")
ee %>% debian_apt_get_update()

it doesn't hang

can you still replicate this problem?

sckott commented 6 years ago

@trestletech can you still replicate this problem?

trestletech commented 6 years ago

Sorry, I haven't tried recently and my DigitalOcean configuration on this machine isn't setup properly, so I'm not able to test it at the moment. If nobody else has hit this I bet you're safe to ignore.

sckott commented 6 years ago

Okay, thanks