Usenet Binary Postings unter Linux
March 8th, 2006Nachdem ich nun gestern einen Tag damit verbracht habe, mir ein Script zu basteln, was Binaries ordentlich im Usenetstil verpackt, will ich das hier nur mal kurz festhalten:
Generell gilt, dass eine große Binärdatei in kleinere Chunks aufgeteilt werden sollte. Es haben sich Teile zu je 15MB Größe irgendwie durchgesetzt, also mache ich das auch. Um die geposteten Dateien vor Datenverlusten zu schützen, werden Recovery-Informationen mittels par2 hinzugefügt. Das par2-Tool erlaubt die Angabe von Blockgrößen die unter Windows vom Tool QuickPar auf 384000 Bytes minimal festgelegt werden, also mache ich das unter Linux auch. Unter Debian braucht man eigentlich nur noch apt-get install par2 durchführen und man hat alle notwendigen Tools zusammen.
Als erstes werden 10% Recovery-Informationen erzeugt mit einer Blockgröße von 384000 Bytes:
par2create -s384000 -r10 BinaryTest.file
Jetzt müssen wir das ganze noch aufsplitten, allerdings in Teile die ein Vielfaches von 384000 Bytes sind, also ergibt sich da für uns 14976000 Bytes. Linux kommt mit dem netten Tool split daher und wir machen
split --suffix-length=3 --numeric-suffixes --bytes 14976000 BinaryTest.file BinaryTest.file.
um unsere Datei in Teile der Art BinaryTest.file.000, .001 usw. aufzusplitten. Damit haben wir auch ein nettes Zusatzfeature von par2 beachtet: QuickPar unter Windows kann durch ein Doppelklick auf unser BinaryTest.file.par2 auch gleich die Dateien .000, .001 usw. wieder zu einer Datei zusammenfügen.
Die gesplitteten Dateien können nun ins Usenet gepostet werden.
Hier noch mein kleines Shellscript, was eine per Parameter übergebene Datei aufbereitet und die zu postenden Dateien in den Unterordner “upload” verschiebt:
echo -n "begin par2 creation ... "
par2create -s384000 -r10 ${1}
echo "done."
echo -n "begin file split ... "
split --suffix-length=3 --numeric-suffixes --bytes 14976000 ${1} ${1}.
echo "done."
echo -n "moving files ... "
mv ${1}.* upload/
echo "done."
Links:

February 4th, 2007 at 9:34 pm
Die Frage ist nur: mit was lädst du das ganze dann von der shell aus hoch?
February 4th, 2007 at 10:42 pm
naja http://newspost.unixcab.org/ ist das einzige auf der Linux-Shell. Ich habe allerdings ganz “simpel”
Wine installiert und mit dem WinProg PowerPost hochgeladen. Das Tool ist leider das beste Prog für sowas, aber dank Wine funktionierts auch unter Linux.
February 4th, 2007 at 10:55 pm
unter http://jbinup.com/ gibts was recht vielversprechendes in multi platform (java)
anscheinend bald auch mit commandline switches
February 4th, 2007 at 10:59 pm
cool, gut zu wissen. Danke für die Info!
February 20th, 2008 at 2:22 pm
Puh, alter! Es gibt doch echt übersichtliche Clients wie Usenext für Linux…
Wieso also der ganze Aufwand?
February 20th, 2008 at 3:38 pm
Usenext funktioniert sicher nur mir dem gleichnamigen Bezahldienst. Ausserdem ging es mir darum, das quasi auf Kommandozeilenebene per Script zu lösen. Ausserdem ist das mittlerweile schon so lange her, dass es sicherlich bessere Alternativen gibt. Da habe ich aber keinen Überblick, weil keine Zeit