Erwägungen:
1.
Der Beschwerdeführer stellte beim Betreibungsamt Zürich 4 ein Gesuch um Nichtbekanntgabe der Betreibung Nr. xxx. Mit Verfügung vom 11. Oktober 2021 wies das Betreibungsamt das Gesuch ab, da ein Verfahren um Beseitigung des Rechtsvorschlags eingeleitet worden sei.
Dagegen erhob der Beschwerdeführer am 13. Oktober 2021 Beschwerde beim Bezirksgericht des Kantons Zürich. Mit Zirkulationsbeschluss vom 21. Oktober 2021 wies das Bezirksgericht die Beschwerde ab, soweit es darauf eintrat.
Dagegen erhob der Beschwerdeführer am 29. Oktober 2021 (Poststempel) Beschwerde. Weitere Eingaben folgten. Mit Beschluss und Urteil vom 5. Januar 2022 wies das Obergericht des Kantons Zürich die Beschwerde ab, soweit es darauf eintrat.
Dagegen hat der Beschwerdeführer am 10. Januar 2022 (Postaufgabe) Beschwerde an das Bundesgericht erhoben. Das Bundesgericht hat die Akten beigezogen.
2.
Die Beschwerde an das Bundesgericht hat eine Begründung zu enthalten (<ref-law>), in der in gezielter Auseinandersetzung mit den für das Ergebnis des angefochtenen Entscheides massgeblichen Erwägungen aufzuzeigen ist, welche Rechte bzw. Rechtsnormen die Vorinstanz verletzt haben soll (<ref-ruling> E. 2 S. 88 f.; <ref-ruling> E. 2 S. 116).
3.
Das Obergericht hat erwogen, der Beschwerdeführer habe sich mit den bezirksgerichtlichen Erwägungen nicht auseinandergesetzt. Vielmehr behaupte er pauschal, dass ihm keine Dokumente gegen den Rechtsvorschlag zugeschickt worden seien bzw. das Gericht keine festen Beweise vorgelegt habe, weshalb er die Betreibung nicht löschen könne. Es bleibe jedoch - so das Obergericht weiter - erneut unbestritten, dass die Stadt Zürich ein Verfahren zur Beseitigung des Rechtsvorschlages eingeleitet habe. Dies genüge, um die Betreibung Dritten (wieder) zur Kenntnis zu bringen (<ref-law>). Beweise, dass eine Betreibung nicht gelöscht werden könne, oder die bereits erfolgte Beseitigung des Rechtsvorschlags seien dafür nicht erforderlich. Soweit der Beschwerdeführer Einwände gegen das Verfahren vor der Friedensrichterin vorbringe, das zu den betriebenen Verfahrenskosten geführt habe, hielt ihm das Obergericht wiederum mangelnde Auseinandersetzung mit den bezirksgerichtlichen Erwägungen entgegen. Zudem beträfen Einwände gegen das friedensrichterliche Verfahren nicht das Betreibungsverfahren, sondern den Bestand und Umfang der Betreibungsforderung. Mit diesen Einwänden könne keine Verletzung von Normen des Zwangsvollstreckungsrechts dargetan werden.
4.
Soweit die Beschwerde an das Bundesgericht überhaupt verständlich ist, wiederholt der Beschwerdeführer bloss seinen Standpunkt. Eine Auseinandersetzung mit den obergerichtlichen Erwägungen fehlt. Der Beschwerdeführer verweist auf einen Beweis, den er vorgelegt habe, legt jedoch nicht dar, um was es sich handeln soll. Soweit er schliesslich rügt, dass die unentgeltliche Rechtspflege nicht bewilligt worden sei, übergeht er, dass das Obergericht ihm keine Kosten auferlegt und in der Folge das Gesuch um unentgeltliche Rechtspflege als gegenstandslos abgeschrieben hat.
Die Beschwerde enthält damit offensichtlich keine hinreichende Begründung. Auf sie ist im vereinfachten Verfahren durch das präsidierende Mitglied der Abteilung nicht einzutreten (<ref-law>).
5.
Bei diesem Ausgang des Verfahrens trägt der Beschwerdeführer die Gerichtskosten (<ref-law>). Wie die vorstehenden Erwägungen zeigen, war die Beschwerde von vornherein aussichtslos. Das Gesuch um unentgeltliche Rechtspflege ist folglich abzuweisen (<ref-law>).

Demnach erkennt das präsidierende Mitglied:
1.
Auf die Beschwerde wird nicht eingetreten.
2.
Das Gesuch um unentgeltliche Rechtspflege wird abgewiesen.
3.
Die Gerichtskosten von Fr. 500.-- werden dem Beschwerdeführer auferlegt.
4.
Dieses Urteil wird den Verfahrensbeteiligten und dem Obergericht des Kantons Zürich, II. Zivilkammer als obere kantonale Aufsichtsbehörde über Schuldbetreibung und Konkurs, mitgeteilt.
Lausanne, 24. Januar 2022
Im Namen der II. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Das präsidierende Mitglied: Escher
Der Gerichtsschreiber: Zingg