Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to know if it is possible to pipe commands together in a preseed file.

Something Like:

d-i preseed/late_command string yes N | apt-get install package -y

(I realize this is a somewhat bad example. I just wanted to know if/how it would work.)

share|improve this question

I do that at the last stage, these are some examples to give you an idea:

d-i preseed/late_command string \
cd /target/etc/apt/; \
wget; \
mv sources_new.list sources.list; \
echo 'Acquire::http::Proxy "";' >> apt.conf; \
ls . > temp; \
cat temp | grep -cq string; \
cd /; \
in-target apt-get update; \
in-target apt-get -y upgrade; \
in-target apt-get -y dist-upgrade; \
in-target tasksel install desktop; \
in-target apt-get -y install sudo \
less \
ssh \
icedove \
lynx \

So the target filesystem by default is located at /target and you can move around and copy and delete files, edit files and if you want to run a command in the target filesystem you use "in-target" before the command.

For more documentation see:

share|improve this answer
Sure, but there are no piped commands in your example. "cat file | grep "thing" > newFile" – Nick P. May 17 '12 at 19:27
See my answer for an updated example, albeit useless in this case. :-) – aseq May 17 '12 at 19:53
Just for being sure, would this also work dropping multile d-i preseed/late_command or is there a specific reason you put everything in one? – pduersteler Oct 7 '12 at 20:45
I think you can not, however since you can string commands together as I showed in my answer this shouldn't be a problem. See also… – aseq Oct 8 '12 at 20:52

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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