# NEWB howto modify /etc/apt/sources.list

**URL:** <https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050>\
**Category:** Ansible Project\
**Created:** [April 22, 2015, 1:03pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050 "2015-04-22T13:03:24Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tim\_Jabaut](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@Tim\_Jabaut](https://forum.ansible.com/u/Tim_Jabaut)\
**Post date:** [April 22, 2015, 1:03pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/1 "2015-04-22T13:03:24Z")

</div>

I am new to Ansible and looking for a simple way to modify the /etc/apt/sources.list file in Debian to include the contrib repo.

I seem to find ways to pull a file down, but how does one edit an existing conf file?

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [April 22, 2015, 3:29pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/2 "2015-04-22T15:29:08Z")

</div>

I would advise using the apt\_repository module, template or even copy  
modules, but for existing files you might need to use lineinfile.

---

<div class="post-metadata">

**Author:** ![Tim\_Jabaut](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@Tim\_Jabaut](https://forum.ansible.com/u/Tim_Jabaut)\
**Post date:** [April 22, 2015, 5:03pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/3 "2015-04-22T17:03:40Z")

</div>

So Brian I am trying apt\_repositoy but getting errors.

If I am using Debian Wheezy and want to add the non-free repo, I would expect that I should use the following ad-hoc statement:

ansible test -m apt\_repository -a ‘repo=deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib state=present’

This produces an error about parameters, so I tried the following as well:

ansible test -m apt\_repository -a ‘repo=“deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib” state=present’

Also does not work… Any suggestions?

---

<div class="post-metadata">

**Author:** ![Serge\_van\_Ginderacht](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@Serge\_van\_Ginderacht](https://forum.ansible.com/u/Serge_van_Ginderacht)\
**Post date:** [April 22, 2015, 5:06pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/4 "2015-04-22T17:06:49Z")

</div>

​it might help to paste those exact errors

​

---

<div class="post-metadata">

**Author:** ![Tim\_Jabaut](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@Tim\_Jabaut](https://forum.ansible.com/u/Tim_Jabaut)\
**Post date:** [April 22, 2015, 5:42pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/5 "2015-04-22T17:42:15Z")

</div>

I would be happy too; however; I am not able to cut and paste from a Fusion window, and if I ssh into my Ansible control node the environment variable for Ansible is not persistant.

Any suggestions?

---

<div class="post-metadata">

**Author:** ![Serge\_van\_Ginderacht](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@Serge\_van\_Ginderacht](https://forum.ansible.com/u/Serge_van_Ginderacht)\
**Post date:** [April 22, 2015, 5:46pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/6 "2015-04-22T17:46:16Z")

</div>

​a link to a screen​shot?

---

<div class="post-metadata">

**Author:** ![Tim\_Jabaut](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@Tim\_Jabaut](https://forum.ansible.com/u/Tim_Jabaut)\
**Post date:** [April 22, 2015, 6:00pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/7 "2015-04-22T18:00:36Z")

</div>

1. 

root@ansibleControl:~# ansible mediaserver -m apt\_repository -a ‘repo=deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib state=present’

> ^C

1. 

root@ansibleControl:~# ansible mediaserver -m apt\_repository -a ‘repo=deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib non-free state=present’

192.168.154.243 | FAILED \>\> {  
“failed”: true,  
“msg”: “this module requires key=value arguments ([‘repo=deb’, ‘[http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/)’, ‘wheezy’, ‘main’, ‘contrib’, ‘non-free’, ‘state=present’])”  
}

---

<div class="post-metadata">

**Author:** ![Tim\_Jabaut](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@Tim\_Jabaut](https://forum.ansible.com/u/Tim_Jabaut)\
**Post date:** [April 22, 2015, 6:12pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/8 "2015-04-22T18:12:49Z")

</div>

So this works, or at least reports that it was successful:

root@ansibleControl:~# ansible mediaserver -m apt\_repository -a “repo=‘deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib non-free’ state=present”  
192.168.154.243 | success \>\> {  
“changed”: false,  
“repo”: “deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib non-free”,  
“state”: “present”  
}

However when I goto the .243 server the non-free repo is not listed.

---

<div class="post-metadata">

**Author:** ![Serge\_van\_Ginderacht](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@Serge\_van\_Ginderacht](https://forum.ansible.com/u/Serge_van_Ginderacht)\
**Post date:** [April 22, 2015, 6:15pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/9 "2015-04-22T18:15:14Z")

</div>

​your quoting is bad here

​​ansible mediaserver -m apt\_repository -a 'repo="deb  
[http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib non-free"  
state=present'

​

---

<div class="post-metadata">

**Author:** ![Tim\_Jabaut](https://avatars.discourse-cdn.com/v4/letter/t/eada6e/32.png) [@Tim\_Jabaut](https://forum.ansible.com/u/Tim_Jabaut)\
**Post date:** [April 22, 2015, 6:18pm UTC](https://forum.ansible.com/t/newb-howto-modify-etc-apt-sources-list/18050/10 "2015-04-22T18:18:28Z")

</div>

right, so the following does not throw an error:

ansible mediaserver -m apt\_repository -a “repo=‘deb [http://ftp.us.debian.org/debian/](http://ftp.us.debian.org/debian/) wheezy main contrib non-free’ state=present”

but it does not change anything either.
