Quantcast
Channel: Fedora People
Viewing all 29302 articles
Browse latest View live

Jaroslav Reznik: Reminder: the Future of Fedora release names meeting tmrw!

$
0
0
Hi, we are planning the first meeting on %SUBJ% tomorrow - so Friday 15th 5PM UTC (1PM EDT, 7PM CEST for us Central Europeans ;-). You can find it on Freenode - #fedora-meeting-1 channel.

What's the goal of this meeting? I hope not to have a meeting for meeting but to move forward with the discussion started by Toshio (as it got stalled). I think the best thing we can do for now is to try to get interested people to meet together, to check if there's real demand for the change and if so, to start with the real proposals to create a new naming scheme.

The meeting is open for everyone, if you're interested in - please join us! Btw. it's still a discussion and the result of this discussion is an advisory for Board

Ankur Sinha "FranciscoD": Fedora Join SIG: what do you think?

$
0
0
Hello folks!
    We’ve been recently looking to reduce the learning gradient that new folks need to hike up when they look to contribute to Fedora. Users looking to give back to the community is amazing. I feel we need to go out and give them as much help as we can. The importance here is that most of them will be new to the workflows, SIGS, teams and processes that Fedora community uses. Quite a few of them will be new to Linux even. For these novices, learning all that is required to become contributors is a daunting task. However, what is important is that all of them have the *potential* to make awesome contributors!
    At the moment, this is how folks go about it:
    1. Look at the join-fedora page[1]
    2. Select what they want to do, or randomly pick one that looks familiar
    3. Join the various mailing lists
    4. Ask how they can help
    5. Start working, and learn while they work
Even though this works, there are a few issues here IMO:
    1. Quite a few folks aren’t sure what they want to do. The join fedora page is confusing for them at times. They don’t know first hand what each role is about, so they aren’t sure if they should join up SIG A or SIG B.
    2. The various mailing lists: devel, mktg, infra are work oriented. While we do guide newcomers that ask for help on the lists, these newcomers are usually scared to ask questions. They feel they’ll make fools of themselves if they ask simple questions in front of established contributors. 
    Basically, the working mailing lists aren’t exactly the best environment for new comers. They are task oriented. They aren’t dedicated to aiding new comers. We also don’t want lots of introductions etc. on the work mailing lists either. We want them to be dedicated to *work*.
    I therefore suggest setting up communication channels dedicated to aid newcomers. I’ve already run into a “Welcome SIG”[2] initiative. The “welcome SIG” was intended to be more broad. It was intended for users too. If we set up “welcome SIG”, I’m afraid it’ll turn into another troubleshooting channel. We already have #fedora, the users mailing list[3], askfedora[3] for troubleshooting. I’d like to set up a channel dedicated to prospective contributors: something like a “Join Fedora SIG”(proposal on the wiki here[4]). Gnome already has something on these lines: the Gnome Love[5] project. It works. I’m on the mailing list. People ask for help, they get their guidance. Slowly, they turn into contributors. I’d like to again stress that the current mailing lists, while already present and open to the public are not *dedicated* to this purpose of guiding newbies. I suggest:
    1. #fedora-join on Freenode
    2. fedora-join mailing list
    The goals of these are:
    1. Set up a communication channel between the existing contributors and prospective contributors. Speaking to current team members is always encouraging. We could even set up a system to send “easyfix” tasks to this mailing list giving folks a chance to work on them and learn in the process.
    2. Guide/aid prospective contributors to turn into solid contributors. Rather than just pointing them to join.fp.o, talk to them, see what issues they face, help them decide where they want to get started.
    3. Via these channels, form better mentor-mentee relationships. Here, I mean “mentor” in the real sense of the word. Rahul, for instance, brought me into Fedora almost 6 years back via a font packaging IRC work shop. He’s still my mentor and I still email him when I get stuck in a situation. Such relationships improve the community, both work wise and fun wise.
    4. Give prospective contributors a communication channel to converse amongst themselves. This is very important. Take the gsoc mailing list for instance. It is set up specifically so that the candidates can talk to each other. Since they’re all in the same boat, they feel more comfortable discussing certain issues amongst themselves. They’ll also be aware of what different people are upto which will give them a better idea of what they can do.
    I’m looking to set up this channel. Whatever I’ve written above is mostly what *my* neurons could think up. I initially thought that extending the classroom SIG to also function as the Join Fedora SIG would work, but Kevin suggested we keep them separate. (The function of the classroom SIG is for the community to teach each other). Basically, I’d like to look for potential, not polish. We can help them gain the polish that established contributors have.
    What are your views on this folks? Here, I’d request folks to follow “plussing”: please criticize this as much as you want, find issues, but only if you have a “plus” to give as a solution. (I ran into it in a book I recently read. I think it’s a great way to go. No harm giving it a try :-) )
    Steps:
    1. File ticket at infra to set up fedora-join mailing list
    2. Set up IRC channel #fedora-join
    3. File ticket with websites SIG to make tiny changes to join.fp.o to list Fedora-Join IRC and mailing list channels. 
    4. Get started!
[1] http://fedoraproject.org/join-fedora
[2] http://fedoraproject.org/wiki/Welcome_SIG
[3] http://fedoraproject.org/wiki/Welcome_SIG
[4] https://fedoraproject.org/wiki/Fedora_Join_SIG
[5] https://live.gnome.org/GnomeLove

Fabian Deutsch: Doing PXE with libvirt / virt-manager

$
0
0
pxe_01 by Elijah Porter


Installing hosts using PXE is a well known thing.
Why not do it within libvirt? Or: How do I do this in libvirt?
Do I need to setup my own dhcp server to pass the bootp option? Nope.
Just use libvirts default dnsmasq and add the bootp dhcp option.

All you need to do is editing the default network configuration using virsh (no way o do it from virt-manager).

# virsh net-destroy default
# virsh net-edit
Now add "<bootp file='/pxelinux.0' server='$PXESERVERIP'>" under /network/ip/dhcp
# virsh net-start default

All done.
Just have a look at the definition here to read about more features.

mythcat: Programming with google-blocky

$
0
0

It's fun . You can try or your children.

Blockly is a web-based, graphical programming language. Users can drag blocks together to build an application. No typing required.

You can see more on google project.

Gerard Ryan: Creating the Fedora JBoss Spin (GSOC 2012)

$
0
0

In my last post, I mentioned that I had created a kickstart file to build what will become the Fedora JBoss Spin. Noting that this is still very much in development, and hasn’t been submitted to the Spins SIG yet, I even hesitate to call it a ‘Spin’ yet. Anyway, in this post I will briefly explain how to create an ISO disk image from that file. Once the ISO image is ready, it can be installed as a live media onto a USB stick or a DVD; or it can be run in a virtual setting.

 

Install spin related packages

The livecd-creator tool is provided by the livecd-tools package, and we also need some of the standard kickstart files from fedora-kickstarts:

sudo yum install livecd-tools fedora-kickstarts

 

Prepare for build

Next we need to get the custom kickstart file for the Fedora JBoss Spin:

curl -o fedora-livedvd-jboss.ks http://galileo.fedorapeople.org/fedora-livedvd-jboss/fedora-livedvd-jboss.ks

Before we can build it, we must make the standard kickstart files that we need, available in the same directory that we’ve got the custom one in, so in that directory:

ln -s /usr/share/spin-kickstarts/fedora-live-base.ks
ln -s /usr/share/spin-kickstarts/fedora-live-minimization.ks

 

Build!

Now the image can be created. Note that this step may take a while. It will also download a lot of packages, so the your internet connection will play a part in how long it will take:

sudo livecd-creator -v --config=fedora-livedvd-jboss.ks --releasever=17

 

What’s next?

Now that you have a freshly squeezed live ISO image, you can do what you want with it. You can use it in your favourite virtual environment, or you can put it on a USB stick and live boot from that!

Prima Yogi Loviniltra: Permission denied (publickey) in ssh FAS

$
0
0

Karena baru habis install ulang fedoranya, jadi semua data2 saya juga hilang, termasuk juga ssh key saya yg di FAS (Fedora Account System), dan akhirnya saya buat yang baru di folder ~/.ssh/examplefolder/id_rsa..

Saat mau login ke fedorapeople dengan command :

$ ssh -i ~/.ssh/examplefolder/id_rsa jurankdankkal@fedorapeople.org

saya dapat error seperti ini :

Permission denied (publickey).

Nah buat yag bingung, simple aja sih, daftarkan dulu path folder yg baru dengan cara :

ssh-add /home/username/.ssh/examplefolder/id_rsa

Terus coba’de login lagi.. :)

Henry Anchante-PE: Nuevos Articulos Fedora Peru

$
0
0
En Fedora Peru, ya estamos trabajando para nuestro relanzamiento oficial con centro de capacitacion.




Praveen Kumar: Spacebar power in gnome-shell

$
0
0
May be some of you already know about it, but I am sure there are still some who don't know like me :). Yesterday I was just going to watch "Big Bang Theory" and by mistake I pressed "spacebar" instead of "Return key (Enter)" to a already selected file and boom I was able to see video, I though may be it's gnome-shell preview feature, but I was wrong, It is a feature of nautilus and provided by module called"sushi" I also noticed it a fully function video player (pause/play and full screen). Don't think if you press space again video will pause, it will go away :)

Nick Parlante talking about python regex


Curiously I selected one folder and press spacebar and got property of the folder (size, modified date ..etc).


And then a picture, you can preview in medium size and their is also a full screen mode button at bottom of preview screen.

 
I just liked this feature so much, couldn't control myself to share :), well enjoy the power of spacebar !!

Oliver Rivas: Bajo CISPA tu eres culpable hasta que demuestres lo contrario.

$
0
0

Muchos pensaron que habíamos ganado la batalla cuando derrotamos SOPA pero la realidad es que lo hemos perdido todo. Con el pretexto de proteger la propiedad intelectual, derechos de autor y “economía creativa” nos han criminalizado a todos sin excepción con la aprobación de C.I.S.P.A.

Con CISPA tu tienes que demostrar que eres inocente

 

El problema va mucho mas allá de poder o no compartir data como este articulo. Supongamos que bajo CISPA el dominio pablodelospalitos.info se convierte en un infractor bien sea por que es un nodo que permite a usuarios compartir contenido que puede o no tener copyright o por que tienen un modelo de negocio que la RIAA y la MPAA no le gusta (así como thepiratebay y megaupload respectivamente).

Sin importar si la nacionalidad y residencia de estas empresas y fundadores es de un país en el cual esto no es un delito, pongamos de ejemplo Dinamarca y Nuevazelanda, estos dominios serán considerados infractores, los empleados y duenhos serán perseguidos y encarcelados sin un debido proceso y los dominios a los dominios les quitan las entradas de DNS y bloquean sus IPs en algunos ISPs.

 

El pequeño inconveniente

El problema a la hora de esforzar CISPA esta en que las IPs 194.71.107.50 y 66.71.182.142 aun son accesibles directamente o mediante proxies.

¿Se dan cuenta del problema? Un detalle que no se comenta mucho es que los grandes de esta industria decidieron definir su contenido como “material protegido e incopiable” cuando la realidad es que su data se puede duplicar como cualquier otro tipo de data y no esta protegida. Esto es lo que hacen los computadores, leen, procesan, modifican y copian bits, así funcionan!

Afirmar que su data es “incopiable”, es como decir que venden agua seca y definan que es ilegal transformarla en agua normal y corriente.

Este problema y detallito no fueron aprobados por accidente ni por falta de asesores calificados a la hora de redactar CISPA. Son una oportunidad para que las empresas de medios audiovisuales puedan interpretar esta ley a su manera y etiquetarte como culpable sin tener que demostrar que eres culpable.

 

Las consecuencias de CISPA

En todo país democrático se estipula que “toda persona acusada se presume inocente hasta que se demuestre con pruebas fehacientes su culpabilidad”. El debido proceso deja de existir cuando te enfrentas contra la RIAA o la MPAA y su bufete de abogados que te llevaran a corte y apelaran tu defensa hasta que a ti se te acabe la plata.

 

Bajo CISPA tu eres culpable hasta que demuestres lo contrario. es un articulo de: orvtech.com

Mackenzie Colwell: Anaconda’s Errors: A Comprehensive Gallery

$
0
0

Good afternoon!

Last week, I posted twice about error screens for Anaconda – beginning here.  I’ve taken in feedback and altered some of the designs accordingly, and now I’ve got a mockup of every error screen here for you to see.  Feel free, as always, to leave me comments.

Insufficient RAM Unknown Error Media Error Network Connection Wifi Critical Network Connection Wifi Network Connection Critical Network Connection Kickstart Wrong Architecture Critical Kickstart Wrong Architecture Kickstart Not Found Critical Kickstart Not Found

Alvaro Castillo: Dando un paseo...

$
0
0
Hace poco, estuve pensando un poco que otras distribuciones de Linux basadas en RPM y sistemas como BSD... La verdad es que, BSD es un sistema perfecto, sin embargo, en temas de escritorio le falta cuerda, si bien, en cualquier distro Linux actual puedo usar mi smartphone como "tethering" y usarlo como módem, cosa que ya publiqué por aquí hace tiempo, pero en FreeBSD por ejemplo no. Y no sé por qué la temperatura del CPU no baja de 50ºC, y sube hasta los 56º solo con el sistema iniciado, lo contrario a Linux usando PREEMPTION y Hz=1000... multitud de procesos y no salía de 4*ºC aún así nada. 
Lo bueno es la eficiencia del sistema, pero si voy a tener una CPU a temperaturas no muy agradables y con las ciertas pijadas como el "tethering" (y más si usamos portátil o quedamos sin conexión un día), pues no es de muy buen agrado. También le sumo la lentitud en la copia de USBs, y lo que tarda en montarse, y más si hablamos de usar el smartphone con soporte lectura y escritura en el USB. Y lo entiendo, un servidor no suele usarse USB, todo se hace mediante red o suele ser así, pero bueno. 
También estuve optando por usar OpenBSD, y luego virtualizar algún Linux o Windows para ciertos programas, parece una idea absurda, pero dado el limitado soporte de programas en OpenBSD y más flash (hay técnicas medio raras para verlas en él), pues pensé en virtualizar, pero solo hay Qemu y no sé si tendrá un buen soporte en audio y gráfico... a eso le sumamos que cuando probé 5.0 el driver nv, no me soportaba la tarjeta gráfica que poseo, y tuve que usar vesa a resolución 1024x768, (ahora en 5.1 no sé), falta de soporte escritura en particiones NTFS o un sistema como FUSE que si está en FreeBSD para montar/desmontar NTFS y otros sistemas de ficheros a tu antojo, así que... me eché para atrás, es una lástima porque todos sus paquetes están auditados, pero no sacrificaría tanta, demasiada facilidad de uso para obtener máxima seguridad, recordemos que todo lo que está hecho por los humanos es defectuoso. 



Estuve optando también entre NetBSD, pero, por lo que veo, es más propenso a tener vulnerabilidades, de todas formas, si en FreeBSD no puedo usar mi teléfono inteligente como tethering, menos lo podré hacer en NetBSD, dado que una vez lo instalé en una netbook Acer Aspire One D250 y no me tomaba ninguna tarjeta de red... y bueno, así que opté por ir por el camino de Linux buscando una buena distro basada en RPM. 

Estuve probando Mageia (basada en Mandriva), y tenía la mar de errores la verdad, usa otro tipo de instalador que no es anaconda, más fácil supongo de entender, pero con una resolución de 1024x768... al menos para mí, raro eso, el contador de instalación decía el tiempo que se le antojaba, en el propio instalador habían fallas de interfaz, si bien no podías seleccionar qué paquetes instalar a menos que escogieras la elección "Otros escritorios", me pregunto qué tiene que ver seleccionar paquetes que quiera instalar con el escritorio que quiero?
Después, a la hora de actualizar, no podías sin tener el DVD en suma no había mirrors, o repositorios activados por defecto, era algo así como un Debian Etch que te dejaba el DVD como único repositorio....pues eso..., tardaba horrores en descargas unos ficheros .cz o .ch, algo que nunca vi, y el mirror que tenía era RPMFind (?) asimismo no usaba YUM, sino URPMI, la verdad no entendía nada con el gestor, y muchas herramientas GUI... luego mirabas los servicios que tenía el sistema, y marcaba fedora-* y mandriva-*, parecía eso una LFS de varias distros en vez de una distro basada en una sola, aparte el sistema con KDE me iba muy pesado, incluso con la swap desactivada, algo raro de ver. 


Y también aparte de las distros basadas en RPM, anduve pensando en Gentoo, pero la verdad, aunque sea bastante estable, usa OpenRC que es más fácil de entender que systemd, no me agrada la idea mantener la PC siempre compilando y con las CFLAGS para usar las últimas versiones de programas, aplicando parches... para luego tener el mismo rendimiento de sistema que Fedora con KDE... para eso prefiero no compilar.

Ubuntu porque siempre anda con bugs, parchean el sistema y vuelven a tener bugs y más bugs, creo que si un policía pusiera multas a los desarrolladores por cada error de programación hubiése, Ubuntu tendría sumas multimillonarias... además de que no me gusta apt-get, ni aptitude, dpkg, tres cosas para hacer exactamente lo mismo o peor.


Debian, concretamente testing porque también andaba con bugs, de hecho una vez, lo instalé y a duras penas, porque no quería terminar de instalarse por ca-certifies-java, o un paquete así, que no era relevante para el sistema, y si decías que no querías instalarlo, te echaba a reiniciar sin distro...(?), pero nada, hice de las mías para poderla tenerla en la netbook que antes mencioné más arriba, luego, XD, un problema con el X.org, y no sé que carajos pasó con él que ni el ratón ni el teclado iban, después de andar viendo foros y tal, encontré la solución, pues no fue que a escasas horas, hay una actualización de X.org y se fue todo a la /dev/null, ya no pude usar más los instrumentos del ultraportátil, tiempo desperdiciado, y como dije arriba, no me gustaría topármelas con la familia de apt, aptitude, dpkg. XD La lástima, es que cuando Etch estaba como liberada, testing era 100% usable, ahora no...

OpenSUSE no por lo contratos que tiene Novell con Microsoft...

Slackware, bueno, ésta distro tiene tela, a pesar de ser la primera en sus inicios, aún continúa usando paquetes para ¡i486!, sí amigos, en los 80's, el creador de ésta, Patrick Volkerding no deja implementar un sistema de gestión de paquetes como Slapt-get, como tiene Zenwalk o Vector Linux basadas en Slackware, luego, todo es a lo vanilla, si bien no revisas su página de "Security Advisories" y si ésta está bien actualizada claro o la página no anda caída, recibes un "denial service" u otro error con GLIBC mismo, y te fuiste al "hoyo". Después, la propia página no dispone de un foro y anda la gente preguntando en LinuxQuestions... eso de depender de Slackbuilds para compilar, si viene mal... ya olvídate. No sé demasiado vieja, poco mantenida, muy, demasiado vanilla y no sirve, (al menos para mí).

Pasé de ello, y me dediqué a ver otras distros, hasta que probé Fuduntu. Es una distro que está basada en Fedora pero que aumenta la facilidad de uso sin olvidar la estabilidad y seguridad y la verdad que esta distro me sorprendió, es notablemente fluida, usa un GRUB estable (0.97) y no BETA, aunque GRUB" 2 está en su repositorio testing para usarse en la próxima versión liberada dado que otras distros ya lo usan, supongo que por temas de compatibilidad...


Buena noticia, no tiene integrado systemd del todo y chkconfig --all funciona OK, y lo mejor de todo es que según mantuve una pequeña charla con el fundador, no piensa implementar systemd a la distro, él pretende sanearla y suprimiendo los pequeños contenidos de systemd, y upstart, algo que me parece bastante bien y muy serio, como la distro está orientada a portátiles (aunque puede usarse para escritorio), tiene implementada una GUI entre otras cosas que te permite seleccionar el "governor" del kernel, así podemos ponerlo "on demand" si andamos con la batería o "Maximum performance" si andamos con la AC, lo más novedoso es que usa Gnome 2.32.0 y no GNOME 3, pura estabilidad y eficiencia junto con los efectos compiz (compiz nunca funcionó desde que tuve la PC en el 2010, tanto con Fedora, como con FreeBSD, o con otra distro), y a decir verdad, solo he visto un error desde que bootea hasta que mando a apagar el ordenador, es que las aplicaciones en Qt4, no se ven como corresponde el idioma, si no que se ven con "símbolos", lo curioso es que instalé Fuduntu en el PC de mi pareja y si le anda, pero nada más. A pesar de que la versión actual se base en Fedora 14, dado que es un fork, se mantienen los paquetes que se mantengan como GIMP, Firefox, Libreoffice...et, madurándolos y llegando a poder usar hasta las versiones actuales como GIMP 2.8.

Y bueno, ahí ando con Windows en una partición para juegos como no (dado que así lo fuerzan las compañías de juegos como EA, Ubisoft...), y Fuduntu en otra para trabajar, chatear, navegar...

Nota: 
  • Esto es mi opinión a lo que he experimentado, no afirmo que cosa X sea una afirmación general.

Fabian Affolter: Ansible

$
0
0

ansible is another player in the configuration management, deployment, and command execution framework eco system. Some advantages are: ansible is small, it has only a few dependencies, and it's written in python.

Installation

Fedora:

  1. yum -y install ansible

Alpine Linux:

  1. apk add ansible

Authentication
For authentication ansible uses ssh. For every system you want to manage, you need to have your SSH key in the ~/.ssh/authorized_keys of the target system.

  1. ssh-copy-id -i ~/.ssh/id_rsa.pub root@[IP of the target system]

Hosts
The file /etc/ansible/hosts needs an entry for every system in addition to the ssh key you want to maintain.

Usage
Now the setup is complete and we are ready for a first test.

  1. ansible * -m ping

The so-called Playbooks are using the YAML format and have a minimum of syntax. For managing systems this is the way to go.

Giulio Fidente: My attempts at MapReduce with MongoDB

$
0
0
This is some work in progress for Opinoid, it uses MongoDB.

I had a collection structured like this (

{
"_id" : ...,
"feed_oid" : "4fd268d2ab87b2d8927d7eee",
"title" : "blah blah",
"updated" : 1339702524,
"watchers" : [ "4fd276fc66224c1ee8000006" ]
}

such a collection is called 'articles'. Also, 'feed_oid' is an identifier I assign to every rss feed Opinoid is crawling. In the 'articles' collection I get a document for every article published by any rss feed. 'watchers' contains a list of identifiers assigned to the people voting on such an article.

I wanted to get out the number of times a particular watcher appeared in the list of articles and than group the results by the rss feed, so that I would ended up with the number of times a person voted on articles published from the same feed.

These are my map and reduce functions:

# m = function () {
emit(this.feed_oid, 1);
}

the map function is called for every object matching the query filter, so it gets access to 'this'.

# r = function (oids, vals) {
var sum = 0;
for (var v in vals) {
sum += vals[v];
}
return sum;
}

the reduce function receives an array of values (all set to 1, as per the map function) for every feed_oid emitted.

here is how I call the mapReduce (querying by the watcher id):

# res = db.articles.mapReduce(m, r, {
query: {watchers: "4fd276fc66224c1ee8000006"},
out: "mapreduceout"
});

and here the results:

# db.mapreduceout.find()
{ "_id" : "4fd268d2ab87b2d8927d7eea", "value" : 1 }
{ "_id" : "4fd268d2ab87b2d8927d7eee", "value" : 4 }

This guy voted 4 times the feed 4fd268d2ab87b2d8927d7eee and 1 4fd268d2ab87b2d8927d7eea too! Good to know :P

Zeeshan Ali: Adding information to libosinfo

$
0
0
Some weeks back, Marc-Andre told me that it will probably be helpful for potential contributors if I could write a blog post explaining how new information could be added to libosinfo (the library Boxes relies on for information on various operating systems and their installer medias) so here I'm doing just that. Currently there are two types of information you can add, devices and operating systems. Usually, it'll be the latter that you'd want to add (e.g your favorite OS just made a new awesome release and you want libosinfo to know about it) but for the sake of completion, I'll describe both.

Libosinfo keeps its information database in a bunch of XML files. Although theoretically there could be just one XML file but that would have to be really huge and therefore will be very hard to edit/maintain so we keep each OS distro and device class in its own XML file.

Libosinfo recursively traverses the following locations, assuming application let libosinfo load its own default DB (which at least Boxes does):
  • ${pkgdatadir}/libosinfo/db, where pkgdatadir typically is ${prefix}/share. This can be modified at runtime by setting OSINFO_DATA_DIR environment variable to whichever path you got the custom DB.
  • ${sysconfdir}/libosinfo/db, where sysconfdir typically is ${prefix}/etc or /etc.
  • ${HOME}/.config/libosinfo/db
So if you just want to quickly add some information to libosinfo, the easiest way is to put a file under ${HOME}/.config/libosinfo/db folder (you'll have to create it yourself) with any name but extension must be 'xml'.

The schema of these XML files is pretty straight-forward so just looking at the existing XML files under data/devices and data/oses in the libosinfo source tree will already tell you mostly everything you need to know about the schema.

    Adding a new device


    Before you do that, you'll need to gather following data about the device in question:
    • Type: Qemu or virtio. If its not the latter, its the former.
    • Bus type: usually USB or PCI.
    • class: video, audio, block, input, net, watchdog, filesystem and memory.balloon are currently recognised values.
    • vendor name and ID
    • device name and ID
    The last two you can find from http://www.linux-usb.org/usb.ids or http://pciids.sourceforge.net/v2.2/pci.ids, depending on which bus type device uses. Once you have all this information, you simply add an entry to either your custom XML file or the appropriate file under data/devices/ in libosinfo repository like this (I failed to find a way to embed raw XML here so I converted it into something XML should have looked like):

      (device id="http://pciids.sourceforge.net/v2.2/pci.ids/10ec/8029")
    (name)ne2k_pci(/name)
    (bus-type)pci(/bus-type)
    (class)net(/class)
    (vendor)Realtek Semiconductor Co., Ltd.(/vendor)
    (vendor-id)10ec(/vendor-id)
    (device)RTL-8029(AS)(/device)
    (device-id)8029(/device-id)
    (/device)

    the 'id' is created simply by combining the URL of the appropriate ID database (one of the URLs I mentioned above) with vendor and device IDs.

    Adding a new OS


    This one is better explained by showing you some real examples:

      (os id="http://fedoraproject.org/fedora/17")
    (short-id)fedora17(/short-id)
    (name)Fedora 17(/name)
    (version)17(/version)
    (vendor)Fedora Project(/vendor)
    (family)linux(/family)
    (distro)fedora(/distro)
    (codename)Beefy Miracle(/codename)
    (upgrades id="http://fedoraproject.org/fedora/16"/)
    (derives-from id="http://fedoraproject.org/fedora/16"/)
    (/os)

    The 'id' here could really be just anything you like but if you adding a new variant/version of an OS to an existing file of the appropriate family, its good to follow the conventions being followed in that file. Same goes for 'short-id'. The 'upgrades' and 'derives-from' are optional entries. While former is not really used much for anything useful yet, the latter is meant to avoid some duplication.

    The most common example of such duplication is list of devices supported out of the box by the OS in question. Notice that we didn't list any devices in the example above. The reason is not that Fedora 17 doesn't support any devices but rather that it inherits all device support from its parent and grand parents. To list devices supported by the OS, you add simple entries like this:

      (os id="http://fedoraproject.org/fedora/17")
    ..
    (devices)
    (device id="http://pciids.sourceforge.net/v2.2/pci.ids/1b36/0100"/) (!-- QXL --)
    (device id="http://pciids.sourceforge.net/v2.2/pci.ids/8086/2415"/) (!-- AC97 --)
    (/devices)
    (/os)

    Now in this case, 'id' elements must match an ID of either an existing device in libosinfo's default database or a device you have added in your custom database. If your OS supports the above list devices for example and you don't list them here (or under any parent OS), applications like Boxes might not add these devices to virtual machines they create and you'll end-up with very crappy graphics and no sound in your VMs created for the OS in question.

    Another important piece of information is resource requirements and recommendations. Its rather straight-forward as well:

      (os id="http://fedoraproject.org/fedora/17")
    ..
    (resources arch="all")
    (minimum)
    (n-cpus)1(/n-cpus)
    (ram)671088640(/ram)
    (storage)94371840(/storage)
    (/minimum)

    (recommended)
    (cpu)4000000000(/cpu)
    (ram)1207959552(/ram)
    (storage)9663676416(/storage)
    (/recommended)
    (/resources)
    (/os)

    'arch' attribute is usually just 'all', unless the OS in question has different requirements/recommendations for different architectures. The units for cpu, ram and storage are Hz and bytes respectively.

    One last piece of information you really would want to add is about the installation and live media. While in future we might use it even for things like presenting downloadable OSs in Boxes (and other apps), for now we use this information mainly to detect the OS (along with other properties) given a media (ISO, USB stick or CD-ROM). Here is how that looks like:

      (os id="http://fedoraproject.org/fedora/17")
    ..
    (media arch="x86_64")
    (url)http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/iso/Fedora-16-x86_64-DVD.iso(/url)
    (iso)
    (volume-id)Fedora 16 x86_64 (DVD|Disc)(/volume-id)
    (system-id)LINUX(/system-id)
    (/iso)
    (kernel)isolinux/vmlinuz(/kernel)
    (initrd)isolinux/initrd.img(/initrd)
    (/media)

    (media arch="i686" live="true")
    (url)http://download.fedoraproject.org/pub/fedora/linux/releases/16/Live/i686/Fedora-16-i686-Live-Desktop.iso(/url)
    (iso)
    (volume-id)Fedora-16-i686-Live(-KDE)?(/volume-id)
    (system-id)LINUX(/system-id)
    (/iso)
    (kernel)isolinux/vmlinuz0(/kernel)
    (initrd)isolinux/initrd0.img(/initrd)
    (/media)
    (/os)

    The 'live' attribute means (as you guessed it) a media that can be simply booted for user to try the OS without having to install it first. If the media in question does not provide an installer at all, you want to explicitly specify 'installer' attribute with value 'false'.

    The data under 'iso' element is what enables us to detect the media. You can get this information from a media using `isoinfo -d -i /path/to/iso/or/devicenode` command. I should make it clear at this point that values of 'volume-id' and 'system-id' nodes are not exact copies of the actual volume and system IDs but rather a regular expression.

    If you are adding this information to libosinfo's default database and hope to contribute this upstream, we'd very much like you to add this information also to our tests (you don't want us to break support for your favourite OS at some point, do you?). Its very easy, you just put the output of the isoinfo command I mentioned to a file named $FILENAME_OF_YOUR_ISO.txt under test/isodata/$DISTRO/$SHORT_ID_OF_OS/ in the source directory.

    As you probably guessed it, the 'kernel' and 'initrd' are completely optional and you only need to specify it for Linux-based operating systems. If you are adding information about a proprietary OS, we probably also need to skip the 'url' element.

    Thats it! Happy hacking!

    Luya Tshimbalanga: Drawing hair with Inkscape

    $
    0
    0
    <style type="text/css"> </style>
    My very first online tutorial is an adaption from Chris Design Drawing Hairs article using both Path and Path Editor tools which requires Inkscape 0.47 or newer. Start-up Inkscape application which should open a new blank page and set the document into landscape.

     Create a path

    • Select the bezier tool or press either Shift+F6 or B on the keyboard.
    • Draw a line to approximately 800px or more. You can also use rectangle tool (R or F4 as shortcut key) as a thin line illustrated in grey.
    • While the line is selected, convert into path from the menu Path -> Stroke to Path or press Ctrl+Alt+C on the keyboard. For the rectangle, Path -> Object to Path or Ctrl+Shift+C. The result will show grey diamonds on each corner.



    Create a pattern

    • On the menu, Extensions -> Modify Paths -> Add Nodes. Set the Max Segments Length to 5px.

    • On the menu Extension -> Modify Paths -> Jitter Nodes. Leave the default settings and apply effects.

    • You will have about thousands nodes which can be reduced with simplication (Path -> Simplify or Ctrl+L)
    • Resize the new generated patterns to about 20px width and 200px height, copy one of them with Ctrl+C or Edit -> Copy.


    Setting a path effect

    • Create a new curve using bezier tool mentioned above and select it (bow anr S curve below).

    • We will use a path effect editor which can be accessed thought either Path -> Path Effect Tools or Shift+Ctrl+7. This editor should appear docked on the right side of Inkscape application.

    • With either a bow or S curve selected, apply new effect by choosing “Pattern along path” inside the list field and press Add. Pattern along Path should be listed inside Effect List.
    • Inside Current Effect field, you can either paste your created path or link to path which give finer control of the pattern we created earlier.
    •  Notice the path is horizontally stretched  giving a strange result illustrated above. To fix the issue, check "Pattern is vertical" inside Current Effect field.

    • Now we got a mesh that looks like hairs. To finalize, we applied the same effect on the S curve. If you have linked the pattern, you can adjust its width.


    •  With more practice, you can create a nice hairstyle with a combination of clipping.

     Happy drawing and leave feedback about mistake or other stuffs. A big thank you Máirín Duffy (Mizmo) for encouraging me to write this tutorial.



    Garrett Holmstrom: Speed Up Merges with Git’s Index

    $
    0
    0

    We’ve all been there, running git merge only to have it spew CONFLICT all over the place and quit partway through. But if we already know that every time there is a conflict then all of “our” code that we are merging changes into should take precedence over “their” changes that we are pulling in, git 1.7.3 provides a handy shortcut for that:

    % git merge -X ours theirbranch
    

    If “their” changes that we are pulling in should always take precedence instead then things are equally easy:

    % git merge -X theirs theirbranch
    

    If “ours” or “theirs” style merges will work, but only for certain files, things get a bit more complicated. But with a bit of background knowledge of how git’s index works we can save ourselves a bunch of work.

    The index stores what stage a file is in. Normally, a file’s stage is 0.

    % git ls-files -s myfile
    100644 4b48deed3a433909bfd6b6ab3d4b91348b6af464 0       myfile
    

    A file with a merge conflict is different because the index actually has three different versions of it: the version that the two branches we are merging most recently had in common, the version on “our” side of the merge, and the version on “their” side of the merge. In git these correspond to stages 1, 2, and 3. This is one reason one has to run git add on every conflicting file before completing a merge.

    % git ls-files -s myfile
    100644 4b48deed3a433909bfd6b6ab3d4b91348b6af464 1       myfile
    100644 5be4a414b32cf4204f889469942986d3d783da84 2       myfile
    100644 39c5733494077ae8bc45c45c15a708ffe9871966 3       myfile
    

    Rather than opening up the conflicting file and clearing out the parts that clash by hand, we can instead simply copy the version we want from the index into our working tree:

    % git checkout-index -f --stage 3 myfile
    % git add myfile
    % git commit
    


    Matthew Garrett: No, really, secure boot does add security

    $
    0
    0
    Carla Schroder wrote a piece for linux.com on secure boot, which gives a reasonable overview of the technology and some of the concerns. It unfortunately then encourages everyone to ignore those legitimate concerns by making the trivially false claim that secure boot is just security theatre.

    Security isn't some magic binary state where you're either secure or insecure and you can know which. Right now I'd consider my web server secure. If someone finds an exploitable bug in Apache then that would obviously no longer be the case. I could make it more secure by ensuring that Apache runs in a sufficiently isolated chroot that there's no easy mechanism for anyone to break out, which would be fine up until there's also a kernel exploit that allows someone to escalate their privileges enough to change their process root. So it's entirely possible that someone could right now be breaking into my system through bugs I don't even know exist. Am I secure? I don't know. Does that mean I should just disable all security functionality and have an open root shell bound to a well known port? No. Obviously.

    Secure boot depends on the correctness of the implementation and the security of the signing key. If the implementation is flawed or if control of the signing key is lost then it stops providing security, and understanding that is important in order to decide how much trust you place in the technology. But much the same is true of any security technique. Kernel flaws make it possible for an unprivileged user to run with arbitrary privileges. Is user/admin separation security theatre? SSL certificate authorities have leaked keys. Is it security theatre for your bank to insist that you use SSL when logging in?

    Secure boot doesn't instantly turn an insecure system into a secure one. It's one more technology that makes it more difficult for attackers to take control of your system. It will be broken and it will be fixed, just like almost any other security. If it's security theatre, so is your doorlock.

    Why is this important? Because if you tell anyone that understands the technology that secure boot adds no security, they'll just assume that you're equally uninformed about everything else you're saying. It's a perfect excuse for them to just ignore discussion of market restrictions and user freedoms. We don't get anywhere by arguing against reality. Facts are important.

    comment count unavailable comments

    Alvaro Castillo: Fuduntu en USB

    $
    0
    0
    Las imágenes .iso que nos facilita el equipo de Fuduntu pesan menos de 1GB y son prácticamente LiveDVD, listos para ser quemados/grabados y que arranquen directamente. Sin embargo, si preferimos usar un USB bien para ahorrar en DVDs, o porque queremos que vaya más fluido, si tenemos un Linux ya instalado, o desde otro LiveDVD/CD mismo, podemos generar un LiveUSB con tan solo ejecutar el siguiente comando como superusuario:
    # dd if=/carpeta_donde_está_la_iso/Fuduntu*.iso of=/dev/sdX bs=10240 conv=sync
    En sdX, es la letra de la unidad USB, por ejemplo, si tengo un solo disco duro llamado sda, y conecto el USB, mi dispositivo se llamará sdb.

    Cambiamos el parámetro de arranque por USB y listo.

    Notas:
    • En ciertas placas ASUS, es necesario cambiar el sector de arranque del disco duro también, porque es como si no lo reconociése.
    • También podemos hacer uso de unetbootin si tenemos Windows, o nos queremos complicar usando una GUI.

    Alvaro Castillo: Man pages en español, Fuduntu.

    $
    0
    0
    Seleccionamos desde el GDM el idioma que queremos usar, en éste caso el español y continuamos. Posteriormente, instalamos los man pages en español.
    $ su -c "yum install man-pages-es man-pages-es-extra"
    Verificamos que tenemos el idioma en español además de la codificación en es_ES.UTF-8
    netSys@south0 ~ $ locale

    LANG=es_ES.utf8
    LC_CTYPE="es_ES.utf8"
    LC_NUMERIC="es_ES.utf8"
    LC_TIME="es_ES.utf8"
    LC_COLLATE="es_ES.utf8"
    LC_MONETARY="es_ES.utf8"
    LC_MESSAGES="es_ES.utf8"
    LC_PAPER="es_ES.utf8"
    LC_NAME="es_ES.utf8"
    LC_ADDRESS="es_ES.utf8"
    LC_TELEPHONE="es_ES.utf8"
    LC_MEASUREMENT="es_ES.utf8"
    LC_IDENTIFICATION="es_ES.utf8"
    LC_ALL=
    Perfecto, todo listo.

    Alvaro Castillo: Drivers NVIDIA en Fuduntu

    $
    0
    0
    Basta con instalar el paquete kmod-nvidia que a su vez instalará las dependencias del módulo como el driver para X.org, libvdpau...et
    $ su -c "yum upgrade"

    $ su -c "yum install kmod-nvidia"
    Editamos el fichero de configuración del GRUB 0.97 con nuestro editor favorito, recordemos que para ejecutar aplicaciones como root gtk, usaremos el programa beesu.
    $ beesu gedit /boot/grub/grub.conf
    Añadimos lo siguiente en la línea final del kernel:
    nouveau.modeset=0
    Quedaría así:
    kernel /*** ro root=UUID=** rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=es_ES.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=dvorak rhgb quiet nouveau.modeset=0
    Reiniciamos y listo. 
    Viewing all 29302 articles
    Browse latest View live




    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>