When installing software in debian systems we can put something like this:

sudo apt-get install -y chromium-browser

that way the installation occurs automatically, whitout asking to confirm installation [Y/n]. Can i do the same with pacman?


From man pacman:

Bypass any and all “Are you sure?” messages. It’s not a good idea to do this unless you want to run pacman from a script.

Note the qualification about using this with care...

Arch is a rolling release, which means pacman has to, from time to time, manage some quite complex upgrades. At these times pacman will prompt you to confirm your choices—disregarding these prompts will generally not be a significant issue, but in some cases, as with the recent move from /lib to /usr/lib , a lack of attention will cause major breakage. This is a not a habit you want to cultivate.

  • I've never run pacman with the "--noconfirm" in about 3 years of using Arch, because of that warning. How many people run pacman from a script? What are the big risks? I have had to intervene 3 or 4 times to fix things that pacman has refused to upgrade. – Bruce Ediger Oct 19 '12 at 3:18
  • 5
    I assume, given Arch's culture, that the warning is there to discourage complacency and the misguided notion that automating pacman updates is a good idea. A lot of breakage can be put down to people not reading pacman's output; --noconfirm would exacerbate that... – jasonwryan Oct 19 '12 at 3:31
  • 2
    I have an "install" script that uses --noconfirm. The idea is to be able to take a system with a recently updated clean install and make it "usable" without any user interaction. – StrongBad Oct 19 '12 at 9:42
  • 11
    Actually, --noconfirm doesn't assume yes, instead it assumes the default answer, which is quite often no. Example: # pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N] For the case above, yes|pacman -Scc assumes yes – Utgarda Sep 26 '17 at 10:30
  • 8
    Actually, pacman --noconfirm is required if you are using a Docker container, otherwise, it will just wait for an input, and thus shutting down the container with an error. – Amin NAIRI Mar 31 '19 at 19:12

While the manpage on the matter is not very clear, the --noconfirm flag will not assume "yes" on every answer. It assumes the default answer which can be "no" sometimes.

      Bypass any and all “Are you sure?” messages. It’s not a good idea
      to do this unless you want to run pacman from a script

To assume "yes", you could pipe the output of the yes command to pacman.

yes | sudo pacman -S firefox
  • 4
    Use yes | LC_ALL=en_US.UTF-8 pacman [...] for compatibility with systems whose language is not set to English. Otherwise the [Y/n] questions become [J/n], for example. – ComFreek Jul 20 '18 at 6:48
  • 7
    Also beware this answer fails if Pacman ever asks a question without a y answer, e.g. Enter a selection (default=all). – ComFreek Jul 20 '18 at 6:58
  • @ComFreek, rather than altering the environment variables passed to pacman, it would be easier, and probably safer to just to do yes J | sudo pacman -S firefox in that case. yes J will cause yes to repeatidly output a J instead of a y. – Drew Chapin Jan 12 '19 at 16:20
  • 2
    "and probably safer" How so? The override above only affects the environment of the process (tree) spawned and ends with it. Furthermore, the invocation above is exactly the same for all locales. – kelvin Sep 16 '19 at 17:03
  • Also, what if someone copy/pastes one such command line but has a locale in which one of the options has the opposite or a completely different meaning? Example: J (or Y) meaning "no" or "all". – kelvin Sep 16 '19 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.