double negation? quite hard to read. I prefer here to split these two conditions:
```
return if !Mode.installation && Mode.update # this is exact rewrite your condition and it is quite strange for me
return if File.writable?(ZYPP_DIR)
```