File: compat.sgml

package info (click to toggle)
doc-debian-es 2.2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 276 kB
  • ctags: 8
  • sloc: makefile: 68; sh: 27
file content (317 lines) | stat: -rw-r--r-- 14,166 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
<sect>Cuestiones de Compatibilidad <label id="Compatibility">
<P>
<sect1>Cun compatible es Debian con otras distribuciones de Linux?
	<label id="other distribs">
<P>
Los desarrolladores de Debian se comunican con otros creadores de
distribuciones de Linux, en un esfuerzo para mantener la
compatibilidad binaria entre las distintas distribuciones.  La mayora
de los productos comerciales corren tan bien sobre Debian como lo
hacen sobre los sistemas en los cuales se compilaron.

<P>
Debian GNU/Linux se adhiere a la Estructura de Sistema
de Ficheros Linux
<!-- XXX update to FHS when it is ready -->
<url url="http://www.pathname.com/fhs/" name="(Linux File System Structure)">
Sin embargo, hay espacio para la interpretacin en algunas de las
reglas que componen esta norma, por lo cual puede haber diferencias
entre un sistema Debian y otros sistemas Linux.
La versin ms moderna de este estndar FSSTND se llama ahora
FHS y tenemos pensado pasarnos a ella en breve.

<sect1>
Cun compatible es Debian en cdigo fuente con otros sistemas Unix? <label id="other Unices">
<P>

El cdigo fuente Linux de la mayora de las aplicaciones es compatible
con otros sistemas Unix.  Casi todo lo que est disponible en los
sistemas Unix System V, y en los sistemas comerciales o libres
derivados de BSD, tambin puede funcionar en Linux.  Sin embargo, tal
asercin no tiene ningn valor en el mercado comercial de Unix, pues
no hay manera de probarla.  En el mbito del desarrollo de software,
se requiere una compatibilidad completa, y no slo en &dquot;casi
todos&dquot; los casos.  Por ese motivo, hace algunos aos surgi la
<!--
algunos aos atrs -> hace algunos aos. svd
-->
necesidad de normas, y en la actualidad la POSIX.1 (IEEE Standard
1003.1-1990) es una de las normas ms importantes sobre compatibilidad
de cdigo fuente en los sistemas operativos al estilo Unix.

Linux est encaminado a adherirse a POSIX.1, pero las normas POSIX
cuestan dinero, y la certificacin POSIX.1 (y FIPS 151-2) es
bastante cara; esto ha hecho ms difcil el trabajo de los desarrolladores
de Linux para obtener completa conformidad POSIX.  Los costes de
certificacin hacen poco probable que Debian obtenga un
certificado de conformidad oficial, an cuando complete
satisfactoriamente el conjunto de pruebas de validacin.  (El conjunto
de pruebas de validacin puede obtenerse libremente en la actualidad,
as que se espera que ms gente trabaje en los temas de POSIX.1.)

<!--
<P>
<bf>(The authors would very much like to
give you a pointer to an on-line document that described that standard,
but the IEEE is another one of those organizations that gets away with
declaring standards and then requiring that people PAY to find out what
they are.  This makes about as much sense as having to find out the
significance of various colored lights on traffic signals.)</bf>
-->

<P>
Unifix GmbH (Braunschweig, Alemania) desarroll un sistema Linux que ha
sido certificado como conforme a la norma FIPS 151-2 (que es un
superconjunto de POSIX.1). Esta tecnologa estuvo disponible en la
propia distribucin de Unifix, denominada Unifix Linux 2.0 y en la
distribucin Linux-FT de Lasermoon.
<!-- Creo que Lasermoon quebr, pero en cualquier caso lo que sigue
es un enlace colgado:
<url url="http://www.lasermoon.co.uk/linux-ft/linux-ft.html"
name="Linux-FT">. En la actualidad, Unifix est aportando sus parches
al ncleo de Linux, gcc y otras herramientas; por lo
tanto, se espera que sus enmiendas que apuntan hacia la conformidad
POSIX.1 estn disponibles en Debian (y otras distribuciones).
-->

<sect1>Puedo utilizar los paquetes Debian (los ficheros &dquot;.deb&dquot;) en mi sistema Linux RedHat/Slackware/...? Puedo utilizar los paquetes RedHat (los ficheros &dquot;.rpm&dquot;) en mi sistema Debian GNU/Linux?	<label id="other packages">
<P>
Las diferentes distribuciones de Linux utilizan distintos formatos de
paquete y distintos programas de administracin de paquetes.

<!-- stupid tags -->
<descrip>
<tag/Usted probablemente puede:/Hay disponible un programa que permite
desempaquetar un paquete Debian en una mquina que se ha instalado con
una distribucin `extraa', y generalmente funciona, en el sentido en
que desempaquetar los ficheros.  Lo contrario posiblemente es cierto
<!--
The converse -> lo contrario. svd
-->
tambin, esto es, un programa que desempaquete un
paquete RedHat o Slackware en una mquina basada en Debian Linux
probablemente tendr xito desempaquetando el paquete y colocando la
mayora de los ficheros en los directorios deseados.  La causa de
este xito puede encontrarse mayormente en la existencia de (y la
amplia adhesin a) la Norma de Sistema de Ficheros Linux (Linux File
System Standard).
<!--
Por qu no "estndar"? svd
-->
<P>
<tag/Usted probablemente no quiera:/La mayora de los administradores
de paquetes escriben ficheros administrativos cuando se utilizan para
desempaquetar un archivo.  Dichos ficheros administrativos en general
no estn estandarizados.  Por lo tanto, el efecto de desempaquetar un
paquete Debian en un entorno `extrao' puede tener efectos
impredecibles (ciertamente no muy tiles) sobre el administrador de
paquetes de dicho entorno.  De la misma manera, las utilidades
provenientes de otras distribuciones pueden tener xito al
desempaquetar sus archivos en un sistema Debian, pero probablemente
causarn un fallo del sistema de administracin de paquetes de Debian
<!--
 la falla ?? svd
-->
cuando llegue el momento de actualizar o borrar algunos paquetes, o
incluso si se desea simplemente un informe exacto de los paquetes
presentes en el sistema.
<P>
<tag/El mejor camino:/La Norma de Sistema de Ficheros Linux
(y por lo tanto Debian GNU/Linux) requiere que los
subdirectorios bajo <tt>/usr/local/</tt> se usen enteramente a
discrecin del usuario.  As que los usuarios pueden desempaquetar
paquetes `extraos' en este directorio, y luego administrar sus
configuraciones, actualizarlos y borrarlos individualmente.
</descrip>
<P>

<!--
It would be useful to document all the ways in which Debian and RedHat
systems differ.  I believe such a document would do a lot to dispell
fears of using a Unix system. SGK
-->

<sect1>Es capaz Debian de ejecutar mis viejos programas &dquot;a.out&dquot;?
<label id="a.out">
<P>
Todava tiene un programa as?

Para <em>ejecutar</em> un programa cuyo binario est en formato <tt>a.out</tt>
(i.e., QMAGIC o ZMAGIC),
<itemize>

  <item>Asegrese de que su ncleo tenga soporte <tt>a.out</tt>
<!--
Asegrurese *de* que... svd
-->
  incluido, ya sea directamente (CONFIG_BINFMT_AOUT=y) o como
  mdulo (CONFIG_BINFMT_AOUT=m).  (el paquete kernel-image de Debian contiene
  el mdulo <tt>binfmt_aout</tt>.)
  <P>
  Si su ncleo soporta binarios <tt>a.out</tt> mediante mdulos,
  entonces debe asegurarse de que est cargado el mdulo
  <tt>binfmt_aout</tt>.  Puede hacer esto en el momento del arranque si
  tiene una lnea que diga <tt>binfmt_aout</tt> en el fichero
  <tt>/etc/modules</tt>.  Puede tambin hacerlo desde la lnea de
  rdenes si ejecuta <tt>insmod NOMBREDIR/binfmt_aout.o</tt> donde
  <tt>NOMBREDIR</tt> es el nombre del directorio donde se almacenan
  los mdulos construdos para la versin del ncleo que est
  corriendo.  En un sistema con la versin &kernelversion; del ncleo es probable que
  <tt>NOMBREDIR</tt> sea <tt>/lib/modules/&kernelversion;/fs/</tt>.

  <item>Instale el paquete <tt>libc4</tt>.
<p>
En el momento en el que se salga Debian 2.0, es muy probable que el paquete
<tt>libc4</tt> haya sido eliminado de la distribucin. Si este es el caso,
usted podra querer buscar un CD-ROM de Debian antiguo (Debian 1.3.1
todava tena este paquete).

<item>Si el programa que desea ejecutar es un cliente X
<tt>a.out</tt>, entonces instale tambin el paquete <tt>xcompat</tt>.

</itemize>

<P>
Si tiene una aplicacin comercial en formato <tt>a.out</tt>, puede ser el
momento de pedir que le enven una actualizacin a formato <tt>ELF</tt>.
<P>

<!--
Hoy en da, el inters de esto es muy escaso, as que esto lo comento. svd

<sect1>Puede utilizarse Debian para compilar programas &dquot;a.out&dquot;?
<P>
Para <em>compilar</em> programas en el formato binario <tt>a.out</tt>,

<itemize>

  <item>Instale los paquetes de desarrollo Debian para formato
  <tt>a.out</tt>, los cuales son:
    <itemize>
      <item><tt>libc4-dev</tt>
      <item><tt>aout-binutils</tt>
      <item><tt>aout-librl</tt>
      <item><tt>aout-gcc</tt>
    </itemize>

  <item>Coloque las herramientas <tt>a.out</tt> antes que las
  <tt>ELF</tt> en su ruta (PATH).  Esto es, ejecute la orden
  <tt>export PATH=/usr/i486-linuxaout/bin:$PATH</tt>
  (Esto no es esencial, slo ventajoso.)
  Si slo lo va a utilizar una vez, sera suficiente con:
  <tt>PATH=/usr/i486-linuxaout/bin:$PATH make [objetivo]</tt>.

</itemize>

-->

<sect1>Puede Debian ejecutar mis programas libc5 antiguos?
<P>
S. Simplemente, instale las bibliotecas necesarias de la seccin
<tt>oldlibs</tt>, que se incluyen en Debian 2.0 para conseguir
compatibilidad con aplicaciones antiguas.

<sect1>Puede utilizarse Debian para compilar programas libc5?
<P>
S. En Debian, el sistema puede estar completamente actualizado a libc6
(incluyendo los paquetes de desarrollo), y an as es posible desarrollar
programas para libc5. Simplemente instale los paquetes <tt>-altdev</tt>
necesarios. El conjunto mnimo de paquetes que necesitar es:
<tt>altgcc</tt>, en la seccin <tt>devel</tt> y <tt>libc5-altdev</tt> en
la seccin <tt>oldlibs</tt>.

Entonces tiene que colocar las herramientas <tt>libc5</tt>
antes que las normales en el PATH.  Esto es, ejecute
la orden <tt>export PATH=/usr/i486-linuxlibc1/bin:$PATH</tt>
(Esto no es esencial, slo ventajoso).
Si slo lo va a utilizar una vez, sera suficiente con:
<tt>PATH=/usr/i486-linuxlibc1/bin:$PATH make [objetivo]</tt>.

<sect1>Cmo debera instalar un paquete que no es Debian?
	<label id="non-Debian programs">
<P>
Los ficheros bajo el directorio <tt>/usr/local/</tt> no estn bajo el
control del sistema de administracin de paquetes de Debian.  Por lo
tanto, es una buena prctica
<!-- XXX /usr/local/src ???
S, creo que es correcto. svd
-->
colocar el cdigo fuente de su programa en <tt>/usr/local/src/</tt>.
<!-- Discrepancia con el original: No hay tt en ^^^. svd -->
Por ejemplo, puede extraer los ficheros de un paquete denominado
&dquot;fu.tar&dquot; dentro del directorio
<tt>/usr/local/src/fu</tt>.  Despus de compilarlo, coloque los
ejecutables en <tt>/usr/local/bin/</tt>, las bibliotecas en
<tt>/usr/local/lib/</tt>, y los ficheros de configuracin en
<tt>/usr/local/etc/</tt>.
<P>
Si sus programas y/o ficheros realmente deben situarse en algn otro
directorio, an puede colocarlos bajo el directorio
<tt>/usr/local/</tt>, y crear los enlaces simblicos en los lugares
necesarios que apunten al lugar de instalacin en
<tt>/usr/local/</tt>, por ejemplo, puede crear el enlace
<verb>ln -s /usr/local/bin/fu /usr/bin/fu</verb>
<P>
En cualquier caso, si el paquete que obtuvo permite la redistribucin
en su licencia, debera considerar la posibilidad de construir un
paquete Debian de l, y enviarlo para que forme parte del sistema
Debian.  Las instrucciones para convertirse en desarrollador de
paquetes se encuentran en el <ref id="DebianDocs" name="manual de
normas de Debian">.

<sect1>Por qu no puedo compilar programas que requieren libtermcap?
	<label id="termcap">
<P>
Debian usa la base de datos <tt>terminfo</tt> y la biblioteca
<tt>ncurses</tt> para manejar la interfaz del terminal, en lugar de la
base de datos <tt>termcap</tt> y la biblioteca <tt>termcap</tt>.  Los
usuarios que compilen programas que requieran conocimiento de la
interfaz del terminal deben reemplazar las referencias a
<tt>libtermcap</tt> con referencias a <tt>libncurses</tt>.
<P>
Para dar soporte a los ejecutables que hayan sido enlazados con la
biblioteca <tt>termcap</tt>, y de los cuales no tenga el cdigo
fuente, Debian proporciona un paquete denominado
<tt>termcap-compat</tt>.  ste provee tanto el fichero
<tt>libtermcap.so.2</tt> como <tt>/etc/termcap</tt>.  Instale este
paquete si el programa falla al ejecutarse con el mensaje de error
&dquot;can't load library 'libtermcap.so.2'&dquot;, o se queja de que
no encuentra el fichero <tt>/etc/termcap</tt>.

<sect1>Por qu no puedo instalar AccelX?
	<label id="AccelX">
<P>
AccelX usa la biblioteca <tt>termcap</tt> durante su instalacin. Vea <ref
id="termcap" name="acerca de termcap"> ms arriba.

<sect1>Por qu me da el mensaje de error &dquot;Can't find libX11.so.6&dquot; cuando trato de ejecutar <tt>fu</tt>?
<P>
Este mensaje de error puede significar que el programa est enlazado
con la versin <tt>libc5</tt> de las bibliotecas X11.  En este caso
necesitar instalar el paquete <tt>xlib6</tt>, de la seccin
<tt>oldlibs</tt>.

<sect1>Puedo instalar y compilar un ncleo sin `retoques' especficos para Debian?
<P>
S.  Pero debe comprender antes las reglas que tiene Debian acerca de
los ficheros de encabezado (headers).
<P>
Las bibliotecas C de Debian se construyen con las ltimas entregas
<em>estables</em> de los ficheros de encabezado de <tt>gcc</tt>.  Por
ejemplo, la distribucin Debian-1.2 us la versin 5.4.13 de los
ficheros de encabezado.  Esta prctica contrasta con los paquetes de fuentes
del ncleo que se archivan en todos los sitios FTP de Linux, que
utilizan versiones an ms nuevas de los ficheros de encabezado.  Los
encabezados del ncleo que se distribuyen junto con los fuentes de
dicho ncleo se encuentran alojados en
<tt>/usr/include/linux/include/</tt>.
<P>
Si necesitara compilar un programa con encabezados de ncleo ms
nuevos que los provistos por <tt>libc6-dev</tt>, entonces tendr que
agregar <tt>-I/usr/src/linux/include/</tt> a la lnea de rdenes al
compilar.  Esto sucede en una situacin, por ejemplo, con el
paquete del demonio de automontaje (automounter daemon)
(<tt>amd</tt>).  Cuando los nuevos ncleos cambian las cuestiones
internas que manejan el NFS, <tt>amd</tt> necesita enterarse de
tales cambios.  Para ello requiere la inclusin de las ltimas
versiones de los encabezados del ncleo.