183 meneos
3368 clics
Líder de Debian: snappy puede hacer a Ubuntu menos compatible con el resto
En Linux.com, Swapnil Bhartiya le ha hecho una interesante entrevista a Neil McGovern el flamante líder de Debian, en el que además de hacer un repaso por su biografía y hablar de las responsabilidades que conlleva su nuevo puesto en el proyecto, comenta temas de actualidad relativos al desarrollo de la distro y de una de sus hijas como es Ubuntu
|
comentarios cerrados
Si al final resulta que es bueno, ¿no debería mejor Debian adoptarlo? Al ser Debian la distro madre parece que sea impensable que pueda implementar funcionalidades de Ubuntu o de cualquier otra distro.
Relacionado: queue.acm.org/detail.cfm?id=2349257
Los ingenieros de Ubuntu prefieren Snappy y no creen posible mejorar apt porque está diseñado con otro propósito totalmente distinto.
Android ha demostrado que se puede hacer una distribución de linux desde cero y triunfar a lo grande. En Ubuntu son libres de hacer lo que crean conveniente. Si Google se hubiese puesto a discutir para intentar llegar a un consenso con todo el mundo sobre cómo debía ser Android todavía estarían en la versión 0.1 en vez de haber vendido más de 2000 millones de dispositivos y hacerse con el 90% de los móviles del mundo.
- Fuera rpm
- Fuera dpkg
- Nuevo formato de paquetes de verdad una vez realizado lo anterior.
- Configuración comun para todos los Linux. Se acabó eso de tener mysql en /etc/ o /var/lib/ según la venada de cada distro.
- El kernel, GLIBC y Xorg FUERA del sistema de paquetes. Es-ta-bi-li-dad por versión. A lo BSD. Lo demás, sí, como paquetes.
- GNU+Linux unificado a lo BSD, sin separar uno de otro. Al menos, estandarizado entre distros.
- Documentación estricta. A lo BSD. Que no quede nada sin documentar. ¿Los de GNU son maś de INFO? Pues infos.
- Systemd no me gusta, pero si unifica todo, es preferible a 20000 sistemas de configuración distintos.
- Fuera YaST, Mageia Control Center y similares. Forman parte del pasado.
- Phonon/Gstreamer y demás, fuera. Gstreamer debería ser el estándar. Phonon no pinta nada, no tiene un backened de códecs siquiera.
- Gente de Gnome y Plasma, unificad los backends y poned las capas que querráis encima de GTK3 / QT5 para la configuración.
No obstante, también puedo entender que tanto DEB como RPM son buenos sistemas y que nadie quiera desprenderse de "lo suyo". Personalmente me gusta más DEB y me encantan los PPA, pero como cada distro va a lo suyo, veo complicada una convergencia...
Sé que GNU no es UNIX pero...
Sin una única voz directora no se puede unificar todo el software libre pero una voz directora es precisamente la antítesis del mismo.
Como con GNU/Guix. O el propio Emacs. De hecho Guile es lenguaje scripting "de facto" de GNU. Llevan otra filosofía y usando el kernel Linux montan un frankestin raro.
En OpenBSD y demás, pues es obvio que amén de las herramientas UNIX, perl es la navaja suiza recomendada.
Al menos es como lo veo. Tienden a sobrecomplicar las cosas.
Lo cojonudo sería encontrar un paquete "ffmpeg" con todas las dependencias que necesites sin preocuparte de nada. Creo que de éso va el concepto que están desarrollando. Si no me equivoco.
Pero no, con snappy vas a tener las dependencias en el paquete y con un sistema de deduplicación evitarás tener la misma librería duplicada.
Tienes un RPGv 1.20 . Sacan la 1.30. No te gusta.
La 1.20 depende de libv.so.12 . La 1.30, de libv.so.12.1
Sacan VLC, el nuevo. Lo quieres. Está compilado contra libv.so.12.1
Pues bien, si quieres el VLC nuevo con su codec ultraHD4K, te va a actualizar el juego ya que depende de la librería libv.
Y también hay que recordar que Linux puede estar entre los primeros cuando se habla de Estabilidad/Robustez (RHEL por ejemplo), y también puede estar entre los primeros en Rendimiento Bruto o incluso en Seguridad. Pero igualmente es mejorable.
Vamos, que no es UNIX, ya lo dijo Stallman. Tomaban Unix como base y lo ampliaban, pero muchas veces innecesariamente, puesto que muchas de las Coreutils se implementan con comandos rápidos de pocos caracteres, no más de 10.
¿Qué pasa si un juego antiguo en Linux es preferible a la versión existente a los repositorios?
Bueno, en #5 dan argumentos convincentes. Una base para un SO siempre es necesaria.
De todas formas, para esto hay dos enfoques:
- Las librerías son del 'sistema' --> Te toca adaptarte y los programas deben usar las librerías que hay instaladas. La ventaja es la optimización, tanto de espacio en disco, como en memoria. La desventaja es que estás supeditado a la evolución de las librerías, tanto para mantener software viejo, como para instalar software nuevo.
- Cada programa lleva sus librerías incluidas. Facilitas la instalación y 'aíslas' cada programa del resto del sistema. Duplicas espacio en disco y memoria y cuando haya actualizaciones (bugs, seguridad...) de las librerías, es un caos porque hay que actualizar todos los programas que las usan y siempre queda el riesgo de que alguna aplicación no se actualice y siga funcionando con una librería defectuosa.
Yo no sé cuál es mejor solución, creo que depende de qué programas. Quizá para juegos o programas 'locales' pueda ser mejor usar compilación estática, pero para servidores o utilidades del sistema (web, correo, bases de datos...) prefiero que las librerías estén compartidas y centralizadas sabiendo exactamente qué usa cada uno.
Si Canonical quiere idiotizar ubuntu mal va. Pero creo que no es ese el camino que están haciendo, sino uno menos agresivo, más próximo a lo que realmente representa el software libre. Se ha visto también en los móviles con ubuntu.
#9 Chrome OS es una distro linux y encaja con todo lo que has dicho, exceptuando por ahora la diferencia numérica de dispositivos.
En ese caso Snappy termina siendo como el Google Play, que no permite instalar apps en determinadas versiones de Android por las versiones de sus librerías.
Pero hay algunos puntos que son un +1000 (phononn, Gnome+plasma, etc)
De algunos no entiendo suficiente para opinar, pero suenan a algo que diría el de "Linux sucks", no sé si conoces esos vídeos, pero seguro que sí.
Eso se debe a que Linux es una comunidad, no una empresa con dirección como Apple o Microsoft. Es imposible hacer que una comunidad tan grande, diversa y libre siga al unísono los "designios" de un autoproclamado "iluminado".
Son sistemas operativos diferentes, con diferente kernel, API, todo.
Así que si alguien sabe como...
Por cierto, ¿sabes hacer chroot? -> #36 #53
No sé a qué te refieres con "distribución de Linux". Si te refieres a distribución de GNU/Linux, Android no lo es. Si te refieres a sistema que lleva núcleo Linux (aunque creo que es un mod) sí, pero no es desde cero en absoluto, utiliza software ya hecho por otros.
Por último, tu razonamiento es muy cortoplacista. Si no te pones de acuerdo con nadie desarrollas más rápido, lógico, pero fragmentas y divides el esfuerzo, lo cual es malo a largo plazo, y es malo para combatir al software propietario.
Apt y las dependencias es la solución elegante y mantenible para un sistema que ha de ser estable y seguro. ¿Qué ucurre cuando una librería tiene un bug de seguridad y la has instalado 80 veces como un estático en 80npaquetes y ni lo sabes?
Puede haber alternativas para pero buscan otros fines como la simplicidad en la instalación sin tener que gestionar repositorios cohesionados. Con apt puedes pero todas las app y lbrerias del repo deben ser mantenidas coherentemente.
En fin, que cada cosa es buena para unos fines y pretender que snappy reemplace a apt es descabellado.
Ahora no es tan comun, pero me ha tocado descomprimir el paquete a mano y poner la libreria en /usr/local/lib, o peor, ~/.local-lib y jugar con LD_PRELOAD.
Con lo facil que sería dejar que se instalaran juntos y que apt-get se comportara como aptitude y desinstalara las librerias de las que nadie depende ya. Siempre he pensado que es por falta de QA para asegurar que las dos librerias se pueden instalar lado a lado. La combinación de versiones explota y los fallos por usar una mala combinación serian inmanejables.
Android tiene kernel Linux, pero ni los usuarios y permisos se gestionan como lo haría cualquier GNU/Linux.
Y ahí es donde se evidencia que deberíamos tener una palabra para definir el conjunto de distros y otra para el kernel. Poder aclarar qué es "ser linux"
Descargas tu libv.so.12 y la metes en el juego, es fácil porque todo deb, rpm o tgz es un comprimido y se puede extraer fácilmente el archivo que quieras.
$ LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./RPGv1.20
Profit!
Según el juego es posible que necesites reemplazar el . por la ruta al juego. También puedes montarte un directorio de librerías "obsoletas" y apuntar la variable allí para todos los juegos.
Ahora, que debería haber una herramienta que permita hacer eso sin consola ni conocimientos. Pues igual que bumblebee debería de ir ya integrándose en los entornos de escritorio para poder hacer doble click.
Se trata de que todas las distros compartan sistemas de paquetes y parámetros de configuración (como el ejemplo de MySQL de #10 ), no de seguir rizando el rizo.
La mayor dificultad de hacer chroot es crear el directorio base, tienes que "instalar" la distro en un directorio dentro de tu equipo (esto pasa también con LXC, lo que ofrece Docker es un repositorio de imágenes ya preparadas para LXC).
(Pero, dado que chroot es lo más tradicional, ahí va)
En debian y Ubuntu puedes usar debootstrap:
wiki.debian.org/es/debootstrap
Para yum también hay opciones, básicamente se descarga el paquete "base" (que indica la distribución y versión que es) y luego sobre eso se hace yum de las cosas que quieras meter en el nuevo root, aquí lo hacen para centos5 con un poco de cabeza lo cambias por otra cosa basada en yum:
systemadmin.es/2012/06/instalar-el-honeypot-ssh-kippo-en-un-chroot
El modo vago es utilizar imágenes ya preparadas, como estas:
download.openvz.org/template/precreated/
Aunque son para otra cosa, deberían cumplir.
# curl download.openvz.org/template/precreated/suse-13.1-x86.tar.gz | tar -xvz
(Y ya tienes ¿Open?Suse 13.1 en el directorio)
Para entrar en el chroot no podía ser más trivial, pero necesitas ser root:
# chroot /directorio/chroot
Por otro lado, el servidor gráfico y de sonido están arrancados fuera del chroot, por lo que nada de ejecutar programas multimedia (como juegos).
wiki.gentoo.org/wiki/Steam#32-bit_chroot_on_amd64 (este no lo he encontrado en castellano, pero son todo comandos y ficheros a copiar, cambiando rutas claro).
Con docker lo tienes más sencillo:
# docker pull tianon/steam (esto es una imagen configurada con un SteamOS y steam instalado y listo para ejecutar, puedes buscarte otras de interés)
# docker run -d tianon/steam steam
(Teóricamente ya te lo hace todo él: descarga imágenes de sus repositorios, las monta en un directorio suyo y cuando haces el run utiliza los namespaces de Linux para crear una jaula, la prepara para acceder al entorno gráfico y lanza el comando que has pedido en ella).
¿Y? Estás pidiendo al mundo Linux lo que el mundo BSD no tiene, ¿si el mundo Linux quiere tener 3 sistemas de paquetes y dos sistemas de inicio aunque compartan el mismo kernel qué problema hay?
OpenBSD nació como un fork de NetBSD, si es incompatible con NetBSD es simplemente porque quisieron, ¿qué diferencia hay entre eso y que el sistema de paquetes de suse no sea compatible con el de ubuntu?
No aportan nada, sigue siendo el mismo kernel pero con tu GestorTM de paks revokucionario y cambios en $prefix .
es.wikipedia.org/wiki/Xdelta
El rendimiento de OpenBSD comparado con Linux también es de chiste.
Vamos a ver, o tiran todo abajo y crean LA distro o todo seguirá penosamente implementado, como un bazar donde todo son hacks guarros funcionando a patadas por decirlo finalmente.
#79 GNU/Linux, pero como sistema general es un asquete, desperdigado en ciertos de distros con nula documentación en muchos casos.
Por no hablar de que los manuales de Bluez o ifconfig por ejemplo se quedan cortos comparado contra OpenBSD. Y encima hay que aguantar inetutils vs ip(1).
Un despropósito. Un barrido gordo hacía falta, aunque sea con Systemd.
Si bien Debian estuvo a la cresta de la ola, sus normas extremadamente estrictas han hecho que la innovación sea imposible. Este podría ser otra muestra de como Debian va muriendo lentamente, que sigue tratando de disrupción cualquier novedad.
Hay que conocer un mínimo la verdad, siempre son útiles.
Tail es entendible, head tiene delito.
Intrínsecamente, no. Con Grsec y demás, sí, pero un fallo de Grsec manda todo al cuerno.
En OpenBSD vigilan muy mucho que todo sea seguro, por diseño, sin necesidad de armaduras.
Por cierto, tampoco me gusta FreeBSD . Aquí en OpenBSD somos de binarios para todo (y de una documentación exquisita hasta para la API de C o la cosa más nimia).
"man afterboot", con eso lo digo todo.
Olvidas la compilación segura hecha por los de OpenBSD, la cual se puede realizar con systrace(8) si te da la gana
"Ports" poco, esto no es FreeBSD. Aquí paquetes binarios parcheados y con las funciones inseguras sustituídas para que nada acceda donde no debe.
De hecho en OpenBSD recomiendan instalar paquetes por algo. No, no son los que te encontrarás en distrochapuzas como Arch donde cogen todo vanilla aunque reviente a pedazos.
El tener "tantos" sistemas como seguridad como Linux no te garantiza nada. Observa:
news.ycombinator.com/item?id=9538437
La seguridad ha de ser intrínseca, con funciones seguras de base. Si depende todo de SeLinux o AppArmor, en unos años se puede liar una muy gorda.
Selinux seguramente tendrá problemas aun no descubiertos, pero existen muchas otras tecnologías y medidas de seguridad complementarias (mirar hardened gentoo para hacerse una idea). También Linux apuesta si quieres por la criptografía e incluso firma de binarios. Y en tema de ataques ddos o similares (además del software existente) ya hay nueva implementación para el tema de redes que vendrá en próximos kernel (Xia).
La seguridad en base a corregir bugs principalmente es una Utopía o limita bastante el uso de tu sistema.
No tiene por qué , aquí las cosas funcionan: X sin root, machdep.aperture a 0, implementación correcta de redes, PF que mitiga mucho el DDOS de serie...
No es una utopía. Ah, que no podré usar 4 librerías de C diferentes , o 30 schedulers. Vaya por dios.
¿Crees que los de OpenBSD "limpiarían" de bugs programas tan grandes como KDE? No me vale que usan otro gestor/windowmanager porque podriamos poner de ejemplo otro tipo de programas. Aún que cambien todas las funciones "inseguras" de C podrían tener otros miles de bugs que no detectarían ni tienen tantas medidas de seguridad para contrarrestar problemas graves de seguridad como Linux o FreeBSD. Lo que yo creo es que OpenBSD tiene un uso minimo (en comparación con Linux o incluso con FreeBSD), se utiliza principalmente como sistema para hacer de router/firewall y pocos servicios mas (con lo que solo es necesario una instalación basica y como mucho 4 paquetes muy concretos, reduciendo mucho las vulnerabilidades y ataques).
Es como si hablamos de QNX o Minix incluso (sistemas muy minoritarios y muy especificos, además de reducidos en funciones, por lo cual para su basico uso son estables y seguros). Si tuvieran un uso mas extendido y realizaran mas tipos de tareas, les lloverían los ataques y bugs.
Yo personalmente prefiero un sistema que me sea muy polivalente y bueno, para que no tenga que disponer o conocer 3 o 4 sistemas operativos para según que quiera hacer (jugar, montar servidor, programar, etc...). Me gusta UNIX y Linux es muy Unix-Like, aunque tenga cosas distintas (/proc, systemd y alternativas, etc). Que a ti te gusta un sistema muy basico/minimo, pues también tienes opciones como TinyCore Linux con busybox, ash shell, un X minimo distinto, etc... Incluso te puedes fabricar tu propio Linux al estilo LFS y hacerlo a tu medida.
Puedes tener OpenBSD un XFCE4 con toadd + dbus para montar y reconocer USBs y lo que te plazca correctamente, y Bash/ZSH si te da la gana, pero el tema no es ese.
El tema es que en Linux faltan estándares y una dirección clara, amén de una absoluta y bochornosa falta de documentación al ir GNU por un lado y Linux y las distros por otro.
Proyectos como GNU Bash y Gnu Emacs son las excepción. ¿Y lo demás ? Todo está tan segmentado en distros que es imposible que nada tenga documentación como en un OpenBSD donde TODAS las páginas del manual existen para cada comando , binario, script y archivo de configuración.
Solo tienes que ver la faq, "man afterboot", man resolv.conf de OpenBSD contra sus contrapartes de GNU, donde muchas veces el intento de documentación falla estrepitosamente. O cuando simplemente no lo está. O la existencia de ifconfig/inetutils y sistemas de arranque que chocan entre sí.
Sobre disponibilidad en los paquetes de OpenBSD tengo una parte enorme de CPAN, y bueno, OpenSSH nace aquí básicamente, no tenemos por qué ser una especie de monjes de clausura, aunque dicen que atenerse a lo que trae la "base" de OpenBSD es bueno.
Todo esto puede tener su lado bueno y lado malo, pero como he dicho antes Linux no es perfecto y tiene que mejorar o innovar mucho mas. Los sistemas BSD tienen sus cosas que pueden ser buenas algunas de ellas y que no vienen por defecto en las distros Linux o directamente no se aplican en Linux (como el concepto de "sistema base" y su mantenimiento). También hay otros sistemas muy "basicos" y con buenas caracteristicas en ciertos aspectos/ambitos (como Minix), pero yo no los considero como sistemas para uso versatil o ni siquiera como sistemas para uso "domestico" (incluso en ese supuesto ámbito donde son buenos, Linux también lo es seguramente). Por eso FreeBSD es quizás el BSD que me gustaría tener si Linux no existiera. Solaris es otro sistema Unix muy polivalente y bueno, pero al no ser software libre/abierto pues para mi esta descartado (y creo que a día de hoy a sido superado en tecnologías y posibilidades por Linux; Solaris 11 no es ni ha sido tan novedoso ni bueno como lo fue en su día Solaris 10).