DebianGNU/Linux formatiert Text files anders als Windows.

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
ccc
Beiträge: 1185
Registriert: 16.01.2005 01:08:53

DebianGNU/Linux formatiert Text files anders als Windows.

Beitrag von ccc » 06.09.2006 23:07:30

hallo

follgendes problem:
benutze Secure Shell Client von:

http://www.ssh.com

installiert auf einer windows maschine, um die config files von einem entfernten debian server direkt zu editieren.

das ist ziemlich praktisch und sehr bequem, als z.B mit dem alten guten und bewährten putty.

leider kommt ab und zu vor, dass die files die ich mit dem notepad abgespeichert habe, anders formatiert werden.
die zeilen werden so durcheinander vermischt, dass ich sie wieder nicht mehr zuordnen kann.

soll ich vielleicht mein debien server auf UTF-8 umstellen ?

wie kann ich herausfinden, welche codierung bei meinem sarge stable momentan eingestellt ist ?
Zuletzt geändert von ccc am 06.09.2006 23:12:18, insgesamt 2-mal geändert.

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: debian formatiert text files anders als windows

Beitrag von GoKi » 06.09.2006 23:11:23

ccc hat geschrieben:leider kommt ab und zu vor, dass die files die ich mit dem notepad abgespeichert habe, anders formatiert werden.
die zeilen werden so durcheinander vermischt, dass ich sie wieder nicht mehr zuordnen kann.
Unterschiedliche Markierung für das Zeilenende könnte da wohl eher der Grund sein.
siehe auch http://de.wikipedia.org/wiki/Linefeed
Dafür gibt es Tools wie unix2dos bzw. dos2unix. Oder gleich einen Editor unter Windows benutzen, der im Unix-Format abspeichert.
MfG GoKi
:wq

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: debian formatiert text files anders als windows

Beitrag von cosmac » 06.09.2006 23:34:37

ccc hat geschrieben:soll ich vielleicht mein debien server auf UTF-8 umstellen ?
Bloss nicht :!: Das würde ich nicht mal mit Etch auf einem Server machen.

Die gemeinsame Basis ist ISO-8859-1, vielleicht noch -15, alles andere macht
nur noch mehr Probleme. Wenn wirklich Zeilen durcheinanderkommen,
hat das kaum was mit dem Zeichensatz zu tun, eher mit Magie...

Was wirklich in den Dateien steht, kriegt man eigentlich nur mit hexdump raus,
selbst vim lässt sich inzwischen nur noch mir Mühe überreden, die Wahrheit
anzuzeigen (was Zeilenenden angeht).

Vielleicht schauen wir uns mal ein konkretes Beispiel an?

Auf einem Sarge-Server sollte der Befehl locale "POSIX" "POSIX" "POSIX" ...
(entspricht weitgehend ISO-8859-1) anzeigen.
Beware of programmers who carry screwdrivers.

ccc
Beiträge: 1185
Registriert: 16.01.2005 01:08:53

Re: debian formatiert text files anders als windows

Beitrag von ccc » 06.09.2006 23:50:04

cosmac hat geschrieben: Auf einem Sarge-Server sollte der Befehl locale "POSIX" "POSIX" "POSIX" ...
(entspricht weitgehend ISO-8859-1) anzeigen.

Code: Alles auswählen

debian:~# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
debian:~#

ccc
Beiträge: 1185
Registriert: 16.01.2005 01:08:53

Beitrag von ccc » 06.09.2006 23:55:15

konkretes beispiel ist wie ein schweizer bircher müesli:

Code: Alles auswählen

find / -type f -name "java"rpm -q kernel-default kernel-source # check kernel and source compatibilityHW info# lshw# cd /proc# cat cpuinfo ########################################################apt-get update apt-get dist-upgradehttp://www.debian.org/distrib/packages#search_packages########################################################aptitude purge nettalk                  # REMOVE PACKET    scp -r -p /etc/* root@192.168.1.2:/home/ns1/etc-backup  # file transfer via ssh local-remotescp -r -p root@192.168.1.1:/pfad/zur/quelle /ziel/pfad  # file transfer via ssh remote-localsnmpwalk -sO -c public -v 1 server    # snmpwalk    tar xvfzapt-cache search squidaptitude search vpnc dpkg -l | grep perlfind /lib/modules | grep pciehp echo "Message" | mailx -s "important mail ns1" test@domain.netSPEED TEST: hdparm -t /dev/hdacp -a /etc/* /var/save/etc-backup                   # BACKUP tail -f /var/log/messages tail -f /var/log/syslog tail -f /var/log/mail.log rpm -Uvh mozilla... hwclock -r;date rcxntpd restart hwclock -r;date ksnapshot/etc/init.d/vpnclient_init restartrpm -qa | grep mozillachattr +i /etc/resolv.conf                            # blockierenlsattr /etc/resolv.conf                               # blockierenrm -f /etc/resolv.conf                                # testendmesg less                                            # sysem meldungen w�rend startuppidof vpnclient                                       # berprfen,ob proces noch lebtrcxinetd restart/etc/init.d/xinetd reload0 1 * * *   /usr/sbin/ntpdate -v time.fu-berlin.de ntps1-0.uni-erlangen.de ntp0.nl.net ; /sbin/hwclock --systohc >/dev/null 2>&1vimtutor                                              # VIM TUTORIAL update-rc.d -f portmap remove                         # remove portmap cp -a /etc/* /var/save/etc-backup tail -f /var/log/messages rpm -Uvh mozilla... hwclock -r;date rcxntpd restart  hwclock -r;date ksnapshot/etc/init.d/vpnclient_init restarttar xvfzrpm -qa | grep mozillachattr +i /etc/resolv.conf      # blockierendmesg less                      # sysem meldungen w�rend startuppidof vpnclient                 # berprfen,ob proces noch lebtrcSuSEfirewall2 restart/etc/init.d/ipsec restartping -I Locale_IP Remote_IP ping -I 192.168.115.1 192.168.0.10tcpdump -i ipsec0 -xipsec verifyipsec whack --statusrcxinetd restart/etc/init.d/xinetd reload/etc/init.d/dhcpd restart 

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 07.09.2006 00:41:18

na gut, "C" statt "POSIX" ist auch nicht schlecht!
ccc hat geschrieben:konkretes beispiel ist wie ein schweizer bircher müesli:
schweizer :?:
bircher :?:
müsli :?: ist das sowas wie Schweinebraten? :)

Code: Alles auswählen

find / -type f -name "java"rpm -q kernel-default kernel-source
# check kernel and source compatibilityHW info
# lshw
# cd /proc
# cat cpuinfo
######################################################
#apt-get update
apt-get dist-upgrade http://www.debian.org/distrib/packages   #search_packages
#######################################################
#aptitude purge nettalk                  # REMOVE PACKET    
scp -r -p /etc/* root@192.168.1.2:/home/ns1/etc-backup   # file transfer via ssh local-remote
scp -r -p root@192.168.1.1:/pfad/zur/quelle /ziel/pfad     # file transfer via ssh remote-local
snmpwalk -sO -c public -v 1 server    # snmpwalk
tar xvfz apt-cache
search squid
aptitude search vpnc
dpkg -l | grep perlfind /lib/modules | grep pciehp
echo "Message" | mailx -s "important mail ns1"test@domain.net
SPEED TEST: hdparm -t /dev/hdacp -a /etc/* /var/save/etc-backup
# BACKUP
tail -f /var/log/messages
tail -f /var/log/syslog
tail -f /var/log/mail.log
rpm -Uvh mozilla...
hwclock -r;date
rcxntpd restart
hwclock -r;date
ksnapshot/etc/init.d/vpnclient_init restart
rpm -qa | grep mozilla
chattr +i /etc/resolv.conf
# blockierenlsattr /etc/resolv.conf                               
# blockieren
rm -f /etc/resolv.conf
# testen
dmesg | less            # sysem meldungen w�rend startup
pidof vpnclient           # berprfen,ob proces noch lebt
rcxinetd restart
/etc/init.d/xinetd reload
0 1 * * *
/usr/sbin/ntpdate -v time.fu-berlin.de
ntps1-0.uni-erlangen.de
ntp0.nl.net ; /sbin/hwclock --systohc >/dev/null 2>&1
vimtutor                                    # VIM TUTORIAL
update-rc.d -f portmap remove                         # remove portmap
cp -a /etc/* /var/save/etc-backup
tail -f /var/log/messages
rpm -Uvh mozilla...
hwclock -r;date
rcxntpd restart
hwclock -r;date
ksnapshot/etc/init.d/vpnclient_init restart
tar xvfzrpm -qa | grep mozilla
chattr +i /etc/resolv.conf      # blockieren
dmesg less                      # sysem meldungen w�rend startup
pidof vpnclient                 # berprfen,ob proces noch lebt
rcSuSEfirewall2 restart
/etc/init.d/ipsec restart
ping -I Locale_IP Remote_IP
ping -I 192.168.115.1 192.168.0.10
tcpdump -i ipsec0 -x
ipsec verify
ipsec whack --status
rcxinetd restart
/etc/init.d/xinetd reload
/etc/init.d/dhcpd restart 
na gut, etwas unübersichtlich, aber zu 99% ein Zeilenende-Problem,
also reparierbar (mit etwas Geduld, s.o.)!

Und in einem Script haben nur ASCII-Zeichen was zu suchen :)
Oder was ist das überhaupt? Warum muss man eine Konsolen-Mitschrift
unter Windows bearbeiten?

Und dann: was bedeutet "rcSuSE" im DebianForum 8O

Aber, wie gesagt, man arbeitet auf dem System, um das es eigentlich
geht und kopiert tgz-Dateien irgendwohin.
Beware of programmers who carry screwdrivers.

ccc
Beiträge: 1185
Registriert: 16.01.2005 01:08:53

Beitrag von ccc » 07.09.2006 02:00:39

cosmac hat geschrieben:na gut, "C" statt "POSIX" ist auch nicht schlecht!
ccc hat geschrieben:konkretes beispiel ist wie ein schweizer bircher müesli:
schweizer :?:
bircher :?:
müsli :?: ist das sowas wie Schweinebraten? :)

na gut, etwas unübersichtlich, aber zu 99% ein Zeilenende-Problem,
also reparierbar (mit etwas Geduld, s.o.)!

Und in einem Script haben nur ASCII-Zeichen was zu suchen :)
Oder was ist das überhaupt? Warum muss man eine Konsolen-Mitschrift
unter Windows bearbeiten?

Und dann: was bedeutet "rcSuSE" im DebianForum 8O

Aber, wie gesagt, man arbeitet auf dem System, um das es eigentlich
geht und kopiert tgz-Dateien irgendwohin.
sorry und trotzdem danke für deine mühe, aber dieses file war überhaupt nicht wichtig.
habe extra irgendwas genommen und kaputt gemacht, um ein konkretes beispiel zu produzieren.
zum glück mache immer wieder backups und die durcheinander gebrachte config files
konnte vom backup holen.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: debian formatiert text files anders als windows

Beitrag von meandtheshell » 07.09.2006 08:32:38

cosmac hat geschrieben: Was wirklich in den Dateien steht, kriegt man eigentlich nur mit hexdump raus,
selbst vim lässt sich inzwischen nur noch mir Mühe überreden, die Wahrheit
anzuzeigen (was Zeilenenden angeht).
Oder mit "od" oder emacs und ascii mode "M-x ascii-on".

Eine Zeile unter Windows wird mit einem Carriage Return und einem Linfeed abgeschlossen. Unter DebianGNU/* wird eine Zeile mit einem new line abgeschlossen. Um darauf zu reagieren kann man sich seine eigene readLine Funktion schreiben.

Code: Alles auswählen

#define DOS_CRLF

//------------------------------------------------------------
int readLine(char *str,unsigned max_strlen)
{
  char character_read = '\0';
  unsigned num_chars = 0;

#ifdef DOS_CRLF
  short read_lf = 1;
#endif

  if ((max_strlen <= 1) || (str == NULL))
    return(ILLEGAL_ARGUMENTS);

#ifdef DOS_CRLF
  while((character_read = getchar()) != 0x0d)
#else
  while((character_read = getchar()) != '\n')
#endif
  {
    *str++ = character_read;
    if (++num_chars >= max_strlen)
    {
#ifdef DOS_CRLF
      read_lf = 0;
#endif
      break;
    }
  }
#ifdef DOS_CRLF
  if (read_lf)
    getchar();
#endif
  *str = '\0';
  return(num_chars);
}
markus

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.09.2006 11:39:18

Installier dir doch unter Windows nen Editor, der mit Unix-Zeilenumbruechen umgehen kann, dann sollte das Problem auch gegessen sein. Notepad is kein Editor ;)

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 07.09.2006 13:52:04

wordpad kann das übrigens

Maj0r
Beiträge: 476
Registriert: 08.12.2003 14:52:39
Wohnort: Jüchen, Ne
Kontaktdaten:

Beitrag von Maj0r » 07.09.2006 16:59:32

nepos hat geschrieben:Installier dir doch unter Windows nen Editor, der mit Unix-Zeilenumbruechen umgehen kann, dann sollte das Problem auch gegessen sein. Notepad is kein Editor ;)
Aber Notepad++ ist einer 8)

Benutzeravatar
mragucci
Beiträge: 598
Registriert: 08.09.2004 03:21:24
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Endor
Kontaktdaten:

RE

Beitrag von mragucci » 07.09.2006 17:02:51

Notepad++ rulez!!!

Hinweis: Mal Dos2Unix und Unix2Dos anschauen!
Ich will im Schlaf sterben - Wie mein Opa...
Und nicht weinend und schreiend wie sein Beifahrer!
-----
https://www.whisperedshouts.de

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Beitrag von Lohengrin » 07.09.2006 17:16:10

Es wird das Linefeed sein.
Ich würde einen Editor auf dem Server remote benutzen. vi läuft doch prima.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.09.2006 19:41:04

Wenn Notepad++ rulez, dann sollte er Tools zum Anpassen der Zeilenumbrueche ned noetig machen ;)

Benutzeravatar
mragucci
Beiträge: 598
Registriert: 08.09.2004 03:21:24
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Endor
Kontaktdaten:

RE

Beitrag von mragucci » 07.09.2006 23:10:28

[] Du Kennst Notepad++ nicht
[] Du hast uns falsch verstanden

Notepad++ ist ein netter Open Source Editor, der eine Vielzahl von Funktionen bietet und auch per Plugins erweiterbar ist. Unter anderem bietet er Standardmäßig die Option, ein File im DOS- oder im UNIX Stil zu formatieren.

Man braucht also KEINE extra Tools für die Dateien. Nur für den doofen Notepad(tm) braucht man die...


Gruß, Mario
Ich will im Schlaf sterben - Wie mein Opa...
Und nicht weinend und schreiend wie sein Beifahrer!
-----
https://www.whisperedshouts.de

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 08.09.2006 12:25:13

Na dann :)

War auch nicht 100% ernst gemeint ;)

Antworten