With the help of a couple of friends, we ve put a 4.5T RAID-5 machine on our network and I m trying to figure out how to share the storage with the rest of the hosts. In the past, I have used NFS and CIFS/Samba to provide access to remote hosts. This has generally worked okay so long as the server stays online.
I don t know if the results are going to be much different, but I am now trying a different approach. I plan to run an iSCSI server, and I ve already configured AoE (ATA over Ethernet). I ve exported a block device on the network segment and mounted it on a remote host. This was pretty easy to configure. There is a bit of documentation on the internet already, but I ll give another quick overview.
I gave the storage server the unoriginal name san0 . This host is running debian lenny. I am testing the configuration from my debian sid development host, which has the similarly unoriginal name dev0 . So, think server when you see san0 and client when you see dev0 .
I assume that you ve already got an LVM volume group set up. Mine is called vg0 . Correct the following examples to account for any differences. You can use disk partitions instead of LVM logical volumes.
cjac@san0:~$ sudo lvcreate /dev/vg0 -n e0.1 -L 5G
Load the AoE kernel module:
cjac@san0:~$ sudo modprobe aoe
Install the package containing the vblade block device export server:
cjac@san0:~$ sudo apt-get install vblade
Export the block device. Note that the ethernet bridge on which I export the device is called loc :
cjac@san0:~$ sudo vbladed 0 1 loc /dev/vg0/e0.1
Install the AoE discovery tools on the client:
cjac@dev0:~$ sudo apt-get install aoetools
Load the AoE kernel module:
cjac@dev0:~$ sudo modprobe aoe
Probe for exported AoE devices:
cjac@dev0:~$ sudo aoe-discover
Verify that our exported device was discovered:
cjac@dev0:~$ test -e /dev/etherd/e0.1 && echo "yep"
yep
Yes, aptitude can list packages by priority, but what I wanted was a simple list of just package names. I've got two ways of getting a bare list:$ aptitude search '~prequired' sed -ne 's/^i [ A] \([^ ]*\).*$/\1/p' tr '\n' ' ' sort -u fold -s ; echo#!/bin/sh
# Licence: GPL-3+
FILE= find /var/lib/apt/lists/ -name '*unstable*Packages'
LIST= grep-dctrl -n -s Priority '' $FILE sort -u
for P in $LIST; do
[ "optional" != "$P" -a "extra" != "$P" ] continue
echo "Priority: $P"
grep-dctrl -n -s Package,Priority "$P" $FILE sed -ne '/^'$P'$/!h;/^'$P'$/ g;p ' tr '\n' ' ' fold -s
echo
done
Since about a week, I have a Nokia N900. They're not actually on sale
in Belgium yet, but I managed to get hold of one through a grey market
shop.
The device is quite nice. I do have a few irks with the interface
here and there, but Nokia has a public bugzilla that I'll surely use to
file bugs whenever and wherever appropriate. And after using it for
about a week, I thought of migrating this small application which I once
wrote on half an afternoon using perl, postgres, and Gtk2, to the
device. It's mainly a cataloguing system that I store my DVD collection
in (which has gotten large enough that this is necessary), nothing
earthshattering. The ideal candidate to get my feet wet in developing
for the N900, so to speak.
That effort got stopped dead in its tracks pretty quickly.
Nokia-N900-42-11:~# perl use Gtk2; Can't locate Gtk2.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.3 /usr/local/share/perl/5.8.3 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at - line 1. BEGIN failed--compilation aborted at - line 1. Nokia-N900-42-11:~# apt-cache search perl perl - Larry Wall's Practical Extraction and Report Language. libpcrecpp0 - Perl 5 Compatible Regular Expression Library - C++ runtime files po4a - tools for helping translation of documentation libpcre3 - Perl 5 Compatible Regular Expression Library - runtime files libgdbm3 - GNU dbm database routines (runtime version) perl-base - The Pathologically Eclectic Rubbish Lister. liblocale-gettext-perl - Using libc functions for internationalization in PerlOr, in other words: they only ship the perl bits needed to make dpkg run. Hrmpf. This would make stuff slightly more... involved. Oh well.
Enigma is a great game, with a unique
mixture of puzzles with mouse skills and action. If you know the discontinued
game Oxyd originally on the
Atari ST in the 90s (also on Amiga and one version on DOS), then you know the
principle of Enigma. Except that it has tons of more levels and is Open Source.Some weeks ago, I uploaded a 1.10 pre-release (approximately milestone 5) to
Debian experimental. This is the soon-to-be-released new version, using a new
level file format (with a much extended API to make level development even
easier, ~50% less code per level now), new levels (of course), updated
graphics (including support for new graphics modes), ...Unstable still contains version 1.01; the reason is simple that I knew there
would be another 1.01 maintainance release coming. However I believe it
doesn't offer much against the current unstable version; it largely marks
an upstream release containing patches already in the Debian package (since
communication with upstream is really good).So I have now two choices: refreshing the Debian unstable package to the
"probably last" 1.01 release upstream, or going straight for the 1.10
milestones to give enigma some extra testing.
According to the man page, there are three ways to exclude files from being tracked by git.The above ignore list will prevent automatically generated HTML files from being committed by mistake to the repository. Because this is useful to all developers on the project, .gitignore is a good place for this.*.generated.html
/config.php
/app/config.php
/plugins/address/config.php
/module/config.php
(you need to put the absolute path to your home directory, ~/ will not work here unless you use git 1.6.6 or later)[core]
excludesfile = /home/username/.gitexcludes
This is the ideal place to put anything that is generated by your development tools and that doesn't need to appear in your project repositories.*~
2.50 alpha 0, just uploaded to experimental
(hopefully) given python 3.1 is only available there.
Potential users really want to read the NEWS file.
One can also check the upstream
release logs.
For those wondering about the version number, it had to be >= 2.49,
and upstream doesn t seem to be sure about the versioning, since it
can be 2.5 on the website, 2.50 as SVN tag, etc. I m not going to
introduce an epoch right now. ;)
It certainly has some rough edges, but testing and reporting are more
than welcome.
Q. What testing is required? Prior to mass producing or distributing any Licensed Product or component that claims compliance with the HDMI Specification (or allowing someone else to do such activities), each Adopter must test a representative sample for HDMI compliance. First, the Adopter must self test as specified in the then-current HDMI Compliance Test Specification. The HDMI Compliance Test Specification provides a suite of testing procedures, and establishes certain minimum requirements specifying how each HDMI Adopter should test Licensed Products for conformance to the HDMI Specification.Now, I can understand that if you buy any old HDMI cable off Ebay for $1, it may be a knock-off that uses the HDMI logo illegally. But there is no way that the certified $50 Philips cable (still very over-priced, but at least not insane, and discounted to $35) performs any differently to some overpriced Monster model certified to exactly the same standard. The thing that annoyed me most was his analogy to buying a tyre. He stated that "if you walked up to a tyre salesman and I said don't want the Pirelli's, just put the cheap-o tires on my Ferrari" I'd be insane, and thus by extension of that logic I was insane for not buying a Monster cable for my great new Tivo. This analogy is completely flawed and really just dishonest. A Ferrari is much more powerful and goes much faster than a standard car. It is plausible it needs a better engineered tyre to perform adequately given the additional stresses it undergoes. A Tivo doesn't put out any more or any less bits than any other HDMI certified equipment, no matter what you do. If the cable is certified as getting all the bits to the other end under whatever environmental conditions specified by the HDMI people, then it's going to work for the 99% of people with normal requirements. Nobody wants to make a significant investment in a piece of audio-visual equipment and feel they are getting something that isn't optimal. Harvey Norman's use of this understandable consumer sentiment to sell ridiculously over-priced cables that do nothing is extremely disappointing. I'm sure the commissions on these things encourage this behaviour, so it is useless expecting the retailer or individual sales assistant to change their policy to reccommend reasonably priced cables. However, it is really Tivo and other manufactuers who get the raw end of this deal; a $130 cable is over 20% of the price the actual Tivo! That is surely affecting people's purchasing decisions. If Tivo and others included a certified HDMI cable with their device, as they do with component cables, and had "Certified HDMI 1.3 cable included" plastered on the box, it would be a harder sell to explain why the manufactuer would bother shipping a certified cable that is supposedly insufficient, and consumers would hopefully avoid the very distasteful high-pressure theatrics I was subjected to today.
Ten years ago, on December 21st, 1999, Thomas Lange announced the release of version 1.0 of FAI (Fully Automatic Installation).
FAI is a non-interactive system to install, customize and manage Linux systems and software configurations on computers as well as virtual machines and chroot environments, from small networks to large infrastructures and clusters.
It is a tool for mass unattended Linux installation. You can take one or more virgin systems, turn on the power, and after a few minutes, the systems are installed, and completely configured to your exact needs, without any interaction necessary.
The tool was developed at the University of Cologne, because the author was too lazy to install Debian on 16 hosts manually.FAI now also supports the installation of Ubuntu and RPM-based Linux distributions. It is used worldwide in very different environments; even installations on two zSeries z10 mainframes are reported.
A detailed report in German about the 10 years of the FAI project can be found at http://www.informatik.uni-koeln.de/fai/otherdocs/10jahre.html.
Thomas Lange
I am moving from my old Debian development system to a new one, changing architectures from i386 to amd64. So I need to do a fresh install, but basically I want to keep my package selection.
Conventional wisdom is to use dpkg --get-selections and dpkg --set-selections to preserve the package selection. However, this does not keep the information about automatically installed packages.
Instead, I used
aptitude search '?installed?not(?automatic)' -F %p > packages.txtto dump the packages I installed manually. Installing these was a matter of running:
aptitude install cat packages.txtIn fact this was taking so long that I loaded the packages in batches using
cat packages.txt xargs -n 100 aptitude install --schedule-only; aptitudeWhile I was at it, it ran
aptitude remove '?obsolete'on the original system, killing of a few hundred packages that accumulated since 2003.
There is a bit of a fluff online currently about the following clause
in the "jsmin" code (whatever that is):
The software shall be used for good, not evilThis seems to have started when Google rejected a project based on that code due to its license being not free or open source according to their standards, and therefore not welcome anymore. The arguments then quickly degenerated into things like 'when did google stop being against evil'. But those are all besides the point. One of the most important properties of free and open source software is that anyone can use it for any purpose; there are no restrictions to using them. The DFSG (and hence, the OSD which was derived from the DFSG) encode this as follows:
No Discrimination Against Fields of EndeavorYou may think "how is 'evil' a field of endeavor", but that is the wrong question. To "use software for evil" can mean any of a number of things, including "nuclear research", "weapons development", "abortion", or, heck "the cash register in a butchery shop", depending on the ethical and moral framework through which the person writing the license sees the world. The ability to give someone a CD or DVD with a bunch of software on there, being able to tell them that they can just use this in any which way they see fit, is a very strong and important feature of the free and open source community. Every time someone comes up with a clause like the above, however, this ability is diluted somewhat; and if it is readily accepted within the greater free and open source movement, then eventually everyone interested in using a piece of software must first check whether they're not trying to use software that forbids someone's pet evil, and we lose one of the greatest strenghts that does exist for free software, but not for proprietary software. The sad thing is, the jsmin author seems to agree. From a video/transcript on which he talks about his absurd license clause is the following quote:
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Also about once a year, I get a letter from a lawyer, every year a different lawyer, at a company I don't want to embarrass the company by saying their name, so I'll just say their initials IBMOr, in other words, all you have to do if you want to use this software for evil is set up a second company, tell Douglas that this second company wants to sell software that uses his software to people who might use it for "evil", even though the first company won't, and you're in business. Because Douglas doesn't really oppose evildoers. So the question is, why is that clause in there in the first place? There are only two possibilities; either Douglas didn't really think about those issues, in which case I hope he will one day see the light and remove the clause; or he did, and decided to go ahead and put that clause there anyway. And that would be evil.
[laughter]
saying that they want to use something I wrote. Because I put this on everything I write, now. They want to use something that I wrote in something that they wrote, and they were pretty sure they weren't going to use it for evil, but they couldn't say for sure about their customers. So could I give them a special license for that? Of course. So I wrote back this happened literally two weeks ago "I give permission for IBM, its customers, partners, and minions, to use JSLint for evil."
I haven t read of it, and it seems it has been around since a good time. Collecta is a search engine for things in real-time. It searchs on Twitter, Identi.ca, Youtube, Flickr, Blogs, Ustream and shows you what people is saying.
It s like a meta-searcher, I guess using API s from those services. But it has it s own API so it will be great for someone that s into web2.x and wants information on real-time from everywhere with just one API. There s a lot of people doing this already and there s a gallery about their development.
Maybe tomorrow I will get a little into it, it looks really nice.
BTW, it s what powers search.identi.ca
Tutorials at the Garching Debian Stammtisch
Munich traditionally used to have a lot of Debian
Developers, but over the last couple of years quite a few of
us who used to be students graduated and moved elsewhere
or became very busy with their day jobs. We still meet for
having a beer and a chat, but not as much as some years ago.
We used to meet about once a month, but in 2009 we only
managed to meet four
times (however, we organized a Bug Squashing
Party in November and had a special meeting as Lenny
Release Party in February)
As the meetings are really rather informal and not
necessarily very Debian related, it is difficult to attract
new people this way. So Johannes Wiedersich and I decided
to try a more hands-on approach by having a second meeting
in Garching, in the student-run bar on
the campus
of the Technische
Universit t
M nchen (TUM). The idea was
to get more of the local science, mathematics and computer
science students (as well as possibly interested faculty
members) involved.
We tried a first time about a year ago, but after two or
three meeting in late 2008 and early 2009, we lost momentum.
However, we began organizing the meetings again with the
start of the winter term, and had two rather successful
meetings so far. For the first meeting, we basically handed
out some information on how to get involved locally (the
Debian-Munich list, its subscription
address, the wiki
etc.) and discussed Debian in general and Debconf11
in Munich in particular. About half a dozen people
showed up, and two of these attended the Bug Squashing Party
later that month, and another one (a faculty member) got
very active in Debconf11 organization. Thus, I was quite
happy with the outcame of that meeting.
Some days ago, we had another meeting, and this time I was
doing a live-tutorial on Debian package building. As
Johannes was ill, we did not manage to announce or publicize
the meeting well in advance, so only three people showed up.
Still, I think it went rather OK, and we will be doing
another Debian package-building tutorial for the next
meeting, and possibly other turorials/workshops afterwards
(ideas so far include library maintenance, Debconf, how the
Debian community is organized and how to get involved in
it). As doing a live-tutorial on one notebook is a bit
difficult if you both have to type on it and people should
see what happens, we will either use some extra hardware
next time, or move to some nearby seminar room with a
projector, this will be announced in advance.
So if you are on Garching campus or nearby and interested in
Debian development (and Debian package-building in
particular), come to the next meeting on January
13th! We
decided to meet on the second Wednesday of each month, at
18h. Subscribe
to the Debian-Munich list to get the invitation or watch out
for the flyers on the campus.
As distributors we should not discourage upstreams that wish to generate binary packages themselves, rather we should cooperate with them, and ideally they will end up maintaining their stable release packages in our distributions.-- Robert Collins I agree. Robert goes on to talk about the tendancy Debian (and apparently also Ubuntu) have to dislike upstream providing a
debian directory.
Funny thing is that we also like to say team maintenance is a good idea. An
upstream who is doing packaging work is a readymade half of a team; if you
write them telling them to rm -rf debian, you are turning away a team
member. With a slap in the face. Worse, it's a team member who has
demonstrated that they are capable of working in far more complex systems
than a debian directory, since they wrote/maintain the software itself.
BTW, for those who are skeptical of teams, on the basis that they dilute
responsibility: A team consisting of an upstream developer and a
distribution maintainer is inherently the more healthy sort of team, where
each member has a well-defined area of expertise, but can also venture
outside their area when needed.
When I packaged FBReader for Debian, upstream already had their own
packaging, and I worked with them to fix problems with it and make it
something I could be happy maintaining. This was sometimes tricky, since
upstream was also maintaining packages for maemo. Sometimes the tools
were not ideal. It was still worth it.
On the other side of the coin, d-i is an upstream for several
distributions. If they told us we needed to rm -rf debian, we'd not have
a lot of d-i left.
tools
I also agree with Robert that most of the trouble comes down to problems
with tools. BTW, RPM does not have these problems, and in that world it's
typical for upstream to provide a spec file.
Much of the problem comes down to the crummyness of dpkg's source format,
which cannot rename files, delete files, etc. That the source format
directs us to 1970's source management (ie, tarballs and patches), instead of
21st century source management (ie, DVCS), doesn't help either.
dpkg's 3.0 quilt source format tries to address the issue by removing any
debian directory in upstream's tarball. I am not sure that this is at all
the right approach; it makes it harder, not easier to work with upstream as
a team.
A better approach might be to consider anything that hardcodes the debian
directory as having a bug. If upstream can easily package debs using a deb,
or maemo, or ubuntu directory, you sidestep any potential conflict while
still being able to work with them via a symlink.
To put my time where my mouth is: Anytime debhelper prevents working
with an upstream who wants to ship a debian directory; that is a bug. I
will fix them. (Note that debhelper already provides a --ignore that can
be used if upstream has provided a dehelper control file that you can't
delete and don't want used.)
Previously: Look who's packaging
[...] the internal branch has seen a lot of new code[...]. Most of the code will need to be reworked before it will be published, but I hope to have this completed until Christmas.as a proof for this. But in the context of this paragraph, publish was not meant in the term of publishing a release, but in the term of publishing the code (of the internal branch) in the public repository. The code is public now and lives in a temp branch and will be reworked there for inclusion in the master branch. Secondly, those news sites called me an Ubuntu developer. While I do contribute to Ubuntu, and am an Ubuntu Member, I am NOT an Ubuntu Developer, as I am NOT a member of the relevant ubuntu-dev team at launchpad. Thirdly, those who stated that speed is a goal (mostly pro-linux, at least from my understanding): It is not, at least not now. It is just a coincidence caused by using a relational database. Furthermore, the test was not really fair, since the other package managers both provide more information than capt; information which has yet to be made accessible in APT2. It was just an initial conclusion that SQLite is quite fast. Please note that APT2 is a free time project in development, and the programming language used is still in development as well; as well as some other reverse dependencies. I should also state that neither Debian nor Ubuntu have any plans to drop apt at the moment; and APT is still actively developed. Posted in APT2

gfcombinefs is a side project I did some work on a few weeks ago. It
combines several "shares" of a secret file previously split using Shamir
secret sharing, to produce the original secret, and presents it as a file in
a FUSE filesystem. It uses libgfshare for the actual mathematics, and
expects its input to have been split with the gfsplit tool shipped with
libgfshare.
At this stage of development, I suggest not trusting it with important data,
like the GnuPG secret keyrings it's designed for. However, I hope that with
some feedback from others I can get it into a state where it's ready to
be released and packaged (perhaps I'm being unnecessarily conservative, but
for something that deals with GnuPG keys, it seems wise to be careful).
Source code is available in a git repository, and I'd welcome contributions,
bug reports (other than the limitations that are already listed in the
documentation) and in particular, a systematic code audit from someone (the
good news is that there isn't very much code, so that shouldn't actually
take long).
Next.