Arch vs. debian sid?

Hey y'all,
I've been using arch for a while now...but debian sid always seemed like a decent idea due to the large software repositories available for debian. Considering the minimal, net install version: what are your opinions?

sand_man wrote:
mutlu_inek wrote:
The only advantage is see in Debian is that it offers debug packages. I hate not having them in Arch.
Other than that, I cannot imagine a better distribution.
But with ABS you can create your own debug packages if you really needed to.
I do admit that the option of quickly downloadable binary packages of debug symbols is very nice.
I'm trying out Debian Squeeze on my laptop. I'll probably go back to Arch on it, for one main reason: It's MUCH easier to create a custom package, or a more up-to-date version of it in Arch (when it's not already there, thanks to the massive AUR). If I really want a new version of a package, and for some odd reason Arch doesn't have it, I can grab the PKGBUILD, edit the pkgver and md5sums, and usually, I'm done. On Debian... well, if there is anything like that, let me know please. I haven't used Checkinstall yet, I admit that too, but I'd be worried about using a package generator for Arch, let alone a much more heavily patched and such distro like Debian. Checkinstall is basically just a fakeroot-style wrapper around make install, right? While the Debian repos are expansive, they do miss edge cases more than you might think (Avidemux is missing! There is an unofficial repo for it though). Also gone is the ability to grab development (git, svn, cvs) snapshots of packages without much hacking, whereas on Arch there's a ton of devel PKGBUILDs in the AUR, and worst case it's fairly simple to make your own.
Really, PKGBUILDs have spoiled me... the only distro/OS even close to Arch's bleeding-edge updates and wide coverage is FreeBSD, which at least has a visible way of rebuilding packages and modifying the build files. Slackware, maybe (a little over-manual, but still nice), and Gentoo's ebuilds are quite complex, but I'm getting off topic.
I recommend that people who are considering Debian try it, like I have. Just be sure that all your odd software works fine. If not, welcome back to the land of ./configure and make, just with Checkinstall thrown in.
In the interests of NOT starting a flame war, the above is my own personal complaints about Debian. I think Debian is a very solid distro, and I'm glad Debian exists. I just like to state my opinion. All the above sounds decidedly negative, which isn't the impression I meant to give -- again, I think Debian's nice for a lot of uses and applaud their work.

Similar Messages

  • Debian Sid and Arch

    Is it fair to compare Debian Sid and Arch, as they bother rolling releases?
    If so, how come is Arch so much more stable than Debian Sid. seen as Arch has a handful of developers VS Debian with a over a thousand?
    Or is that the answer itself?

    From Wikipedia:
    Software packages in development are either uploaded to the project branch named unstable, also known as sid, or the experimental branch. Software packages uploaded to unstable are normally versions stable enough to be released by the original upstream developer, but with the added Debian-specific packaging and other modifications introduced by Debian developers. These additions may be new and untested. Software not ready yet for the unstable branch is typically placed in the experimental branch.
    So unless its in experimental repo, it is in unstable and if one wanted to use Debian nearer the edge then SID would be the way esp when Sarge was out for a few years and no Etch was in sight.
    Yet Sid is very unstable from my few times I played with it
    The main thing for me is Arch stays pretty up to date with such a few developers yet Debian cant with so many, just seems odd.
    Then one needs to use Ubuntu that tries to tame Debian every 6 months, just odd that Debian could not do what Arch does with so few DEV's?
    I think I may be missing the bigger picture of debian?
    Last edited by habtool (2007-10-25 11:07:42)

  • Error installing Acrobat Reader in Debian SID

    Hello,
    The postinst script of the .deb package for Acroread 9.1 in my Debian SID gives the following error:
    $ LC_ALL=C sudo dpkg -a --configure
    Setting up adobereader-enu (9.1.0) ...
    dpkg: error processing adobereader-enu (--configure):
    subprocess post-installation script returned error exit status 1
    Errors were encountered while processing:
    adobereader-enu
    However, acroread was installed and is working fine.
    The error message don't gives any clue to fix the problem. Any ideas?

    Hi,
    Thanks for reporting this.
    We've been trying to reproduce the problem but have been unsuccessful so far.
    Could you please do the following:
    1. Edit the /var/lib/dpkg/info/adobereader-enu.postinst file and put a 'set -x' before the Which () function.
    2. Now run the "LC_ALL=C sudo dpkg -a --configure >output.log 2>&1".
    This will generate a file named output.log. Please email the contents of that file to varunk at adobe dot com.
    Thanks again,
    -Varun

  • Linking error, Oracle 9.2.0.1 debian sid

    Hi
    During installation of Oracle 9.2.0.1 on debian sid I get the following error:
    Error in invoking target ioracle of makefile /opt/oracle/product/9.2.0/rdbms/lib/ins_rdbms.mk
    The make.log file reveals the following error:
    /usr/bin/ld: /opt/oracle/product/9.2.0/rdbms/lib/oracle: hidden symbol `__fixunssfdi' in usr/lib/gcc-lib/i386-linux/3.2.3/libgcc.a(_fixunssfdi.oS) is referenced by DSO
    collect2: ld returned 1 exit status
    make: *** [opt/oracle/product/9.2.0/rdbms/lib/oracle] Error 1
    Do I need to modify the makefile or is it a glibc problem?
    I've searched around for a solution to no avail. Any help is appreciated!
    Regards
    Lars Kristensen

    Hi,
    Oracle required gcc295 for Linux Oracle to link correctly. We put the gcc295 at /opt/gcc295 and the put it first in the path for the Oracle userid. This work very well. Also there was a note the said to look in the files (gen/make files) and change any hard coded reference to a specific gcc location to just gcc. I looked and did not find any hard coded specific gcc. Hope this helps

  • Cpio -i initrd.img killed arch (and debian)

    This afternoon i decided to try and (primatively) hack the arch linux installer initrd.img file from the Arch Linux 2007.08.1 install CD.  I tried to extract the contents of the file (following these instructions :http://www.ducea.com/2006/06/24/inspect … itrd-file/) by first putting a .gz extension on it, extracting it with gunzip and then extratcing the produced file with cpio.  This did not work (was outputting messages like "File no written: same or newer version on file system").  So then i did the stupidest thing in the world, Twice.  I ran that same command (cpio -i < initrd.img --make-directories) as root on arch linux and then on debian (casue it still would not work).  What has resulted is i think that desite the fact that i had cd'd to a different folder, the cpio command with root powers has tried to extract everything in the initrd.img file into the root of my filesystem.  Bad.
    Now when I reboot, the bootup scripts cannot load modules (ie modprobe fails saying it cannot find modules).  GDM will not load.  Pretty Much everything is broken (i am writing this post from a live CD).  Interesting over things: I recall something (xserver i think) complaining that it could not write to the /tmp folder.  Also i now get the same message that displays when you load up the install cd when i boot into arch on my hdd (says stuff like to install arch type arch/install....and press enter to enter the bash shell...)
    To try and fix the problem, I tried doing the same thing with the file kernel26.img from the /boot folder on arch linux in the same way that i extracted the initrd.img file from the install cd, but to no avail. 
    As i said earlier i think that the cpio command only wrote extra files into my filesystem (ie all the ones that existed in  the initrd.img archive from the arch linux install cd that were not already on my filesystem) Becasue it was outputting messages like "File not written: same or newer file on filesystem" i don't think i overwrote any already existing files. 
    Any Ideas as to how i might get stuff the way it was before?
    Last edited by stevesutt89 (2008-02-28 13:59:53)

    Woah.... if you unpacked the INSTALLER image, you have a lot of shit on your disk now that... well, that's borked. I don't know all of the cruft that is crammed into the install ISO, but it even has things like 'naim' on it....
    If you want your system to boot, I'd recommend booting a live cd, chrooting into your drive, then running "pacman -Sy mkinitcpio kernel26" to at least get a bootable kernel... however, I'd seriously recommend reinstalling...

  • Ctl+C/ctl+V not working on FF 30 (Linux Debian SID, KDE)

    Since an upgrade to Firefox 30 copy (ctl+v) is not working. The "Linux-Way" (marking with left mouse button, copy with middle button) works fine. Any solution available or is it a bug?
    Many Thanks
    Anton

    Do other Ctrl shortcuts work?
    Do Ctrl+Insert and Shift+Insert work?
    *Copy: Ctrl+C or Ctrl+Insert (Mac: Command + C)
    *Paste: Ctrl+V or Shift+Insert (Mac: Command + V)
    *Cut: Ctrl+X or Shift+Delete (Mac: Command + X)

  • Dual boot with Ubuntu?

    I've got Ubuntu 11.04 setup ok now on an EEE 1201N.
    I plan on dualbooting with Arch.
    What I've found out so far:
    - I can skip the installation of Grub during the Arch install, because I can modify the existing Grub config, to also include Arch in the boot menu
    - I need only one SWAP partition, it can be used by both OS'ses
    Questions:
    - Is it wise to share (use the existing Ubuntu) /HOME partition in Ubuntu and Arch? Or is it better to mount a separate /DATA partition for sharing data used in both OS'ses (movies, pics, docs, ect.)
    - Do I need a seperate /BOOT partition for Arch?
    - Any other tips ?
    Thanks for the help!

    I have a quintuple boot system with Arch + Ubuntu + Debian Sid + Slackware + Gentoo, and here's what I do:
    I create a separate data partition, different from /home, since I do not like mixing config files with my own files. In the event of a reformat, I just back up what I need to (very few rc files). This lets me have different /home's, but with the same username and not replicating data.
    I have the same swap partition for each distro.
    I use Ubuntu's grub2 alone (it was the first distro on the machine), which flawlessly detects all other distros (at the moment I have a minor bug with duplicate entries, but that is okay).
    My partitioning scheme is as follows:
    [manjul@chaar ~]$ sudo fdisk -l
    Password:
    Disk /dev/sda: 320.1 GB, 320072933376 bytes
    255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xd7fa6e3b
    Device Boot Start End Blocks Id System
    /dev/sda1 42205182 583198719 270496769 5 Extended
    /dev/sda2 * 63 257039 128488+ 83 Linux
    /dev/sda3 258048 42202754 20972353+ 83 Linux
    /dev/sda4 583198720 625141759 20971520 83 Linux
    /dev/sda5 42205184 44302335 1048576 82 Linux swap / Solaris
    /dev/sda6 44304384 457363455 206529536 83 Linux
    /dev/sda7 541255680 583198719 20971520 83 Linux
    /dev/sda8 499310592 541253631 20971520 83 Linux
    /dev/sda9 457365504 499308543 20971520 83 Linux
    Partition table entries are not in disk order
    /dev/sda2 is Ubuntu's boot partition (128 MB), /dev/sda3 is Ubuntu, /dev/sda1 is an extended partition containing the following:
    /dev/sda5 is the shared swap
    /dev/sda6 is the data partition
    /dev/sda7 is Debian Sid
    /dev/sda8 is Slackware
    /dev/sda9 is Gentoo
    and I have never had an issue! I even share the Dropbox folder between all distros, and I have never had a problem. All the distro partitions are 20GB each.

  • Debian vs. Arch

    I'm using Debian as my main OS. I've read on the Arch webpage about it and came to the thinking that Arch is very similiar to Debian. Pacman seems very much like apt in Debian.
    Debian has many more packages than Arch, so it has better support for many software.
    Can you post replies and tell me what makes Arch better than Debian?

    I won't dissapoint you, but
    - Prozessor optimization is only one brick in the wall. A well done setup does a better job. Lately, after I burned my Arch with a now solved kernel26-jfsutils-bug, I tried debian sid. It was faster then arch - and more complete. But yes, it is a step older. Gnome 2.4 is the limit, even if you run debian sid (don't know about debian experimental, is that stuff running at all?). But it is well configurated. Fast and stable. Why the hell do I use arch ?
    - Apt-get can do some things, pacman can't - so far. What I like on apt if compared to pacman, is it will check dependencies before downlads. Pacman still fetches stuff, and compares then. This is a bad behaviour, as far as I am concerned. On more point: using apt-get install gnome-* will fetch all packages matching the wildcard. I was glad, pacman could do the same, if I remember the pain with gnome 2.6, this feature was needed.
    - Debian has a large number of packages. If they are not enough, use apt-source, ore alien to integrate rpm's. Wow.
    - Localization is a point the debian community is very hard working for. If you want a complete(!) german or russian or arabic or japanese linux, from console up to gui, use debian. I don't know if you can do with arch, but I fear not.
    - Debian uses 'normal' static /dev. You can do what you want to do with your devices. If you like, use udev. No problem, well integrated. Use discover, mdetect, read-edid, hotplug, fxload, kudzu and a modulized kernel, if you want some comfort.
    So why do I use arch?
    Good question. Looks well. Bleeding edge, but newest code on the machines. Arch don't cares for free or non-free debates. In debian, it is still a risk to install mplayer, because it uses windows codecs. Therefore, it is not an official part of debian. You will find several port trees and debian sources anyway, but if the maintainer does a lousy job, your apt database will soon be f*cked up. This is only one example.
    So, in the end, I think it is debians "we only integrate real free and gpl licensed code" paradigma, that lead me from debian to arch.

  • [Solved] Why I Can Move to Arch

    I'm really trying to move to Arch. I'm on Debian Sid currently. I want the latest and greatest packages, and a minimal, lightweight distro. So Arch seems like a dream for what I want. But, theres a few things holding me back. One, is the mesa-git packages that aren't as recent as Xorg Edgers. I'm currently using the Xorg Edgers PPA on my Debian Sid system, to get the latest and greatest libgl packages. The mesa-git package on here is almost a month old (6/29) compared to the mesa-git release on Xorg Edgers (7/21). The most important thing to me, is the latest and greatest OpenGL packages, since I do alot of gaming. So this is holding me back right now.
    Also, the AUR doesn't include the snapshot builds of evilwm, or simple terminal. I use evilwm as my window manager and simple terminal as my terminal emulator. They are both minimal, and the most lightweight window manager and terminal emulator I could find. The official and AUR repositories don't even have simple terminal. This is also holding me back. I could build simple terminal myself, but I don't know how to get the snapshot builds of evilwm without using the PPA for it. So I'm kind of in a rut right now. Any suggestions?
    Last edited by shoober420 (2014-07-31 16:54:25)

    shoober420 wrote:
    karol wrote:What makes you think there's a package in the AUR at all and why do you think st-git was built at the end of 2013?
    The st-git AUR page labels the package as "st-git 1:20130907.210dda9-1". So I thought it was from 2013. It also says it was last updated on "2013-09-29 03:05".
    There's no binary package in the AUR, it's just a PKGBUILD - and that PKGBUILD has been updated on 2013-09-29.
    jasonwryan wrote:It's a -git package: building it will pull HEAD. Please read the wiki article on AUR and familiarise yourself with how Arch works.
    Okay, I just scrimmed threw the AUR page, and I think I understand how it works. When I download a -git package, and I run pacman -Syu, or pacaur, it will go out to the git page of the package and update it accordingly? This would also mean I need the actual git package right?
    No, pacman updates prebuilt packages from official and unofficial repos. Stuff from the AUR is built with makepkg.
    Yes, git should be a makedependency for -git packages.

  • Loop-AES and Arch

    Hi,
    I was thinking on making a distro hop again, this time to Arch. I have used Arch once before but that didn't impress me as I din't even get my nVidia drivers installed
    Im currently running Debian Sid with encrypted LVM partitions using the dm-crypt.
    After browsing net a bit and making myself more familiar to encryption options I though to try the loop-AES as it seems to be more secure and faster option than the dm-crypt.
    Does loop-AES work with LVM or how?
    After I have sufficient info I think I try to install it on my laptop.
    Correct me if I'm wrong, you can install a Arch and then encrypt the existing installation without erasing the data on partition with loop-aes?
    I'm planning on using the Suspend2 also with the loop-aes. I'll follow this http://wiki.suspend2.net/EncryptedSwapAndRoot.

    Ranguvar, you probably want to use our archiso scripts http://projects.archlinux.org/?p=archiso.git;a=summary
    they even come with the config files we use for our official releases.
    Just look at the file with the package list and replace the packages you want.
    See also http://wiki.archlinux.org/index.php/Dev … o_building

  • Arch has started crawling on me!!

    hi
    after running arch for 2ish months and loving it and it being one of the fastest distros ive used, it has started to run exremely slow!!!
    this has happened mainly since opera started playin up!!! i was using the main opera 9.26, but switched to opera-devel in unstable. after getting tired of it crashing everytime i was on isohunt, i uninstalled and re-installed 9.26. it gives an error everytime i try to open it now
    It appears another Opera instance is using the same configuration directory because its lock file is active:
    /home/danny/.opera/lock
    Do you want to start Opera anyway?
    nothin happens if i say yes or no.
    so i ran ps -ax and found and killed all instances of opera, tried to run opera, and again the same message comes up!!
    so i switched back to opera-devel and this has exactly the same problem, except if i say yes, opera will open, but the whole system almost is at a standstill!!!
    any ideas??

    I am experiencing slow down on my Debian Sid after 1 year or so :? .
    In general,what should we look down when system is slow,when adequate RAM,GFX and processor power is already therE?
    I had edited /etc/hosts
    like this:but no improvement
    localhost:~# cat /etc/hosts
    127.0.0.1 localhost
    # The following lines are desirable for IPv6 capable hosts
    # (added automatically by netbase upgrade)
    ::1 ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts
    192.168.1.2 sid
    also should I disable IPV6?what Other reasons for slow down?esp the APplications menu in GNome when pressed takes 4-5 sec to open at the first chance

  • How much is the grand total of all the packages arch supports?

    The title says it all. Estimated, how many gigs of pkgs is their on the i686 repo, and x86_64 repo.
    I was thinking of making a "reserve" of packages on a dedicated package machine. All packages would be downloaded/updated on the machine, when the internet connection is idle. When needed for my main computer to upgrade, it would just grab it from that machine at a blazing fast speed.

    moljac024 wrote:
    daf666 wrote:
    Procyon wrote:I ran awk on the autohtml page of a mirror. For i686 I came out on:
    core: 170MB
    extra: 5500MB
    community: 6200MB
    Woh.. ur saying u need like 3 DVD's to contain Arch? isnt that like 'larger than Debian'? nice..
    How is that larger than Debian ? Last I knew the number of DVDs needed for Debian was 10+ or something like that...
    I remember Etch was shipped with 3 DVDs . Lenny is shipped with 5 DVDs with the last one sized at 1.2 GB .
    We should remember that *-debug packages are huge in size . I came from Debian Sid(unstable) to Arch and I honestly think that Arch has a wider selection of packages in its repositories . The odd package you wouldn't find in the repos can be easily found in the AUR or built from scratch .
    Last edited by Nezmer (2009-04-14 10:13:54)

  • [REQUEST] Arch Linux vrms

    http://linux.about.com/cs/linux101/g/vrms.htm
    Vrms tells you what non-free packages you have on your system. So I was wondering if anyone made (or is/will make) a port of this to Arch.
    I guess this could be done by having a little file that has the non-free packages listed in it and it greps the output of `pacman -Qqe` for them.
    Last edited by Arm-the-Homeless (2009-07-19 20:07:16)

    Here is the list of "bad" packages from Debian Sid vrms v1.15
    angband: No commercial distribution
    autobook: Modifications limited
    doc-html-w3: No modifications or derivatives allowed
    font3d: No commercial use
    gimp1.2-nonfree: (US only) Includes patent-encumbered algorithms
    gimp1.3-nonfree: (US only) Includes patent-encumbered algorithms
    gsfonts-other: Partly no modifications allowed, partly shareware
    gsn-curses: No modifications allowed
    gsn-jigsaw: No modifications allowed
    human-icon-theme: Creative Commons Attribution-ShareAlike 2.5 License
    hwb: No modifications allowed
    ibm-j2re1.5: Proprietary licence, no source available
    ibm-j2sdk1.4: Proprietary licence, no source available
    ibm-j2sdk1.5: Proprietary licence, no source available
    jdk1.1: Proprietary license
    lha: No modifications allowed, non-network distributions problematic
    mcvert: No commercial distribution
    nvidia-glx: Proprietary license
    nvidia-glx-dev: Proprietary license
    povray: Distribution limitations, modifications limited
    povray-doc: Distribution limitations, modifications limited
    povray-misc: Distribution limitations, modifications limited
    snes9x-common: No commercial use
    snes9x-fx: No commercial use
    snes9x-opengl: No commercial use
    snes9x-svga: No commercial use
    snes9x-x: No commercial use
    sun-j2re1.3: Proprietary licence, no source available
    sun-j2re1.4: Proprietary licence, no source available
    sun-j2re1.5: Proprietary licence, no source available
    sun-j2sdk1.3: Proprietary licence, no source available
    sun-j2sdk1.4: Proprietary licence, no source available
    sun-j2sdk1.5: Proprietary licence, no source available
    unrar: Modifications problematic
    xanim: No commercial distribution
    xanim-modules: Highly restricting license terms
    xfonts-scalable-nonfree: No modifications allowed
    xmame: Distribution limitations, no commercial use
    xmame-fx: Distribution limitations, no commercial use
    xmame-gl: Distribution limitations, no commercial use
    xmame-svga: Distribution limitations, no commercial use
    xmame-x: Distribution limitations, no commercial use
    and the Perl source
    #!/usr/bin/perl
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    use strict;
    use warnings;
    use Getopt::Long;
    # Declaration of important/main variables.
    my $quiet = 0;
    my $sparse = 0;
    my $help = 0;
    my $explain = 1;
    my $debug = 0;
    my $reasondir = '/usr/share/vrms/reasons/';
    my %reason = ();
    # Auxiliary functions section (FIXME: put them in a file by themselves).
    # sub usage:
    # Input: nothing.
    # Output: Messages to stdout telling the usage of the program.
    sub usage() {
    print <<EOF;
    Usage: vrms [OPTIONS] ...
    --quiet, -q Do nothing if there are no non-free packages installed.
    --explain, -e Give a brief explanation of why a package is non-free,
    if available.
    --sparse, -s Just list non-free packages, nothing else.
    --reason-dir=DIR Use DIR as the reason directory.
    --help, -h Display this help.
    --debug, -d Generate debugging information.
    All options can be prefixed with "no" (eg: --noexplain) to turn them off.
    EOF
    # sub parse_reason_file:
    # Input: the name of a reason file and the global hash %reason
    # Output: the hash %reason filled with reasons from the input file
    # (FIXME: %reason shouldn't be global)
    sub parse_reason_file {
    my $file = shift;
    print "Parsing reason file $file\n" if $debug >= 1;
    open(REASON, "<", $file) or
    die "Can't open FILE [$file]: $!\n";
    while (my $line = <REASON>) {
    chomp $line;
    # Grab a line of the form 'package: reason', skip if we don't match
    my ($pkg, $reason) = ($line =~ /^(\S+):\s+(.*)\s*$/) or next;
    print "'$pkg' because '$reason'\n" if ($debug >= 1);
    # If this is _our_ master file, then prefer anything
    # else (so that package maintainers can override)
    next if exists $reason{$pkg} and $file =~ /\/vrms$/;
    $reason{$pkg} = $reason;
    close REASON or
    die "Can't close FILE [$file]: $!\n";
    # Main program starts here.
    GetOptions('q|quiet' => \$quiet,
    's|sparse' => \$sparse,
    'e|explain!' => \$explain,
    'reason-dir=s' => \$reasondir,
    'd|debug+' => \$debug,
    'h|help' => \$help);
    if ($help) {
    usage();
    exit 0;
    opendir(REASONDIR, $reasondir) or
    die "Can't open DIR [$reasondir]: $!\n";
    # Parse all the reason files in $reasondir except those beginning with
    # a . or ending with a ~
    parse_reason_file("$reasondir/$_")
    foreach (grep {!/~$/ && !/^\./} readdir(REASONDIR));
    closedir REASONDIR or
    die "Can't close DIR [$reasondir]: $!\n";
    my $statusfile = '/var/lib/dpkg/status';
    my $is_nonfree = 0; ### preset none found, yet
    my %nonfree = ();
    my $is_other_nonfree = 0; ### preset none found, yet
    my %other_nonfree = ();
    my $is_contrib = 0; ### preset none found, yet
    my %contrib = ();
    my $is_other_contrib = 0; ### preset none found, yet
    my %other_contrib = ();
    my %pkg_status = ();
    my $pkgcnt = 0;
    my $clumpcnt = 0;
    my $dontcarelines = 5; ### no. of lines a non-installed entry may have in the statusfile
    my $sysname = "";
    chop($sysname = `uname -n`);
    open(PKG_SOURCE, "< $statusfile") or
    die "Can't open FILE [$statusfile]: $!\n";
    $/ = ""; ### snarf a paragraph at a time
    while(<PKG_SOURCE>) {
    my $clump = $_;
    $clumpcnt++;
    my (@pkglines) = split(/\n/, $clump);
    ### iff more than $dontcarelines lines, package is installed, so process it
    ### (speed-up by skipping don't-care entries)
    if (@pkglines > $dontcarelines) {
    my $pkg = ""; ### name of this package
    my $pkgstatus = ""; ### status
    my $plan = ""; ### install plan (hold, deinstall, purge, install, etc.)
    my $state = ""; ### state (ok or ???)
    my $status = ""; ### status (installed, not-installed, etc.)
    my $section = ""; ### section this is where non-free is marked
    my $shortdescr = ""; ### one-liner description of pkg
    my $linenbr = 0; ### current line number of this pkackag's info
    my $label = ""; ### junk field (not used, except to catch split values)
    my $has_pkg = 0; ### reset the markers
    my $has_status = 0;
    my $has_section = 0;
    foreach (@pkglines) {
    chomp;
    $linenbr++;
    if (/^Package:/) {
    ($label, $pkg) = split(/:\s+/,$_,2);
    $pkgcnt++;
    printf "pkg(%4.4d) pkg=[%s]\n",$pkgcnt,$pkg if $debug >= 1;
    $has_pkg = 1; ### we have necessary section
    next;
    if (/^Status:/) {
    my $label = "";
    ($label, $pkgstatus) = split(/:\s+/,$_,2);
    print "\tpkgstatus=[$pkgstatus]\n" if $debug >= 1;
    $pkg_status{$pkg} = $pkgstatus;
    ($plan, $state, $status) = split(/\s+/,$pkgstatus);
    print "\t\tplan=[$plan]\n" if $debug >= 1;
    print "\t\tstate=[$state]\n" if $debug >= 1;
    print "\t\tstatus=[$status]\n" if $debug >= 1;
    $has_status = 1; ### we have necessary section
    next;
    if (/^Section:/) {
    my $label = "";
    ($label, $section) = split(/:\s+/,$_,2);
    print "\tsection=[$section]\n" if $debug >= 1;
    $has_section = 1; ### we have necessary section
    if ($section =~ /contrib|non-free|restricted|multiverse/) {
    ### read thru rest of array to find descr instead of waiting for it
    my $found_descr =0;
    while (! $found_descr) {
    if ($linenbr > $#pkglines) {
    ### iff badly formed entry ensure blank description
    print "\tEEEE shortdescr=[$shortdescr]\n" if $debug >= 1;
    last;
    my $dline = $pkglines[$linenbr++];
    if($dline =~ /^Description:/) {
    ($label, $shortdescr) = split(/:\s+/,$dline,2);
    print "\tshortdescr=[$shortdescr]\n" if $debug >= 1;
    $found_descr = 1;
    if ($section =~ /contrib/) {
    if (lc $status eq 'installed') {
    $is_contrib = 1;
    $contrib{$pkg} = $shortdescr;
    } else {
    $is_other_contrib = 1;
    $other_contrib{$pkg} = $shortdescr;
    } else {
    if (lc $status eq 'installed') {
    $is_nonfree = 1;
    $nonfree{$pkg} = $shortdescr;
    } else {
    $is_other_nonfree = 1;
    $other_nonfree{$pkg} = $shortdescr;
    last; ### this is last desriptor of package we care about so end loop
    } else {
    ### un-processed lines from package info
    if($debug >= 1) {
    print "\t\t--- $_\n";
    if (!$has_status or !$has_pkg) {
    print STDERR "vrms: ERROR- Badly formed dpkg-status entry #$clumpcnt!\n";
    print STDERR " pkg=[$pkg], pkgstatus=[$pkgstatus], section=[$section] \n";
    } else {
    ### Entries which are 2 or 4 lines are not-installed
    if ($debug >= 1) {
    ### emit debug so can veryify parsing
    my $lineCt = @pkglines;
    print " SKIPPED <5: $lineCt lines\n";
    foreach (@pkglines) {
    my $spacer = ($_ =~ /Package:/) ? "" : " ";
    print " SKIPPED <5:$spacer [$_]\n";
    close (PKG_SOURCE) or
    die "Can't close FILE [$statusfile]: $!\n";
    #print "$pkgcnt packages installed\n";
    my $nfcnt = 0;
    my $pkgname = "";
    my $nonfreecnt = (keys %nonfree);
    if($is_nonfree) {
    if($sparse) {
    foreach $pkgname (sort keys (%nonfree)) {
    $nfcnt++;
    print "$pkgname\n";
    } else {
    $~ = "nonfree_head";
    write ;
    $~ = "nfp";
    foreach $pkgname (sort keys(%nonfree) ) {
    $nfcnt++;
    write ;
    print " Reason: $reason{$pkgname}\n"
    if (exists $reason{$pkgname} and $explain);
    my $pnfcnt = 0;
    my $other_nonfreecnt = (keys %other_nonfree);
    if($is_other_nonfree) {
    if($sparse) {
    foreach $pkgname (sort keys(%other_nonfree)) {
    $pnfcnt++;
    print "$pkgname\n";
    } else {
    $~ = "nonfree_partialhead";
    write;
    $~ = "pnf";
    foreach $pkgname (sort keys(%other_nonfree)) {
    $pnfcnt++;
    write;
    print " Reason: $reason{$pkgname}\n"
    if (exists $reason{$pkgname} and $explain);
    my $cbcnt = 0;
    my $contribcnt = (keys %contrib);
    if($is_contrib) {
    print "\n";
    if($sparse) {
    foreach $pkgname (sort keys (%contrib)) {
    $cbcnt++;
    print "$pkgname\n";
    } else {
    $~ = "contrib_head";
    write ;
    $~ = "cbp";
    foreach $pkgname (sort keys(%contrib) ) {
    $cbcnt++;
    write ;
    print " Reason: $reason{$pkgname}\n"
    if (exists $reason{$pkgname} and $explain);
    my $pcbcnt = 0;
    my $other_contribcnt = (keys %other_contrib);
    if($is_other_contrib) {
    if($sparse) {
    foreach $pkgname (sort keys(%other_contrib)) {
    $pcbcnt++;
    print "$pkgname\n";
    } else {
    $~ = "contrib_partialhead";
    write;
    $~ = "pcb";
    foreach $pkgname (sort keys(%other_contrib)) {
    $pcbcnt++;
    write;
    print " Reason: $reason{$pkgname}\n"
    if (exists $reason{$pkgname} and $explain);
    if (!$quiet and !$sparse) {
    printf "\n";
    if ($nfcnt != 0 or $pnfcnt != 0) {
    my $total_nonfree = $nonfreecnt + $other_nonfreecnt;
    my $total_installed = $pkgcnt;
    my $percentage = $total_nonfree * 100 / $total_installed;
    printf " %d non-free packages, %2.1f%% of %d installed packages.\n",
    $total_nonfree, $percentage, $total_installed;
    if ($cbcnt != 0 or $pcbcnt != 0) {
    my $total_contrib = $contribcnt + $other_contribcnt;
    my $total_installed = $pkgcnt;
    my $percentage = $total_contrib * 100 / $total_installed;
    printf " %d contrib packages, %2.1f%% of %d installed packages.\n",
    $total_contrib, $percentage, $total_installed;
    if (!$quiet and $nfcnt == 0 and $pnfcnt == 0 and $cbcnt == 0 and $pcbcnt == 0) {
    print "No non-free or contrib packages installed on $sysname! rms would be proud.\n"
    format nonfree_head =
    @||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    "Non-free packages installed on $sysname"
    format nonfree_partialhead =
    @||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    "Non-free packages with status other than installed on $sysname"
    format contrib_head =
    @||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    "Contrib packages installed on $sysname"
    format contrib_partialhead =
    @||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    "Contrib packages with status other than installed on $sysname"
    format nfp =
    @<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    $pkgname, $nonfree{$pkgname}
    format pnf =
    @<<<<<<<<<<<<<<<<<<<<<<<< @<@<<@< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    $pkgname, '(', $pkg_status{$pkgname},')', $other_nonfree{$pkgname}
    format cbp =
    @<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    $pkgname, $contrib{$pkgname}
    format pcb =
    @<<<<<<<<<<<<<<<<<<<<<<<< @<@<<@< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    $pkgname, '(', $pkg_status{$pkgname},')', $other_contrib{$pkgname}

  • Do you get a choice or repositories like on Debian?

    When I use Debian I stick to the stable repos as I dont want the system to break with the latest experimental repos.
    With Arch do you only get the choice of the latest or is there a repo you can use that is "held back"   a little to give you more stability?

    chickenPie4tea wrote:If there was a separate repo with older (but not ancient ie Debain stable) more tested packages I would give Arch a go. It's just that I tried using unstable packages with Debain and that was a mistake.
    I don't want to talk you into using something that's not for you, but you can't really compare distros like that. Debian Sid (unstable) is not meant to be used as an everyday distro, while Arch, as bleeding edge and rolling as it may be, is. I had the same fears as you regarding stability, but in my now about 2 years with Arch I never experienced a major problem. And when I had to do a little tinkering, I found that system maintenance is much easier and more understandable than in Debian (-based distros) because of its simplicity and much less configuration overhead, and its great documentation.
    You do have to be willing to learn and solve your problems, however, read the (great!) wiki, and understand and follow the Arch way.
    If you still want to give Arch a try, why not install it in a virtual machine and use it for some months like that, see if you like it?
    Good luck in any case.
    Edit: I just realised this in your post:
    a script to make installing Arch easy
    Don't rely on external scripts, they get outdated very fast. Best is try to install by following the official beginners' guide, you'll learn most by that, and when asking for help, people know what you're following. If you succeed by doing that, you're well on your way to enjoy Arch. If you don't, then Arch may not be for you.
    Last edited by Sanne (2014-03-26 12:42:58)

  • Arch x86_64 install on compaq 615

    I have this funny compaq 615 laptop with amd x2 athlon 2.2 Ghz.At the time on the laptop is debian sid but im planing to install arch.
    So has anyone this combination?Compaq 615 + Arch x86_64 and maybe awesome wm?
    I tred to install awesome wm on my desktop but i couldn`t.It sayed that i dond have i686 proc and this is a 32bit software.

    btw, during install i have installed the b43.framwarecutter. and now i foun this in aur http://aur.archlinux.org/packages.php?ID=21690
    so should i download this and install?will  it work?and moste important how the hell should i do this?

Maybe you are looking for