Soweit sieht das log eigentlich gut aus. Ich denke der avrdude wird von deinem Build-Plugin im interactive-mode benutzt oder aber das -v (verbose), daher die andere Ausgabe.
Schau dir eventuell mal /opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf an, aber ich denke nicht, dass dort was im Argen liegt.

Benutzt du den avrdude aus einer IDE oder den deiner Distribution? Bei mir (Debian) funktioniert der aus den debian-repos problemlos mit wiring und m2560.

avrdude -c wiring -P /dev/ttyACM0 -v -b 115200 -p m2560 -C/opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf -Uflash:w:bin/Release/linien_folger_2_1.hex

Liest du den Chip nach dem schreiben aus oder woher weisst du, dass nicht geschrieben wurde? Lösche den Chip einmal, lies ihn aus. Beschreib ihn und lies ihn aus, dann Vergleiche.

avrdude -c wiring -P /dev/ttyACM0 -b 115200 -p m2560 -Uflash:r:readout.hex ---> eventuell -v anhängen und auf Ausgabe achten.

ein kleiner hexeditor (z.B. hexedit) zeigt die Dateien dann ordentlich an.