@@ -140,21 +140,34 @@ func action(ctx context.Context, cmd *command.Command) error {
140140
141141 // Install required dependencies
142142 log .Infof ("Installing eatmydata to speed up package installation..." )
143- if _ , err := client .Run (ctx , `echo force-unsafe-io | sudo tee /etc/dpkg/dpkg.cfg.d/force-unsafe-io && \
144- sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y eatmydata` ); err != nil {
143+ if _ , err := client .Run (ctx , "echo force-unsafe-io | sudo tee /etc/dpkg/dpkg.cfg.d/force-unsafe-io" ); err != nil {
144+ return fmt .Errorf ("failed to install required packages: %w" , err )
145+ }
146+
147+ if _ , err := client .Run (ctx , "sudo apt-get update" ); err != nil {
148+ return fmt .Errorf ("failed to update packages: %w" , err )
149+ }
150+
151+ if _ , err := client .Run (ctx , "sudo DEBIAN_FRONTEND=noninteractive apt-get install -y eatmydata" ); err != nil {
145152 return fmt .Errorf ("failed to set up eatmydata: %w" , err )
146153 }
147154
148155 log .Infof ("Installing required packages on VM..." )
149- if _ , err := client .Run (ctx , `echo force-unsafe-io | sudo tee /etc/dpkg/dpkg.cfg.d/force-unsafe-io && \
150- sudo eatmydata apt-get update && sudo DEBIAN_FRONTEND=noninteractive eatmydata apt-get upgrade -y && \
151- sudo DEBIAN_FRONTEND=noninteractive eatmydata apt-get install -y ubuntu-desktop realmd nfs-common cifs-utils && \
152- sudo sync && \
153- sudo rm -f /etc/dpkg/dpkg.cfg.d/force-unsafe-io
154- ` ); err != nil {
156+ _ , err = client .Run (ctx , "sudo DEBIAN_FRONTEND=noninteractive eatmydata apt-get upgrade -y" )
157+ if err != nil {
158+ return fmt .Errorf ("failed to update packages: %w" , err )
159+ }
160+
161+ _ , err = client .Run (ctx , "sudo DEBIAN_FRONTEND=noninteractive eatmydata apt-get install -y ubuntu-desktop realmd nfs-common cifs-utils" )
162+ if err != nil {
155163 return fmt .Errorf ("failed to install required packages: %w" , err )
156164 }
157165
166+ _ , err = client .Run (ctx , "sudo sync && sudo rm -f /etc/dpkg/dpkg.cfg.d/force-unsafe-io" )
167+ if err != nil {
168+ return fmt .Errorf ("failed to clean up eatmydata: %w" , err )
169+ }
170+
158171 scriptsDir , err := scripts .Dir ()
159172 if err != nil {
160173 return fmt .Errorf ("failed to get scripts directory: %w" , err )
0 commit comments