1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Calling tasksel like the installer, while still getting useful output
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title">Calling tasksel like the installer, while still getting useful output
</div>
24 <div class=
"date">16th June
2010</div>
25 <div class=
"body"><p>A few times I have had the need to simulate the way tasksel
26 installs packages during the normal debian-installer run. Until now,
27 I have ended up letting tasksel do the work, with the annoying problem
28 of not getting any feedback at all when something fails (like a
29 conffile question from dpkg or a download that fails), using code like
33 export DEBIAN_FRONTEND=noninteractive
37 This would invoke tasksel, let its automatic task selection pick the
38 tasks to install, and continue to install the requested tasks without
39 any output what so ever.
41 Recently I revisited this problem while working on the automatic
42 package upgrade testing, because tasksel would some times hang without
43 any useful feedback, and I want to see what is going on when it
44 happen. Then it occured to me, I can parse the output from tasksel
45 when asked to run in test mode, and use that aptitude command line
46 printed by tasksel then to simulate the tasksel run. I ended up using
50 export DEBIAN_FRONTEND=noninteractive
51 cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
55 <p>The content of $cmd is typically something like "
<tt>aptitude -q
56 --without-recommends -o APT::Install-Recommends=no -y install
57 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
58 ~pimportant
</tt>", which will install the gnome desktop task, the
59 laptop task and all packages with priority standard , required and
60 important, just like tasksel would have done it during
63 <p>A better approach is probably to extend tasksel to be able to
64 install packages without using debconf-apt-progress, for use cases
68 <div class="tags
">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english
">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug
">nuug</a>.</div>
86 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
01/
">January (11)</a></li>
88 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
02/
">February (9)</a></li>
90 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
03/
">March (9)</a></li>
92 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
04/
">April (6)</a></li>
94 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
05/
">May (9)</a></li>
96 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
06/
">June (10)</a></li>
98 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
07/
">July (7)</a></li>
100 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
08/
">August (2)</a></li>
107 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
01/
">January (7)</a></li>
109 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
02/
">February (10)</a></li>
111 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
03/
">March (17)</a></li>
113 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
04/
">April (12)</a></li>
115 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
05/
">May (12)</a></li>
117 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
06/
">June (20)</a></li>
119 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
07/
">July (17)</a></li>
121 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
08/
">August (6)</a></li>
123 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
09/
">September (9)</a></li>
125 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
10/
">October (17)</a></li>
127 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
11/
">November (10)</a></li>
129 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
12/
">December (7)</a></li>
136 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
01/
">January (16)</a></li>
138 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
02/
">February (6)</a></li>
140 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
03/
">March (6)</a></li>
142 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
04/
">April (7)</a></li>
144 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
05/
">May (3)</a></li>
146 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
06/
">June (2)</a></li>
148 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
07/
">July (7)</a></li>
150 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
08/
">August (6)</a></li>
152 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
09/
">September (4)</a></li>
154 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
10/
">October (2)</a></li>
156 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
11/
">November (3)</a></li>
158 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
12/
">December (1)</a></li>
165 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
01/
">January (2)</a></li>
167 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
02/
">February (1)</a></li>
169 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
03/
">March (3)</a></li>
171 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
04/
">April (3)</a></li>
173 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
05/
">May (9)</a></li>
175 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
06/
">June (14)</a></li>
177 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
07/
">July (12)</a></li>
179 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
08/
">August (13)</a></li>
181 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
09/
">September (7)</a></li>
183 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
10/
">October (9)</a></li>
185 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
11/
">November (13)</a></li>
187 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
12/
">December (12)</a></li>
194 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
01/
">January (8)</a></li>
196 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
02/
">February (8)</a></li>
198 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
03/
">March (12)</a></li>
200 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
04/
">April (10)</a></li>
202 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
05/
">May (9)</a></li>
204 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
06/
">June (3)</a></li>
206 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
07/
">July (4)</a></li>
208 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
08/
">August (3)</a></li>
210 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
09/
">September (1)</a></li>
212 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
10/
">October (2)</a></li>
214 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
11/
">November (3)</a></li>
216 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
12/
">December (3)</a></li>
223 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
11/
">November (5)</a></li>
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
12/
">December (7)</a></li>
236 <li><a href="http://people.skolelinux.org/pere/blog/tags/
3d-printer
">3d-printer (13)</a></li>
238 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga
">amiga (1)</a></li>
240 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros
">aros (1)</a></li>
242 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid
">bankid (4)</a></li>
244 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin
">bitcoin (7)</a></li>
246 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem
">bootsystem (12)</a></li>
248 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa
">bsa (2)</a></li>
250 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian (84)</a></li>
252 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu
">debian edu (138)</a></li>
254 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan
">digistan (10)</a></li>
256 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook
">docbook (10)</a></li>
258 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser
">drivstoffpriser (4)</a></li>
260 <li><a href="http://people.skolelinux.org/pere/blog/tags/english
">english (212)</a></li>
262 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami
">fiksgatami (21)</a></li>
264 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling
">fildeling (12)</a></li>
266 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture
">freeculture (12)</a></li>
268 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen
">frikanalen (11)</a></li>
270 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju
">intervju (37)</a></li>
272 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram
">isenkram (7)</a></li>
274 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart
">kart (18)</a></li>
276 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap
">ldap (8)</a></li>
278 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker
">lenker (6)</a></li>
280 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp
">ltsp (1)</a></li>
282 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia (25)</a></li>
284 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk
">norsk (234)</a></li>
286 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug
">nuug (153)</a></li>
288 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn
">offentlig innsyn (8)</a></li>
290 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311
">open311 (2)</a></li>
292 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett
">opphavsrett (44)</a></li>
294 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern
">personvern (65)</a></li>
296 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid
">raid (1)</a></li>
298 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap
">reprap (11)</a></li>
300 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid
">rfid (2)</a></li>
302 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot
">robot (7)</a></li>
304 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss
">rss (1)</a></li>
306 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter
">ruter (4)</a></li>
308 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki
">scraperwiki (2)</a></li>
310 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet (29)</a></li>
312 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary
">sitesummary (4)</a></li>
314 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis
">skepsis (4)</a></li>
316 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard
">standard (43)</a></li>
318 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll
">stavekontroll (3)</a></li>
320 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget
">stortinget (7)</a></li>
322 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance (15)</a></li>
324 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin
">sysadmin (1)</a></li>
326 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg
">valg (7)</a></li>
328 <li><a href="http://people.skolelinux.org/pere/blog/tags/video
">video (38)</a></li>
330 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap
">vitenskap (4)</a></li>
332 <li><a href="http://people.skolelinux.org/pere/blog/tags/web
">web (26)</a></li>
338 <p style="text-align: right
">
339 Created by <a href="http://steve.org.uk/Software/chronicle
">Chronicle v4.6</a>