What will Arch Linux 1.0 become?

I was reading through earlier discussions searching for information about the aims of AL but could not find more what is already said in the documentation.
Current version is 0.4. I am curious to know what will 1.0 become. Is it a bug free version with the latest applications only or something more?
I am not only asking due to my curiosity but wanting to know what I (we users) can expect from AL. Is there anything I/we (if anyone is interested) can help AL with the same motive what was said by Judd Vinet when getting something for free: ".... and to give a little something back to the free software community, since I've taken so much."
Here I am not speaking about financial support but other things what may help achiving version 1.0 into a successful distro.

apeiro wrote:What do you (the users) expect to see from a 1.0 release of Arch Linux?  Besides general refinements in packaging/documentation/installation/scalability/etc, what would you like to see?
Before listing "what I want to see" (next post.... I have to think about it), I support several ideas suggested by Jk. I asked him (private message) to explain the technical terms I was not familiar. Here below I have copied points I liked including his description (for others who are not familiar with the terms) and few additions:
<b>- Package rollback in pacman</b> --> "rollback"???
Jk> <i>package rollback means that if an upgrade of a package fails it'll reinstall the old package back.</i>
Within same content, when packages are upgraded (successfully) current config files should be intacted. Example, during apache upgrade current hppd.conf file remain as it is and the new upgraded file is renamed. Its upto the users to update manually.
<b>- Real sandbox building of packages</b> ---> "sandbox"???
Jk> <i> package building to be in a safe environment, ie without the possibility of it touching stuff in the arch installation.</i>
<b>- support for virtual packages</b> ---> how???
Jk> <i>For example bzflag, it depends on OpenGL, but OpenGL can be delivered by several different pieces of software, like MESA or the NVIDIA drivers. Such packages should be able to have a "provides='OpenGL'" argument in them, so a user can choose which one of them to install.</i>
<b>- Menuing system (like Debian's)</b> ---> I am not sure what you mean??
Jk><i> When you install a package in debian, the menus in the various window managers are automatically updated.</i>
<b>- Package hold feature</b>
I would suggest also to provide a short description about the package and what it does. Also  size of the packages (good to know when downloading with 56k modem).
<b>- Possibility to build a custom kernel on install</b>
All Win4Lin users will be happy with this feature . I suggest to include the win4lin patch file.
<b>- Better installation system</b>
I would not suggest to change too much from what it is to keep it simple. But instead designing the kernel and system files to install on it's own all basic stuff (modules) and configs.... internet connection, sound, pcmcia cards, hardware, etc. What I really would like to have is an autodetect recognition engine to run all common hardwares same as what RedHat, SuSE and Mandrake do. 
<b>- i586 support</b>
This is very essential if AL is looking forward to have  larger number of users. Africa, Mauritius, India and South East Asia what are my working fields (as a social worker), i586 is more common than i686.

Similar Messages

  • Will Arch Linux going to change the default compiler to Clang?

    Recently read a news about building the kernel with LLVM Clang.
    I would like to ask will Arch Linux adopt this also soon, or in a plan, or no decision yet?

    Teho wrote:Would you mind sharing some sources? There seems to be quite a bit of work going on making upstream Clang/LLVM to compile Linux kernel
    Same as you (I suppose) I've been following these attempts by looking at overall progress, mailing lists and some of the bug reports, like I said this is not the first attempt to get llvm/clang to compile Linux (afaik this latest one is a consolidation of previous efforts together with some new blood(?) which makes it more likely that it will atleast be able to compile a stable kernel, albeit requiring patches).
    Teho wrote:Debian also seems to have plans to compile their entire repository with Clang. Not to mention that LLVM itself is very popular nowadays being installed on almost every Linux system.
    Are you referring to that one Debian developer who has compiled the repository with Clang to see how well it went? Is that the basis of your 'Debian also seems to have plans to compile their entire repository with Clang' claim?. AFAIK developers of distros have tried pretty much all the compilers under the sun on their repos and have reported the results, doesn't mean they plan to use that compiler for their official builds.
    Teho wrote:To my understanding the patches applied to Linux are also relatively small and non-intrusive.
    I don't know what the state is now but the previous patches I recall where not unintrusive, of course there are two targets of problems here, you can pretty much leave Linux alone if you can have clang-llvm accept lots of patches, and vice versa. If the current crop of patches needed were relatively small and non-intrusive they would likely have made in into some testing branches in the trees of their upstream targets by know, the changes needed for FreeBSD to compile using Clang/LLVM were quite substantial as I recall and it was like a 4-5 year period necessary for the transition despite being a very focused effort which will finally reach it's culmination with the upcoming FreeBSD 10 release.
    Teho wrote:There's obviously a lot of community intrest considering that it was worth setting up the LLVMLinux project under Linux Foundation (to reduce dublicated work);
    Well I don't judge a project's success or community interest by a webpage, I judge it by progress. Currently it seems to be where it was last I checked, patches needing to be applied to both Linux and Clang/LLVM with a unstable kernel as a result.
    Teho wrote:Not to mention that LLVM itself is very popular nowadays being installed on almost every Linux system.
    Well yes LLVM is pretty much ubiquitous as a JIT-framework which is used in lots of projects but LLVM as a an actual installed package?
    Like I said, I would be surprised (as in I don't think it will happen) if upstream linux and clang/llvm took in the patches necessary for compiling linux 'out-of-the-box' based upon past and current progress. I guess we'll have to see.

  • What is Arch Linux?

    The below link is a wiki page trying to describe what is Arch Linux. There is no official written document,  most likely will never happen keeping Arch open for future possibilities. It is a collection of quotes from Arch Linux Forum and other user discussions commonly said by the "old timers". Currently there are three ongoing documents:
    <b>What is Arch Linux</b> - general introduction.
    <b>The Arch Way</b> - priciples & philosophy, user comments, and pros & cons.
    <b>Crux vs. Arch</b> - difference between Crux Linux and Arch Linux.
    Wiki page:
    http://wiki.archlinux.org/index.php/ArchLinux

    you dont even need a proper desktop environment, thats part of the reason i like arch so much, you can use ~/.xinitrc as your own personal desktop environment.
    just put what you want in your ~/.xinitrc
    this is mine
    xbindkeys &
    lxde-settings-daemon &
    xfdesktop &
    xfwm4 &
    xfce4-panel &
    exec ck-launch-session startlxde
    i have the minimal lxde install (just lxde-common, lxde-settings-daemon & lxsession-lite + lxapperance for my themes) so all my settings like themes  etc... are loaded on boot then i just added the panel i wanted, the window manager i wanted etc...
    if you want a fast minimal install with only the apps you want then do something similar, load somekind of settings manager so all your settings are loaded every time you boot then pick and choose you favorite panel, window manager etc...

  • Resest Arch Linux to it's factory state?

    Over the past months of testing Arch Linux, it has become I mess - I've installed and uninstalled loads of window managers which is making problems for E17, half the programs aren't installed correctly and I have an ill-configured Server and MythTV setup.
    So, I decided to re-install Arch Linux and start from scratch again (this time, I know what I'll be doing), the only problem is that I have no Blank CD's. Is there any way I can reset Arch Linux back to it's factory settings?

    tomk wrote:
    1. List packages in the base (and optionally base-devel) group.
    2. pacman -Rscn all installed packages that are not in that list.
    3. There is no 3.
    /me wonders where the Arch factory is.....
    eh this has been an issue for ever and ever. There are packages which make config files in /etc and other root folders ..samba is an example which used to do it and if you have edited some .conf files (in the past and then forgotten) then when you do "pacman -Rscn samba" it will not delete the .conf file (this is how it is supposed to be) But then there is no effective way to clean the littered configuration files from these important folders.
    I have been trying to figure this for years here but there has not been any smooth solutions.
    P.S I do know deleting user edited .conf files is a horrible idea...but what I was hoping is to find some viable way of cleaning the system with a BIG disclaimer, but the problem is that as soon as you edit these files pacman stops managing these files and disassociates the files from the package. All i wish is for an option.
    P.P.S maybe brtfs snapshot will be a solution where you can go back to the clean install.
    P.P.P.S Seems pacman tips page has been updated since I last used it, I am thinking it has a comprehensive list of tips to get to factory state. Still not very easy ...but hey this is Arch
    Last edited by venky80 (2011-12-19 20:57:03)

  • Arch Linux Gallery

    I am proud to present the re-opening of the new Arch Linux Gallery!
    The Arch Linux Gallery is a site dedicated to screenshots of (guess what?) Arch Linux. It is meant to be a repository for screenshots, configs, artistic creations, and anything else Arch Linux-related.
    When registering, zenphoto will provide you with your own personal album to which you can upload images and configs.
    The only caveat is that, for now, it only supports .txt for text objects. So when uploading configs, they should be of .txt extension. Extensions need to be added, and I'm not sure of all the extensions that will need to be added, so if you want to request an extension to be added please post here and let me know.
    Gallery searching, ie. filtering for only Openbox, is tag-driven, so make sure to tag photos with relevant information. Once some content starts being uploaded I can begin to create some dynamic albums of common content. I also plan to have a dynamic album for each month (like the screenshot threads) but I still need to figure out how to make that possible.
    Special thanks to dennizjov who provided the server and domain, Ghost1227 for the wonderful logo, and the zenphoto devs, an amazing piece of software found over at http://www.zenphoto.org/
    Here's the link, and have fun!
    http://www.archlinuxgallery.com/
    Last edited by kagutsuchi713 (2009-10-24 00:47:38)

    Is nothing being displayed my fault or the site's fault?
    I go to gallery, and it lists some names with question mark looking graphics beside them.  Then I click the name, and it comes to a page that looks like I should be expecting to see a picture but has nothing.
    Oh, and if I click archive after clicking a name, I see:
    Notice: Undefined variable: typeGallery in /home/web29205/domains/archlinuxgallery.com/public_html/themes/arch/archive.php on line 14
    Either way though, thanks for picking this up and running with it.  It looks like a great idea!

  • What source base the Arch Linux Xorg build from?

    I need a complete package of X windows system installed. No idea which directory the Arch Linux X11 install to.
    Only find  below with "find"
    /usr/share/X11
    /usr/lib/ghostscript/8.64/X11.so
    /usr/lib/X11
    /usr/include/X11
    /var/cache/man/X11R6
    /etc/X11
    So I try to get some souce by http://xorg.freedesktop.org/wiki/Releases/7.4
    I found its x server is only 1.5.1 and Arch Linux is 1.6.1(show when pacman -S xorg)
    I really confused.
    Actually what I need is pretty simple, need a xdm and xdm-configure to enable XDMCP so that I can remote connecct to X.
    (I tried KDE and GNOME, it doesn't work because X)
    Anybody can give me a clue?
    Thanks very much,
    Mike

    tomk wrote:Please consult the wiki.
    The Arch Wiki has become simply amazing.. Just thought I'd throw that out there.
    Last edited by 10wattmindtrip (2009-06-23 18:29:24)

  • What is the significance of the "Arch" in Arch Linux?

    Why is this distribution called Arch Linux? What does the "Arch" part mean? Surely there must be a reason, for the developers could have easily named this distribution "Bridge Linux" or "Trapezoid Linux" for that matter.

    MkFly wrote:
    http://web.archive.org/web/200206050619 … rg/faq.php
    [Q]  Why the name Arch Linux?
    [A]  From dictionary.com:
    arch
    adj.
    1. Chief; principal: their arch foe.
    2. Mischievous; roguish: an arch glance.
    I came across the well-known term "arch-enemy" in a book and clued in that "arch" means "the primary", "the principal", the one that comes first among others.  Far from true with regard to Arch Linux perhaps, but I'm proud of it.  Now, the second definition may or may not fit; I guess it depends on how you use your computer. 
    That covers definitions 1 and 3 above. Definition 2 applies in the case of Arch fanboys. Strangely they turn up more often on other forums than here.
    But yeah, I should have added that Judd chose the name with the first adjective definition in mind.

  • What are the benefits of arch linux ?

    What are the benefits of arch linux ?
    default package management /software installation tool .

    This posts fits perfect with my last 2 days xD
    Cause a fan problem with arch, I tried to come back in a third partition to Debian. But 1 year and a half with arch makes me impossible to come back to debian because arch owns Debian in lots of ways (package management simplicity and filesystem structure, including this website, maybe the most important detail of this distribution, all info is on this page).
    However, Debian's aptitude is extremely faster than pacman, that is the strongest point of Debian in front of Arch. Also I miss a detail on arch that I find indispensable: ICEWEASEL!
    Can anyone get a package for archlinux of Iceweasel for me? I prefer weasels than foxs xD
    Serious conclusion: Arch is better than Debian for me for the simplicity (pacman is simplier, the rc.conf file is a present of God, and this centralized and simple forum, the aur repository, the extremely great wiki (maybe gentoo wiki is a bit better) and the good organization of the homepage of archlinux.org makes this distribution for me the best for my purposes).
    Now I believe I have to say something to you:
    Thank you very much to all people that make possible this distribution, users, developers, etc...

  • What's wrong with my Arch linux grub bootup/FSTAB? [Solved]

    So ever since I did a fresh install of Arch Linux, every time it boots up and I select the Grub option it says "A start job is running for /dev/drive/" and shortly after it says timed out and continues onto the login screen as normal.
    I have two drives, Windows is on the other one and on the Linux one I have just two partitions, root and swap.
    I've tried to do a couple of things such as creating another grub option and setting the root to that ID however it still seems to be occurring. It seems to me that it keeps changing because sometimes when I boot it doesn't do it but it is very rare that it doesn't do the start job.
    How can I permanently make the GRUB2 menu boot the correct drive and partitions, both root{ext4} and swap without it having to run a start job every time I boot it up?
    Last edited by Developer (2015-04-09 19:02:42)

    WorMzy wrote:
    Note that sda,sdb,sdc... names are assigned on a first-come, first-served, per boot basis, so they are not ideal for use in your fstab. Instead, you should use UUIDs or labels.
    https://wiki.archlinux.org/index.php/Pe … ice_naming
    The problem is back, the drive names keep changing, how can I use UUID's for the fstab?
    I saw something about UUID's above each drive name however, they were commented out. Do I replace the drive name part with the UUID for every drive, so for example:
    /dev/sdb1 / ext4   rw,relatime,discard,data=ordered
    to
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   rw,relatime,discard,data=ordered
    Or do I just uncomment the UUID part? which would leave me with something along the lines of:
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539
    /dev/sdb1 / ext4   rw,relatime,discard,data=ordered

  • [HOWTO] Installing Arch Linux stable release on Acer Aspire One 522

    [This is a work on progress and my first howto ever]
    These steps will teach you how to install ArchLinux x64 stable release (currently 2010.05) on Acer Aspire One 522 from an existing ArchLinux (your desktop computer)
    As you need a 2.6.37+ kernel to make networking work on the AO522, installing stable release as is won't work.
    This Howto borns with the intention to address this problem.
    You need to be familiarized with Linux internals to follow this howto.
    (Expect this howto to become useless with new stable releases of ArchLinux.)
    Remember to make a backup of your Windows 7 Starter system before installing ArchLinux.
    I did a full raw copy of the harddisk by using systemrescuecd, an external harddisk and dd utility:
    Just boot with systemrescuecd
    Mount your external harddisk on /mnt/floppy for example
    Clone harddisk with: dd if=/dev/sda |gzip -c > /mnt/floppy/ao522.img
    This process took me a lot of time since my external harddisk is USB-1 (almost an entire evening)
    Result image was about 22GB size
    This image will restore partition table, boot sector and all data if things go wrong.
    I followed some of the steps from this guide: https://wiki.archlinux.org/index.php/In … ting_Linux
    If you have some Gentoo Linux experience you will find those steps really familiar.
    You will need 2 USB pendrives or similar storage options.
    One is needed to boot into your netbook, and the other to store our custom archlinux build.
    Making an updated ArchLinux system
    1) Make a local dir on your existing linux system
    # mkdir ./newarch
    2) Install pacman database on it
    # pacman -Sy -r ./newarch
    3) Install base system
    # pacman -S base -r ./newarch
    4) Let's chroot inside
    # cp /etc/resolv.conf ./newarch/etc/
    # cp /etc/pacman.d/mirrorlist ./newarch/etc/pacman.d
    # mount -t proc proc ./newarch/proc
    # mount -t sysfs sys ./newarch/sys
    # mount -o bind /dev ./newarch/dev
    # chroot ./newarch /bin/bash
    5) Edit configuration files
    # nano -w /etc/rc.conf
    # nano -w /etc/hosts
    # nano -w /etc/mkinitcpio.conf
    Forget /etc/fstab for now since you don't know what partitions to use yet
    6) Generate kernel image
    # mkinitcpio -p kernel26
    7) Generate locales
    # nano -w /etc/locale.gen
    # locale-gen
    8) Make a tarball with our custom ArchLinux
    # exit
    # umount ./newarch/proc
    # umount ./newarch/dev
    # umount ./newarch/sys
    # tar -cvpf newarch.tar ./newarch
    9) Copy this tarball to an USB pendrive or external harddisk
    10) Boot your netbook with a Linux bootable USB stick (I used systemrescuecd, and remember to pick the x64 bit kernel at grub screen)
    You can use any linux distribution with usb bootable options. I suppose ArchLinux works too
    To install SystemRescueCD on an USB stick follow this tutorial -> SystemRescueCD on usb stick
    Insert the usb stick on your netbook, switch on, hit F2 to enter BIOS menu, and choose to boot from USB as first option. Save and Exit.
    You should be booting into SystemRescueCD without any problem.
    After initialization you will end in a root prompt.
    11) Let's partition the disk
    You will find 3 partitions if this is your first time:
    /dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
    /dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
    /dev/sda3 29566976 488397167 229312696 7 HPFS/NTFS/exFAT
    My recomendation is to leave sda1 and sda2 intact, as they have the recovery information to restore Windows 7 Starter
    You have plenty of space with sda3, about 230G.
    So run fdisk/cfdisk and delete /dev/sda3
    Now create a 100M partition for boot
    Now create a Extended partition with all the space left
    Now create a 1GB logical partition for swap
    Now create a 10-15 GB  logical partition for root system
    And finally a logical partition for our home partition with all space left
    Your partition table should look like this:
    /dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
    /dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
    /dev/sda3 29566976 29771775 102400 83 Linux
    /dev/sda4 29771776 488397167 229312696 5 Extended
    /dev/sda5 29773824 31821823 1024000 83 Linux
    /dev/sda6 31823872 63281151 15728640 83 Linux
    /dev/sda7 63283200 488397167 212556984 83 Linux
    12) Create filesystems
    I choosed ext2 for boot, and reiserfs for root and home partitions.
    # mke2fs /dev/sda3
    # mkreiserfs /dev/sda6
    # mkreiserfs /dev/sda7
    # mkswap /dev/sda5
    13) Mount partitions
    # mkdir arch
    # mount /dev/sda6 arch
    # mkdir arch/boot
    # mount /dev/sda3 arch/boot
    # mkdir arch/home
    # mount /dev/sda7 arch/home
    14) Copy our custom ArchLinux build on it
    # mount /dev/sdb1 /mnt/floppy (for example)
    # cd arch
    # tar -xvpf /mnt/flopy/newarch.tar
    15) Configure /etc/fstab
    Mine is as follows:
    devpts /dev/pts devpts defaults 0 0
    shm /dev/shm tmpfs nodev,nosuid 0 0
    /dev/sda3 /boot ext2 defaults 0 1
    /dev/sda6 / reiserfs defaults 0 1
    /dev/sda7 /home reiserfs defaults 0 1
    /dev/sda5 swap swap defaults 0 0
    16) Chroot in your new system
    # mount -t proc proc ./proc
    # mount -t sysfs sys ./sys
    # mount -o bind /dev ./dev
    # chroot ./ /bin/bash
    17) Install grub
    # grub-install
    Edit /boot/grub/menu.lst to suit your needs
    Mine looks like this:
    timeout 5
    default 0
    color light-blue/black light-cyan/blue
    title Arch Linux
    root (hd0,2)
    kernel /vmlinuz26 root=/dev/sda6 ro
    initrd /kernel26.img
    title Arch Linux Fallback
    root (hd0,2)
    kernel /vmlinuz26 root=/dev/sda6 ro
    initrd /kernel26-fallback.img
    title Windows 7 Recovery
    rootnoverify (hd0,0)
    makeactive
    chainloader +1
    As you see, you can restore Windows 7 Starter from Grub.
    18) Change root password
    # passwd
    19) Add a regular  user account
    # useradd -G video,audio,users -m username
    # passwd username
    20) You're done!
    # exit
    # cd ..
    # umount ./arch/proc
    # umount ./arch/dev
    # umount ./arch/sys
    # umount ./arch/boot
    # umount ./arch/
    # reboot
    Remove the usb stick from your netbook.
    If all went ok, you will be inside your new stable and updated ArchLinux system
    Next post is reserved for software configurations specific to the Acer Aspire One 522
    Last edited by tigrezno (2011-04-20 12:22:38)

    Using acpid to achieve the following:
    - Change screen brightness when operating in battery mode
    - Power off when the power button is pressed
    - Suspend when the lid is down
    - Reduce CPU frequency speed to maximize battery usage
    Remember that system suspend is only supported by ati free driver xf86-video-ati
    1) Install acpid daemon and cpufrequtils
    # pacman -S apcid cpufrequtils
    2) edit acpid handler script
    # nano -w /etc/acpi/handler.sh
    Change the following section:
    ac_adapter)
    case "$2" in
    AC)
    case "$4" in
    00000000)
    echo -n $minspeed >$setspeed
    #/etc/laptop-mode/laptop-mode start
    00000001)
    echo -n $maxspeed >$setspeed
    #/etc/laptop-mode/laptop-mode stop
    esac
    *) logger "ACPI action undefined: $2" ;;
    esac
    for:
    ac_adapter)
    case "$2" in
    ACAD)
    case "$4" in
    00000000)
    echo 3 > /sys/devices/virtual/backlight/acpi_video0/brightness
    cpufreq-set -c 0 -f 800Mhz
    cpufreq-set -c 1 -f 800Mhz
    00000001)
    echo 9 > /sys/devices/virtual/backlight/acpi_video0/brightness
    cpufreq-set -c 0 -f 1000Mhz
    cpufreq-set -c 1 -f 1000Mhz
    esac
    *) logger "ACPI action undefined: $2" ;;
    esac
    Make sure you changed AC) for ACAD)
    Now change this other section:
    button/power)
    #echo "PowerButton pressed!">/dev/tty5
    case "$2" in
    PWRF) logger "PowerButton pressed: $2" ;;
    *) logger "ACPI action undefined: $2" ;;
    esac
    with:
    button/power)
    #echo "PowerButton pressed!">/dev/tty5
    case "$2" in
    PWRF) poweroff ;;
    *) logger "ACPI action undefined: $2" ;;
    esac
    Change:
    button/lid)
    #echo "LID switched!">/dev/tty5
    logger "ACPI group/action undefined: $1 / $2"
    for:
    button/lid)
    pm-suspend && /etc/rc.d/network restart
    logger "ACPI group/action undefined: $1 / $2"
    Network restart is used because wlan0 will disconnect from AP after some time. You can try using iwconfig wlan0 essid <ap> key <key> instead of the network script, but haven't tested it myself.
    3) Start acpid and load modules
    # modprobe powernow-k8
    # /etc/rc.d/acpid start
    Add "acpid" to DAEMONS in /etc/rc.conf to start on boot
    Add "powernow-k8" to the modules sections on /etc/rc.conf to load at boot
    Stopping system freezes due to ethernet driver
    The only way people have found to avoid freezes is by blacklisting atheros kernel drivers.
    To do it at boot just edit /etc/rc.conf and change the MODULES line as this:
    MODULES=(!ath9k !atl1c)
    Reboot and you're done, but remember to not press the Wifi key, because it can freeze your system.
    Correctly starting wireless at boot
    I've found that standard scripts wont load properly my wireless lan. It gave an error telling you to use the WIRELESS_TIMEOUT variable and such.
    To solve this, edit /etc/rc.d/network script and change the wi_up function by adding a second iwconfig command like this:
    wi_up()
    eval iwcfg="\$wlan_${1}"
    [[ ! $iwcfg ]] && return 0
    /usr/sbin/iwconfig $iwcfg
    [[ $WIRELESS_TIMEOUT ]] || WIRELESS_TIMEOUT=2
    sleep $WIRELESS_TIMEOUT
    /usr/sbin/iwconfig $iwcfg
    bssid=$(iwgetid $1 -ra)
    It will do the trick and will start at boot correctly. This is not a solution but a fix.
    Adjust Touchpad to disable false taps
    What I did here is defining an area to be ignored. This area are 3 rectangles on top, left and right of the touchpad.
    This means you can write and press space without having the cursor click out of the window and such.
    # synclient AreaLeftEdge=150
    # synclient AreaRightEdge=1300
    # synclient AreaTopEdge=300
    Also, add it to your /etc/X11/xorg.conf.d/10-evdev.conf:
    Section "InputClass"
    Identifier "evdev touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "AreaTopEdge" "300"
    Option "AreaLeftEdge" "150"
    Option "AreaRightEdge" "1300"
    EndSection
    You can play with those values. They just work for me.
    Last edited by tigrezno (2011-04-23 13:49:48)

  • Arch Linux on Distrowatch

    http://www.distrowatch.com/stats.php?section=popularity
    Arch Linux Rankings:
    Last 12 months: 58
    Last 6 months: 56
    Last 3 month: 45
    Last 1 month: 28

    i3839 wrote:Well, theoretically it shouldn't matter if 100 or 1000000 people use a distro for the developers, they still should do the same work. Only thing that really changes is that the community will be much bigger, so there will be more questions and demands, but those should be handled by the community itself imho. A bigger community also means potentially more people willing to write docs and make packages, so the "problem" should be fixed by itself. Only thing that can go wrong is that reality isn't in sync with theory .
    yeah the last sentence is more true than the rest. and the first one is definitely the least accurate. some devs do more work than others and everyone should have the same workload. the TURs should be processing incoming, the TURs should be moving stuff to staging more regularily. ALL devs should be working abit on moving packages from incoming and staging to the repos. alll package maintainers should regularily work on their packages and ideally the workload (ie number of packages maintained) should be equal.
    but for every 200 packages added you need one more maintainer. some devs have way more than 100 packages which is entirely too much. i did 400+ for three months and it drove me nuts. it isn't good to have some overworked while others disappear for months and maintain only a few packages.
    doc developers NEED to be ontop of what is going on inthe community so that anything that is becoming FAQs is incorporated into the docs and does not lie in in three or four different places.
    it would be nice too if the workload was in such a way that releases could be more regular or even incremental so that ugly upgrades can be avoided or installing via ftp.
    and so forth.
    it would be nice if your theory was true but alas i just don't think it is.

  • (Arch) Linux Myths

    I have recently noticed that online forums and Linux user communities in particular are prone to developing what I'd like to call "technology myths".
    Most of the problems and solutions given on forums are anecdotal in nature. Problems are rarely sourced to the actual code and suggestions are often casual or incomplete which is of course natural for this kind of communication. However, as certain solutions are being repeated without clear feedback, some notions take deeper roots in the collective consciousness thus becoming myths. Let me illustrate with an example.
    How often have you seen people posting glxgears results? How often have you seen people replying "glxgears is not a benchmark"? Could you actually explain why it's not suitable to be one? The explanation is out there.
    Another example could be the myth that exporting INTEL_BATCH=1 increases performance on Intel integrated GPUs. I have seen this in circulation for a long time, despite the fact that the actual code that could be triggered by this environment variable has been removed a long time ago.
    As Arch Linux is rolling-release and a lot of code is being replaced rather rapidly, old and tried solutions are likely to become obsolete fast. I'd like to ask the Community to share their examples of other widely circulated myths and help keep an updated and sourced list of them (https://wiki.archlinux.org/index.php/Myths) so others will not waste their time trying solutions which are sure to fail.

    In my experience, outdated wiki pages tend to propagate this stuff, along with blog entries. The trouble with blog entries is that they're often fire-and-forget, which means that solutions that might have been necessary a while ago are now unsuitable or unnecessary.
    Wiki pages have no such excuse, being more fluid than blogs posts. This is particularly prevalent on the Arch Wiki, as Arch is a distribution with a small number but a large variety of (mostly) technically-experienced users who will often go to great lengths to increase performance or to accomodate for Rube Goldberg machine-like hardware or network setups. Thus, there are a lot of hacks on obscure pages (not, say, the Beginner's Guide or the major pages).
    What we need is a major overhaul and review of many of the shorter and more obscure wiki pages, such as any of the ones under Request:Correction and Request:Expansion. I've "rescued" a few pages from this purgatory, but many pages have sat there for months or years and I do not have the experience or knowledge to improve them. I think that we could gain a great deal from more community awareness about improving the wiki and trying to encourage people to edit more. Rather than the same editors working on more mainstream pages and ignoring or barely touching the more arcane ones, it might be preferable to have people with little editing experience but more technical experience to take a look at some of the pages, capitalizing on the cumulative knowledge of our userbase a bit more.
    Just a thought.

  • Arch Linux Pacman Proxy Script

    Since my Arch box has no internet connection (yes, I'm that much of a masochist), I wrote a bash script to act as a proxy of sorts for pacman, at least as regards downloading. It took a while to get it working (intermittent web access and all) but here it finally is, as promised.
    It works well for me, and I only hope that it will help anyone else in the same situation (if there is anyone else in the same situation).
    The script has various options to explain everything you need to know, but here's a quick word of warning: it only works on POSIX-compatible computers (i.e. no Wintendows, usually) and the proxy box needs to have bash, wget, tar, grep and sed installed. I don't see this as being a problem, but if I'm wrong, tell me all about it.
    #!/bin/bash
    readonly VER="2.1"
    readonly wgetVER=`wget -V|sed '1!d'`
    # DEBUG levels:
    # Set to 0 for ALERT-level messages only
    # Set to 1 for INFO-level messages (I prefer this)
    # Set to 2 for DEBUG-level messages
    # Set to 3 for all messages
    readonly DEBUG=0
    # Set DEBUGLOG=1 to print ALERT, INFO and DEBUG messages to DEBUG.log
    readonly DEBUGLOG=0
    readonly COLOUR=true
    if [[ $COLOUR == true ]] ; then
    readonly red='\e[31m'
    readonly warn='\e[31;7m '
    readonly green='\e[32m'
    readonly lgreen='\e[32;1m'
    readonly yellow='\e[33;1m'
    readonly lblue='\e[34;1m'
    readonly dull='\e[0m' ; fi
    # Sticky details:
    # tar seems very slow (vfat? transform? USB?)
    function bugspray {
    [[ -z $2 ]] && verbosity=1 || verbosity=$2
    if (( DEBUG >= verbosity )) ; then
    (( $2 == 0 )) && intro="${warn}ALERT${dull} | "
    (( $2 == 1 )) && intro=" INFO | "
    (( $2 > 1 )) && intro=" ${yellow}DEBUG${dull} | "
    echo -e "$intro$1"
    (( DEBUGLOG == 1 )) && echo "`date +%F_%T` | $1">>log-alpps/DEBUG.log ; fi ; }
    function compare_versions {
    # Requires two ordinary, untweaked version strings, first local, second distant
    if [[ -z $2 ]] ; then
    bugspray "compare_versions didn't receive two variables." 2 ; fi
    update='no'
    [[ -z $2 ]] && return
    local localversion=(`echo $1|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
    local distantversion=(`echo $2|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
    local max=$((${#distantversion[*]}))
    bugspray "localversion: ${localversion[*]}; distantversion: ${distantversion[*]}" 2
    for (( x=0 ; (( x < $max )) ; $((x++)) )) ; do
    bugspray "local version part: `echo ${localversion[$x]}` | distant version part: `echo ${distantversion[$x]}`" 2
    if [[ `echo ${localversion[$x]}|grep -E '^[0-9]*$'` && `echo ${distantversion[$x]}|grep -E '^[0-9]*$'` ]] ; then
    bugspray "Numerical comparison" 2
    bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): $(( 10#${localversion[$x]} < 10#${distantversion[$x]} ))" 3
    # Different compare methods for numbers, single letters and multiple letters.
    if (( 10#${localversion[$x]} < 10#${distantversion[$x]} )) ; then
    update='yes'
    break ; fi ; fi
    if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]$'` ]] ; then # single letter -> compare
    bugspray "Lexicographical comparison" 2
    bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): [[ ${localversion[$x]} < ${distantversion[$x]} ]]" 3
    if [[ ${localversion[$x]} < ${distantversion[$x]} ]] ; then
    update='yes'
    break ; fi ; fi
    if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]+$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]+$'` ]] ; then # string -> drop
    # cvs / git / beta -> what are the rules?
    bugspray "Sequence of letters. Not treating as version number." 2 ; fi
    done ; }
    function find_dependencies {
    # Determine existence via unique path
    bugspray "+ ${lgreen}Building download list for package \"$1\"${dull}" 1
    local packagename
    local dlfile
    local package_found=no
    if [[ `ls .temp-alpps/*.db/$1-* 2>/dev/null` ]] ; then
    bugspray "Analogous package-name file(s) found" 2
    for x in `ls .temp-alpps/*.db/$1-*/desc` ; do
    bugspray "Checking $x" 2
    packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
    if [[ j$packagename == j$1 ]] ; then
    bugspray "Exact match found: $packagename = $1" 2
    dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
    local distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
    local package_full=$packagename-$distantversion
    local the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
    local the_path=`echo $x|sed -r 's/desc//'`
    unplus=`echo $packagename|sed 's/\+/\\\+/g'`
    local local_version=`sed -r '/^'$unplus' /!d;s/.* //' .temp-alpps/snapshot.state`
    package_found=yes
    break ; fi ; done ; fi
    if [[ -z $dlfile ]] ; then
    bugspray "Exact match not found -> looking for replacements." 2
    if ! [[ -z `grep $1 .temp-alpps/*.db/*/depends` ]] ; then
    local provisional=`grep $1 .temp-alpps/*.db/*/depends|sed -r 's/\/depends.*//'`
    for package in $provisional ; do
    local providence=`sed -r '/%PROVIDES%/,/^$/!d;/%PROVIDES%/d;/^$/d;s/>.*//;s/=.*//' $package/depends`
    for y in $providence ; do
    if [[ j$y == j$1 ]] ; then
    # But what about when several packages provide the same thing and ALPPS picks the wrong one? Can it happen?
    local newdep=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $package/desc`
    bugspray " -> Package \"$newdep\" provides \"$1\"." 1
    find_dependencies $newdep
    break 2 ; fi ; done ; done
    if [[ -z $newdep ]] ; then
    bugspray "${warn}Warning:${dull} package \"$1\" not found in database." 0 ; fi ; fi ; fi
    bugspray "package: $1 | package_found = $package_found" 2
    # Add file to download_list if not up to date and if not already present
    if [[ j$package_found == jyes ]] ; then
    local already_got_one=no
    unplus=`echo $dlfile|sed 's/\+/\\\+/g'`
    [[ `echo $download_files|grep $unplus` ]] && already_got_one="yes" && bugspray "${green}Package in queue${dull}" 1
    [[ `ls downloads/$dlfile 2>/dev/null` ]] && already_got_one="yes" && bugspray "${green}Package proxied${dull}" 1
    compare_versions $local_version $distantversion
    bugspray "compare_versions says: $update" 2
    ! [[ -z $local_version || $update == yes ]] && already_got_one="yes" && bugspray "${green}Package already installed and up-to-date${dull}" 1
    if [[ j$already_got_one != jyes ]] ; then
    bugspray "${green}Confirm downloading${dull}" 1
    download_files+="$dlfile "
    download_array[${dlfile}]=$the_repo
    bugspray "Checking for further dependencies" 2
    if [[ -a $the_path/depends && `grep -E '^%DEPENDS%$' $the_path/depends` ]] ; then
    local dependency=`sed -r '/%DEPENDS%/d;/^$/q' $the_path/depends`
    bugspray "Dependencies of \"$packagename\":$dependency" 3
    for x in $dependency ; do
    # Is this dependency already installed? Sort-of the same as higher up; it just saves time here.
    local depname=`echo $x|sed -r 's/>.*//;s/=.*//'`
    local depminver=`echo $x|sed -r 's/.*>//'`
    bugspray "Dependency name: \"$depname\"" 2
    if ! [[ `grep -E '^$depname ' .temp-alpps/snapshot.state` ]] ; then
    find_dependencies $depname ; fi ; done
    else
    bugspray "${lblue}End of the line${dull}: package \"$packagename\" has no dependencies." 2
    true ; fi ; fi ; fi ; }
    function failover_fetch {
    echo "Downloading `echo $1|sed 's/.*\///'`"
    [[ -d log-alpps/ ]] || mkdir log-alpps/
    [[ -z $success ]] || unset success
    for mirror in $(<.temp-alpps/snapshot.mirrorlist) ; do
    # If DEBUG>0, shouldn't redirect output
    url=`echo $mirror|sed 's/$arch/'$arch'/;s/$repo/'${download_array[$1]}'/'`/$1
    bugspray "Connecting to $url" 2
    wget -o .temp-alpps/very-temp-log -U "Arch Linux Pacman Proxy Script version $VER / $wgetVER" -P downloads/ $url && success=true
    cat .temp-alpps/very-temp-log>>log-alpps/download.log
    rm -f .temp-alpps/very-temp-log
    if [[ -n $success ]] ; then
    bugspray "Download: \$success = true" 2
    break ; fi ; done
    if [[ -z $success ]] ; then
    bugspray "${warn}FAIL:${dull} $1 not accessible on known mirrors." 0 ; fi ; }
    case $1 in
    warranty)
    echo
    echo -e " ${green}Warranty${dull}"
    echo -e " ${green}========${dull}"
    echo " This program is free software. It comes without any warranty, to"
    echo " the extent permitted by applicable law. You can redistribute it"
    echo " and/or modify it under the terms of the Do What The Fuck You Want"
    echo " To Public License, Version 2, as published by Sam Hocevar. See"
    echo " http://sam.zoy.org/wtfpl/COPYING for more details."
    echo
    howto)
    echo
    echo -e " ${green}How to use ALPPS${dull}"
    echo -e " ${green}================${dull}"
    echo -e " ${yellow}+ Step 0${dull}: prime the engine"
    echo " On your offline box, copy the ALPPS script onto a removable medium, cd into"
    echo " it's directory, then run it with the \"init\" option. This essentially"
    echo " takes a snapshot of your system, package-wise. Your removable medium is"
    echo " now ready for use!"
    echo -e " ${yellow}+ Step 1${dull}:"
    echo " On the proxy box the first order of business is to download and decompress"
    echo " the current package lists. You can do this with the \"fetchdb\" option."
    echo -e " ${yellow}+ Step 1 alt${dull}:"
    echo " If you want to download the package lists without decompressing them,"
    echo " \"fetchdb simple\" will do this. It's a lot quicker, but please keep"
    echo " in mind that you cannot then do anything in step 2."
    echo -e " ${yellow}+ Step 2${dull}:"
    echo " If you want to download packages (and why wouldn't you?), the easiest way"
    echo " is to prepare a simple text file containing the names of the packages you"
    echo " want, one on each line. Run ALPPS with the option \"fetch <filename>\" and"
    echo " sit back and wait until it's done. Don't worry about dependencies: ALPPS"
    echo " handles them automatically."
    echo -e " ${yellow}+ Step 2 alt${dull}:"
    echo " As a convenience, \"fetch full\" will download all the packages needed to"
    echo " update the offline box."
    echo -e " ${yellow}+ Step 3${dull}:"
    echo " Finally, back on your offline box, run ALPPS again with the \"install\""
    echo " option. This will update the package list and copy the package files into"
    echo " local cache. You can now run \"pacman -S <package names>\" to finish"
    echo " installing the packages."
    # ALPPS no longer installs the packages, just caches them locally.
    # Not entirely sure why; it just felt too klutzy.
    echo -e " ${yellow}+ Step 4${dull}:"
    echo " You will now probably want to delete all the stuff you no longer need. Run"
    echo " ALPPS with the option \"clean\". This won't touch your request file(s). It"
    echo -e " ${red}WILL${dull} delete log files, so if you want to keep them, back them up first."
    echo " Next time you do this, don't forget to run ALPPS with \"init\" again."
    echo
    bugs)
    echo
    echo -e " ${green}Where this goes wrong${dull}"
    echo -e " ${green}=====================${dull}"
    echo " + ALPPS is a bit slow when packages have many dependencies. It's a recursive"
    echo " shell script: what did you expect?"
    echo " + It only uses the settings in /etc/pacman.conf. If your conf file is"
    echo " elsewhere, you're SOL. Similarly, the repositories are all taken from"
    echo " /etc/pacman.d/mirrorlist. If you added any custom repositories in"
    echo " /etc/pacman.conf (or any other file), ALPPS ignores them."
    echo " + As it stands, ALPPS only works when the proxy box has bash, wget, sed,"
    echo " grep and tar installed. The offline box needs bash, pacman and sed (in"
    echo " theory, this shouldn't be a problem...)."
    echo " + There is as yet no way of handling package groups, short of listing every"
    echo " member of the group."
    echo " + I don't think ALPPS will ever be able to handle AUR packages. Of course, if"
    echo " you're compiling AUR packages, you probably won't need something like this!"
    echo
    faq)
    echo
    echo -e " ${green}Frequently Asked Questions${dull}"
    echo -e " ${green}==========================${dull}"
    echo
    echo -e " ${red}Q:${dull} Can I run the whole thing off a USB stick?"
    echo -e " ${lblue}A:${dull} Certainly."
    echo
    echo -e " ${red}Q:${dull} Can I use a non-POSIX computer as a proxy (e.g. Windows)?"
    echo -e " ${lblue}A:${dull} Probably not, unless that computer has a POSIX-compatibility layer"
    echo " installed (such as Cygwin) with bash, wget, tar, sed and grep."
    echo
    echo -e " ${red}Q:${dull} Do I need to download the package list, waste time updating my computer,"
    echo " then go back again to download the packages I want?"
    echo -e " ${lblue}A:${dull} Nope! You can update the packagelist database and download piping-hot"
    echo " fresh packages, all in one sitting."
    echo -e " ${red}Q:${dull} You mean I won't have to futz around with package lists that keep updating"
    echo " ten minutes after I download them?"
    echo -e " ${lblue}A:${dull} Exactly. Nice, isn't it?"
    echo
    echo -e " ${red}Q:${dull} Does this thing handle SSL and signed packages?"
    echo -e " ${lblue}A:${dull} ALPPS uses SSL if:"
    echo " - the mirror has an https address (at present, none do), and"
    echo " - wget on the proxy box is compiled with SSL support"
    echo " Concerning signed packages: no, but then again, it doesn't need to. ALPPS"
    echo " downloads packages; it's pacman's responsibility to verify them. Your"
    echo " system remains safe (or as safe as it ever was, at any rate)."
    echo -e " ${red}Q:${dull} What about gpg keys? I need to get them."
    echo -e " ${lblue}A:${dull} ...maybe later, say, in version 3."
    echo
    echo -e " ${red}Q:${dull} ALPPS says it \`prepares databases´. Can pacman still use them after this?"
    echo -e " ${lblue}A:${dull} Yes, it can. In fact, what ALPPS does is extract the databases into a"
    echo " temp directory, without altering the original .db files."
    echo
    echo -e " ${red}Q:${dull} Where can I contact you?"
    echo -e " ${lblue}A:${dull} For constructive, useful questions and comments: [email protected] and"
    echo " be sure to mention Arch Linux in the subject."
    echo " For flames, trolling, spam and the like, visit your local bitbucket."
    echo
    todo)
    echo
    echo -e " ${green}What's next?${dull}"
    echo -e " ${green}============${dull}"
    echo -e " + I ${red}might${dull} be able to extend the reach of this thing to the AUR."
    echo " Yes, I know I said ALPPS couldn't (in \"bugs\"), but I've learned"
    echo " something new since then. It'll be tricky, though, since the AUR web"
    echo " interface delivers results in python. While this should be a Good Thing,"
    echo " bash isn't very good at handling python-format lists and dicts."
    echo
    -v|ver|version|--ver|--version)
    echo -e "${lgreen}Arch Linux pacman proxy script${dull} | ${yellow}version $VER${dull}"
    dl_list) # Debugging
    (( DEBUG == 0 )) && echo "the \"dl_list\" option is only for debugging" && exit 0
    arch=$(<.temp-alpps/snapshot.architecture)
    unset download_files
    unset download_array
    declare -A download_array
    find_dependencies $2
    bugspray "Download list: $download_files" 3
    echo "Download list v2:"
    for x in $download_files ; do
    bugspray " File \"$x\" from repo \"${download_array[$x]}\"" 3
    echo " Full URL: http://mirror.archlinux.org/${download_array[$x]}/os/$arch/$x" ; done
    verint) # Debugging
    (( DEBUG == 0 )) && echo "the \"verint\" option is only for debugging" && exit 0
    for x in `ls .temp-alpps/*/$2-*/desc` ; do
    packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
    if [[ j$packagename == j$2 ]] ; then
    bugspray "Unique package-name file found: $packagename=$2" 2
    distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
    dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
    package_full=$packagename-$distantversion
    the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
    the_path=`echo $x|sed -r 's/desc//'`
    local_version=`sed -r '/^'$packagename' /!d;s/.* //' .temp-alpps/snapshot.state`
    break ; fi ; done
    echo "full package filename: $dlfile"
    echo "Comparing local ($local_version) and distant ($distantversion) versions of $2..."
    compare_versions $local_version $distantversion
    #compare_versions 2.5beta3-2 2.5cvs4-1
    echo "...and the verdict is: $update"
    init)
    x=`uname -m`
    if [[ -x /usr/bin/pacman ]] ; then
    [[ -d .temp-alpps ]] || mkdir .temp-alpps/
    pacman -Q>.temp-alpps/snapshot.state
    sed -r '/^Se/!d;s/Server = //' /etc/pacman.d/mirrorlist>.temp-alpps/snapshot.mirrorlist
    sed -r '/^\[/!d;/options/d;s/\[(.*)\]/\1/' /etc/pacman.conf>.temp-alpps/snapshot.repositories
    sed -r '/^Architecture/!d;s/^.*= //' /etc/pacman.conf>.temp-alpps/snapshot.architecture
    [[ ! -s .temp-alpps/snapshot.architecture || auto == $(<.temp-alpps/snapshot.architecture) ]] && $x>.temp-alpps/snapshot.architecture
    sed -r '/^SyncFirst/!d;s/.*= //;s/ /\n/g' /etc/pacman.conf>.temp-alpps/snapshot.prioritypackages
    echo "Current state recorded."
    else
    echo "You seem to be running ALPPs on an unsupported system."
    echo "ALPPS is the ${lgreen}Arch Linux Pacman Proxy Script${dull} and simply"
    echo "won't run properly on a non-pacman OS (except when proxying)."
    echo "Aborting. Sorry."
    exit 1 ; fi
    fetchdb)
    [[ -d downloads ]] || mkdir downloads
    arch=$(<.temp-alpps/snapshot.architecture)
    declare -A download_array
    for repo in $(<.temp-alpps/snapshot.repositories) ; do
    download_array[${repo}.db]=$repo
    location="${repo}.db"
    failover_fetch $location ; done
    if [[ j$2 != jsimple ]] ; then
    [[ -d log-alpps ]] || mkdir log-alpps
    [[ -a syncfirst ]] && rm -f syncfirst
    echo "Preparing databases for local processing. This might take a while."
    for x in $(<.temp-alpps/snapshot.repositories) ; do
    echo "Preparing $x.db"
    if [[ -a downloads/$x.db ]] ; then
    [[ -d .temp-alpps/$x.db ]] || mkdir .temp-alpps/$x.db/
    tar -xzC .temp-alpps/$x.db/ -f downloads/$x.db --transform 's/:/§/' --no-same-owner && echo "$x database ready for use."
    else
    echo -e "Database $x.db is missing. Skipping. This will probably cause problems." ; fi ; done
    # SyncFirst package warning
    [[ -z $download_list ]] || unset download_list
    [[ -a syncfirst ]] && rm -f syncfirst
    for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
    find_dependencies $x ; done
    bugspray "download_files: $download_files" 2
    if [[ ! -z $download_files ]] ; then
    echo "New version(s) of SyncFirst package(s):"
    for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
    [[ ! -z `echo $download_files|grep $x` ]] && echo "- $x" && echo $x>>syncfirst ; done
    echo "Package names placed in 'syncfirst'. Don't forget to download them!" ; fi ; fi
    fetch)
    for x in $(<.temp-alpps/snapshot.repositories) ; do
    if ! [[ -d .temp-alpps/$x.db/ ]] ; then
    bugspray "You must first download a fresh database with the \"fetchdb\" option" 0
    exit 1 ; fi ; done
    arch=$(<.temp-alpps/snapshot.architecture)
    unset download_array
    declare -A download_array
    unset download_files
    if [[ $2 == full ]] ; then
    echo " Building full upgrade list. This will almost certainly take a while."
    echo " Please wait..."
    for y in `sed -r 's/^(.*) .*/\1/' .temp-alpps/snapshot.state` ; do
    bugspray "Examining $y" 1
    find_dependencies $y ; done
    elif [[ -a $2 ]] ; then
    echo " Determining dependencies. This might take a while. Please wait."
    for y in $(<$2) ; do
    bugspray "Examining $y" 1
    find_dependencies $y ; done
    else
    echo " Error: you should provide a list-file or the keyword \"full\"."
    echo " (see 'alpps.sh howto', step 2)"
    exit 1 ; fi
    if [[ -z $download_files ]] ; then
    echo " No files to download: either none found, or all found are up to date."
    else
    [[ -d downloads ]] || mkdir downloads
    for x in $download_files ; do
    failover_fetch $x ; done ; fi
    install)
    dbpath=`sed -r '/^DBPath/!d;s/^.*= //' /etc/pacman.conf`
    [[ -z $dbpath ]] && dbpath="/var/lib/pacman/"
    bugspray "dbpath: $dbpath" 2
    echo " Updating databases"
    cp -ft ${dbpath}sync/ downloads/*.db
    cachedir=`sed -r '/^CacheDir/!d;s/^.*= //' /etc/pacman.conf`
    [[ -z $cachedir ]] && cachedir="/var/cache/pacman/pkg/"
    echo " Caching packages"
    cp -f downloads/*.pkg.tar.xz $cachedir
    echo
    echo " Don't forget to install/update your packages."
    echo " Exercise proper caution."
    echo " Have fun!"
    clean)
    echo "Cleaning up. This might take a while."
    rm -fr .temp-alpps/ && echo "Buffer directory deleted" || echo "Problem deleting buffer directory '.temp-alpps/'"
    rm -fr log-alpps/ && echo "Log directory deleted" || echo "Problem deleting 'log-alpps/'"
    rm -fr downloads/ && echo "Downloaded packages deleted" || echo "Problem deleting 'downloads/'"
    echo
    echo -e " ${lgreen}Arch Linux pacman proxy script${dull}"
    echo
    echo -e " ${green}Description${dull}"
    echo -e " ${green}===========${dull}"
    echo -e " This is a bash script to fetch and install packages for an offline Arch box"
    echo " using another, online box as a proxy of sorts. So far, this only works if"
    echo " the proxy box has bash, wget, tar, sed and grep installed."
    echo " It's probably also entirely unsafe, incompatible and will destroy your box"
    echo " in a fiery blaze if you try to use it (you know the drill)."
    echo
    echo -e " ${green}Options${dull}"
    echo -e " ${green}=======${dull}"
    echo " init Step 0 (as it were): take a snapshot of your system"
    echo " fetchdb Step 1: download the packagelist database"
    echo " fetch <file> Step 2: download requested packages"
    echo " install Step 3: update your system"
    echo " clean Step 4: delete any unneeded files"
    echo
    echo " howto More detailed instructions"
    echo " bugs Problems and future plans"
    echo " faq As it says"
    echo " warranty (in case it ever becomes necessary)"
    echo " version (to be honest, I wasn't expecting to go beyond v1-rc or so)"
    echo " help You're reading it, doofus :^)"
    echo
    # dl_list Test the find_dependencies function"
    # verint Test the compare_versions function"
    esac

    AnimaInvicta wrote:
    Since my Arch box has no internet connection (yes, I'm that much of a masochist), I wrote a bash script to act as a proxy of sorts for pacman, at least as regards downloading. It took a while to get it working (intermittent web access and all) but here it finally is, as promised.
    It works well for me, and I only hope that it will help anyone else in the same situation (if there is anyone else in the same situation).
    The script has various options to explain everything you need to know, but here's a quick word of warning: it only works on POSIX-compatible computers (i.e. no Wintendows, usually) and the proxy box needs to have bash, wget, tar, grep and sed installed. I don't see this as being a problem, but if I'm wrong, tell me all about it.
    #!/bin/bash
    readonly VER="2.1"
    readonly wgetVER=`wget -V|sed '1!d'`
    # DEBUG levels:
    # Set to 0 for ALERT-level messages only
    # Set to 1 for INFO-level messages (I prefer this)
    # Set to 2 for DEBUG-level messages
    # Set to 3 for all messages
    readonly DEBUG=0
    # Set DEBUGLOG=1 to print ALERT, INFO and DEBUG messages to DEBUG.log
    readonly DEBUGLOG=0
    readonly COLOUR=true
    if [[ $COLOUR == true ]] ; then
    readonly red='\e[31m'
    readonly warn='\e[31;7m '
    readonly green='\e[32m'
    readonly lgreen='\e[32;1m'
    readonly yellow='\e[33;1m'
    readonly lblue='\e[34;1m'
    readonly dull='\e[0m' ; fi
    # Sticky details:
    # tar seems very slow (vfat? transform? USB?)
    function bugspray {
    [[ -z $2 ]] && verbosity=1 || verbosity=$2
    if (( DEBUG >= verbosity )) ; then
    (( $2 == 0 )) && intro="${warn}ALERT${dull} | "
    (( $2 == 1 )) && intro=" INFO | "
    (( $2 > 1 )) && intro=" ${yellow}DEBUG${dull} | "
    echo -e "$intro$1"
    (( DEBUGLOG == 1 )) && echo "`date +%F_%T` | $1">>log-alpps/DEBUG.log ; fi ; }
    function compare_versions {
    # Requires two ordinary, untweaked version strings, first local, second distant
    if [[ -z $2 ]] ; then
    bugspray "compare_versions didn't receive two variables." 2 ; fi
    update='no'
    [[ -z $2 ]] && return
    local localversion=(`echo $1|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
    local distantversion=(`echo $2|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
    local max=$((${#distantversion[*]}))
    bugspray "localversion: ${localversion[*]}; distantversion: ${distantversion[*]}" 2
    for (( x=0 ; (( x < $max )) ; $((x++)) )) ; do
    bugspray "local version part: `echo ${localversion[$x]}` | distant version part: `echo ${distantversion[$x]}`" 2
    if [[ `echo ${localversion[$x]}|grep -E '^[0-9]*$'` && `echo ${distantversion[$x]}|grep -E '^[0-9]*$'` ]] ; then
    bugspray "Numerical comparison" 2
    bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): $(( 10#${localversion[$x]} < 10#${distantversion[$x]} ))" 3
    # Different compare methods for numbers, single letters and multiple letters.
    if (( 10#${localversion[$x]} < 10#${distantversion[$x]} )) ; then
    update='yes'
    break ; fi ; fi
    if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]$'` ]] ; then # single letter -> compare
    bugspray "Lexicographical comparison" 2
    bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): [[ ${localversion[$x]} < ${distantversion[$x]} ]]" 3
    if [[ ${localversion[$x]} < ${distantversion[$x]} ]] ; then
    update='yes'
    break ; fi ; fi
    if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]+$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]+$'` ]] ; then # string -> drop
    # cvs / git / beta -> what are the rules?
    bugspray "Sequence of letters. Not treating as version number." 2 ; fi
    done ; }
    function find_dependencies {
    # Determine existence via unique path
    bugspray "+ ${lgreen}Building download list for package \"$1\"${dull}" 1
    local packagename
    local dlfile
    local package_found=no
    if [[ `ls .temp-alpps/*.db/$1-* 2>/dev/null` ]] ; then
    bugspray "Analogous package-name file(s) found" 2
    for x in `ls .temp-alpps/*.db/$1-*/desc` ; do
    bugspray "Checking $x" 2
    packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
    if [[ j$packagename == j$1 ]] ; then
    bugspray "Exact match found: $packagename = $1" 2
    dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
    local distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
    local package_full=$packagename-$distantversion
    local the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
    local the_path=`echo $x|sed -r 's/desc//'`
    unplus=`echo $packagename|sed 's/\+/\\\+/g'`
    local local_version=`sed -r '/^'$unplus' /!d;s/.* //' .temp-alpps/snapshot.state`
    package_found=yes
    break ; fi ; done ; fi
    if [[ -z $dlfile ]] ; then
    bugspray "Exact match not found -> looking for replacements." 2
    if ! [[ -z `grep $1 .temp-alpps/*.db/*/depends` ]] ; then
    local provisional=`grep $1 .temp-alpps/*.db/*/depends|sed -r 's/\/depends.*//'`
    for package in $provisional ; do
    local providence=`sed -r '/%PROVIDES%/,/^$/!d;/%PROVIDES%/d;/^$/d;s/>.*//;s/=.*//' $package/depends`
    for y in $providence ; do
    if [[ j$y == j$1 ]] ; then
    # But what about when several packages provide the same thing and ALPPS picks the wrong one? Can it happen?
    local newdep=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $package/desc`
    bugspray " -> Package \"$newdep\" provides \"$1\"." 1
    find_dependencies $newdep
    break 2 ; fi ; done ; done
    if [[ -z $newdep ]] ; then
    bugspray "${warn}Warning:${dull} package \"$1\" not found in database." 0 ; fi ; fi ; fi
    bugspray "package: $1 | package_found = $package_found" 2
    # Add file to download_list if not up to date and if not already present
    if [[ j$package_found == jyes ]] ; then
    local already_got_one=no
    unplus=`echo $dlfile|sed 's/\+/\\\+/g'`
    [[ `echo $download_files|grep $unplus` ]] && already_got_one="yes" && bugspray "${green}Package in queue${dull}" 1
    [[ `ls downloads/$dlfile 2>/dev/null` ]] && already_got_one="yes" && bugspray "${green}Package proxied${dull}" 1
    compare_versions $local_version $distantversion
    bugspray "compare_versions says: $update" 2
    ! [[ -z $local_version || $update == yes ]] && already_got_one="yes" && bugspray "${green}Package already installed and up-to-date${dull}" 1
    if [[ j$already_got_one != jyes ]] ; then
    bugspray "${green}Confirm downloading${dull}" 1
    download_files+="$dlfile "
    download_array[${dlfile}]=$the_repo
    bugspray "Checking for further dependencies" 2
    if [[ -a $the_path/depends && `grep -E '^%DEPENDS%$' $the_path/depends` ]] ; then
    local dependency=`sed -r '/%DEPENDS%/d;/^$/q' $the_path/depends`
    bugspray "Dependencies of \"$packagename\":$dependency" 3
    for x in $dependency ; do
    # Is this dependency already installed? Sort-of the same as higher up; it just saves time here.
    local depname=`echo $x|sed -r 's/>.*//;s/=.*//'`
    local depminver=`echo $x|sed -r 's/.*>//'`
    bugspray "Dependency name: \"$depname\"" 2
    if ! [[ `grep -E '^$depname ' .temp-alpps/snapshot.state` ]] ; then
    find_dependencies $depname ; fi ; done
    else
    bugspray "${lblue}End of the line${dull}: package \"$packagename\" has no dependencies." 2
    true ; fi ; fi ; fi ; }
    function failover_fetch {
    echo "Downloading `echo $1|sed 's/.*\///'`"
    [[ -d log-alpps/ ]] || mkdir log-alpps/
    [[ -z $success ]] || unset success
    for mirror in $(<.temp-alpps/snapshot.mirrorlist) ; do
    # If DEBUG>0, shouldn't redirect output
    url=`echo $mirror|sed 's/$arch/'$arch'/;s/$repo/'${download_array[$1]}'/'`/$1
    bugspray "Connecting to $url" 2
    wget -o .temp-alpps/very-temp-log -U "Arch Linux Pacman Proxy Script version $VER / $wgetVER" -P downloads/ $url && success=true
    cat .temp-alpps/very-temp-log>>log-alpps/download.log
    rm -f .temp-alpps/very-temp-log
    if [[ -n $success ]] ; then
    bugspray "Download: \$success = true" 2
    break ; fi ; done
    if [[ -z $success ]] ; then
    bugspray "${warn}FAIL:${dull} $1 not accessible on known mirrors." 0 ; fi ; }
    case $1 in
    warranty)
    echo
    echo -e " ${green}Warranty${dull}"
    echo -e " ${green}========${dull}"
    echo " This program is free software. It comes without any warranty, to"
    echo " the extent permitted by applicable law. You can redistribute it"
    echo " and/or modify it under the terms of the Do What The Fuck You Want"
    echo " To Public License, Version 2, as published by Sam Hocevar. See"
    echo " http://sam.zoy.org/wtfpl/COPYING for more details."
    echo
    howto)
    echo
    echo -e " ${green}How to use ALPPS${dull}"
    echo -e " ${green}================${dull}"
    echo -e " ${yellow}+ Step 0${dull}: prime the engine"
    echo " On your offline box, copy the ALPPS script onto a removable medium, cd into"
    echo " it's directory, then run it with the \"init\" option. This essentially"
    echo " takes a snapshot of your system, package-wise. Your removable medium is"
    echo " now ready for use!"
    echo -e " ${yellow}+ Step 1${dull}:"
    echo " On the proxy box the first order of business is to download and decompress"
    echo " the current package lists. You can do this with the \"fetchdb\" option."
    echo -e " ${yellow}+ Step 1 alt${dull}:"
    echo " If you want to download the package lists without decompressing them,"
    echo " \"fetchdb simple\" will do this. It's a lot quicker, but please keep"
    echo " in mind that you cannot then do anything in step 2."
    echo -e " ${yellow}+ Step 2${dull}:"
    echo " If you want to download packages (and why wouldn't you?), the easiest way"
    echo " is to prepare a simple text file containing the names of the packages you"
    echo " want, one on each line. Run ALPPS with the option \"fetch <filename>\" and"
    echo " sit back and wait until it's done. Don't worry about dependencies: ALPPS"
    echo " handles them automatically."
    echo -e " ${yellow}+ Step 2 alt${dull}:"
    echo " As a convenience, \"fetch full\" will download all the packages needed to"
    echo " update the offline box."
    echo -e " ${yellow}+ Step 3${dull}:"
    echo " Finally, back on your offline box, run ALPPS again with the \"install\""
    echo " option. This will update the package list and copy the package files into"
    echo " local cache. You can now run \"pacman -S <package names>\" to finish"
    echo " installing the packages."
    # ALPPS no longer installs the packages, just caches them locally.
    # Not entirely sure why; it just felt too klutzy.
    echo -e " ${yellow}+ Step 4${dull}:"
    echo " You will now probably want to delete all the stuff you no longer need. Run"
    echo " ALPPS with the option \"clean\". This won't touch your request file(s). It"
    echo -e " ${red}WILL${dull} delete log files, so if you want to keep them, back them up first."
    echo " Next time you do this, don't forget to run ALPPS with \"init\" again."
    echo
    bugs)
    echo
    echo -e " ${green}Where this goes wrong${dull}"
    echo -e " ${green}=====================${dull}"
    echo " + ALPPS is a bit slow when packages have many dependencies. It's a recursive"
    echo " shell script: what did you expect?"
    echo " + It only uses the settings in /etc/pacman.conf. If your conf file is"
    echo " elsewhere, you're SOL. Similarly, the repositories are all taken from"
    echo " /etc/pacman.d/mirrorlist. If you added any custom repositories in"
    echo " /etc/pacman.conf (or any other file), ALPPS ignores them."
    echo " + As it stands, ALPPS only works when the proxy box has bash, wget, sed,"
    echo " grep and tar installed. The offline box needs bash, pacman and sed (in"
    echo " theory, this shouldn't be a problem...)."
    echo " + There is as yet no way of handling package groups, short of listing every"
    echo " member of the group."
    echo " + I don't think ALPPS will ever be able to handle AUR packages. Of course, if"
    echo " you're compiling AUR packages, you probably won't need something like this!"
    echo
    faq)
    echo
    echo -e " ${green}Frequently Asked Questions${dull}"
    echo -e " ${green}==========================${dull}"
    echo
    echo -e " ${red}Q:${dull} Can I run the whole thing off a USB stick?"
    echo -e " ${lblue}A:${dull} Certainly."
    echo
    echo -e " ${red}Q:${dull} Can I use a non-POSIX computer as a proxy (e.g. Windows)?"
    echo -e " ${lblue}A:${dull} Probably not, unless that computer has a POSIX-compatibility layer"
    echo " installed (such as Cygwin) with bash, wget, tar, sed and grep."
    echo
    echo -e " ${red}Q:${dull} Do I need to download the package list, waste time updating my computer,"
    echo " then go back again to download the packages I want?"
    echo -e " ${lblue}A:${dull} Nope! You can update the packagelist database and download piping-hot"
    echo " fresh packages, all in one sitting."
    echo -e " ${red}Q:${dull} You mean I won't have to futz around with package lists that keep updating"
    echo " ten minutes after I download them?"
    echo -e " ${lblue}A:${dull} Exactly. Nice, isn't it?"
    echo
    echo -e " ${red}Q:${dull} Does this thing handle SSL and signed packages?"
    echo -e " ${lblue}A:${dull} ALPPS uses SSL if:"
    echo " - the mirror has an https address (at present, none do), and"
    echo " - wget on the proxy box is compiled with SSL support"
    echo " Concerning signed packages: no, but then again, it doesn't need to. ALPPS"
    echo " downloads packages; it's pacman's responsibility to verify them. Your"
    echo " system remains safe (or as safe as it ever was, at any rate)."
    echo -e " ${red}Q:${dull} What about gpg keys? I need to get them."
    echo -e " ${lblue}A:${dull} ...maybe later, say, in version 3."
    echo
    echo -e " ${red}Q:${dull} ALPPS says it \`prepares databases´. Can pacman still use them after this?"
    echo -e " ${lblue}A:${dull} Yes, it can. In fact, what ALPPS does is extract the databases into a"
    echo " temp directory, without altering the original .db files."
    echo
    echo -e " ${red}Q:${dull} Where can I contact you?"
    echo -e " ${lblue}A:${dull} For constructive, useful questions and comments: [email protected] and"
    echo " be sure to mention Arch Linux in the subject."
    echo " For flames, trolling, spam and the like, visit your local bitbucket."
    echo
    todo)
    echo
    echo -e " ${green}What's next?${dull}"
    echo -e " ${green}============${dull}"
    echo -e " + I ${red}might${dull} be able to extend the reach of this thing to the AUR."
    echo " Yes, I know I said ALPPS couldn't (in \"bugs\"), but I've learned"
    echo " something new since then. It'll be tricky, though, since the AUR web"
    echo " interface delivers results in python. While this should be a Good Thing,"
    echo " bash isn't very good at handling python-format lists and dicts."
    echo
    -v|ver|version|--ver|--version)
    echo -e "${lgreen}Arch Linux pacman proxy script${dull} | ${yellow}version $VER${dull}"
    dl_list) # Debugging
    (( DEBUG == 0 )) && echo "the \"dl_list\" option is only for debugging" && exit 0
    arch=$(<.temp-alpps/snapshot.architecture)
    unset download_files
    unset download_array
    declare -A download_array
    find_dependencies $2
    bugspray "Download list: $download_files" 3
    echo "Download list v2:"
    for x in $download_files ; do
    bugspray " File \"$x\" from repo \"${download_array[$x]}\"" 3
    echo " Full URL: http://mirror.archlinux.org/${download_array[$x]}/os/$arch/$x" ; done
    verint) # Debugging
    (( DEBUG == 0 )) && echo "the \"verint\" option is only for debugging" && exit 0
    for x in `ls .temp-alpps/*/$2-*/desc` ; do
    packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
    if [[ j$packagename == j$2 ]] ; then
    bugspray "Unique package-name file found: $packagename=$2" 2
    distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
    dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
    package_full=$packagename-$distantversion
    the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
    the_path=`echo $x|sed -r 's/desc//'`
    local_version=`sed -r '/^'$packagename' /!d;s/.* //' .temp-alpps/snapshot.state`
    break ; fi ; done
    echo "full package filename: $dlfile"
    echo "Comparing local ($local_version) and distant ($distantversion) versions of $2..."
    compare_versions $local_version $distantversion
    #compare_versions 2.5beta3-2 2.5cvs4-1
    echo "...and the verdict is: $update"
    init)
    x=`uname -m`
    if [[ -x /usr/bin/pacman ]] ; then
    [[ -d .temp-alpps ]] || mkdir .temp-alpps/
    pacman -Q>.temp-alpps/snapshot.state
    sed -r '/^Se/!d;s/Server = //' /etc/pacman.d/mirrorlist>.temp-alpps/snapshot.mirrorlist
    sed -r '/^\[/!d;/options/d;s/\[(.*)\]/\1/' /etc/pacman.conf>.temp-alpps/snapshot.repositories
    sed -r '/^Architecture/!d;s/^.*= //' /etc/pacman.conf>.temp-alpps/snapshot.architecture
    [[ ! -s .temp-alpps/snapshot.architecture || auto == $(<.temp-alpps/snapshot.architecture) ]] && $x>.temp-alpps/snapshot.architecture
    sed -r '/^SyncFirst/!d;s/.*= //;s/ /\n/g' /etc/pacman.conf>.temp-alpps/snapshot.prioritypackages
    echo "Current state recorded."
    else
    echo "You seem to be running ALPPs on an unsupported system."
    echo "ALPPS is the ${lgreen}Arch Linux Pacman Proxy Script${dull} and simply"
    echo "won't run properly on a non-pacman OS (except when proxying)."
    echo "Aborting. Sorry."
    exit 1 ; fi
    fetchdb)
    [[ -d downloads ]] || mkdir downloads
    arch=$(<.temp-alpps/snapshot.architecture)
    declare -A download_array
    for repo in $(<.temp-alpps/snapshot.repositories) ; do
    download_array[${repo}.db]=$repo
    location="${repo}.db"
    failover_fetch $location ; done
    if [[ j$2 != jsimple ]] ; then
    [[ -d log-alpps ]] || mkdir log-alpps
    [[ -a syncfirst ]] && rm -f syncfirst
    echo "Preparing databases for local processing. This might take a while."
    for x in $(<.temp-alpps/snapshot.repositories) ; do
    echo "Preparing $x.db"
    if [[ -a downloads/$x.db ]] ; then
    [[ -d .temp-alpps/$x.db ]] || mkdir .temp-alpps/$x.db/
    tar -xzC .temp-alpps/$x.db/ -f downloads/$x.db --transform 's/:/§/' --no-same-owner && echo "$x database ready for use."
    else
    echo -e "Database $x.db is missing. Skipping. This will probably cause problems." ; fi ; done
    # SyncFirst package warning
    [[ -z $download_list ]] || unset download_list
    [[ -a syncfirst ]] && rm -f syncfirst
    for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
    find_dependencies $x ; done
    bugspray "download_files: $download_files" 2
    if [[ ! -z $download_files ]] ; then
    echo "New version(s) of SyncFirst package(s):"
    for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
    [[ ! -z `echo $download_files|grep $x` ]] && echo "- $x" && echo $x>>syncfirst ; done
    echo "Package names placed in 'syncfirst'. Don't forget to download them!" ; fi ; fi
    fetch)
    for x in $(<.temp-alpps/snapshot.repositories) ; do
    if ! [[ -d .temp-alpps/$x.db/ ]] ; then
    bugspray "You must first download a fresh database with the \"fetchdb\" option" 0
    exit 1 ; fi ; done
    arch=$(<.temp-alpps/snapshot.architecture)
    unset download_array
    declare -A download_array
    unset download_files
    if [[ $2 == full ]] ; then
    echo " Building full upgrade list. This will almost certainly take a while."
    echo " Please wait..."
    for y in `sed -r 's/^(.*) .*/\1/' .temp-alpps/snapshot.state` ; do
    bugspray "Examining $y" 1
    find_dependencies $y ; done
    elif [[ -a $2 ]] ; then
    echo " Determining dependencies. This might take a while. Please wait."
    for y in $(<$2) ; do
    bugspray "Examining $y" 1
    find_dependencies $y ; done
    else
    echo " Error: you should provide a list-file or the keyword \"full\"."
    echo " (see 'alpps.sh howto', step 2)"
    exit 1 ; fi
    if [[ -z $download_files ]] ; then
    echo " No files to download: either none found, or all found are up to date."
    else
    [[ -d downloads ]] || mkdir downloads
    for x in $download_files ; do
    failover_fetch $x ; done ; fi
    install)
    dbpath=`sed -r '/^DBPath/!d;s/^.*= //' /etc/pacman.conf`
    [[ -z $dbpath ]] && dbpath="/var/lib/pacman/"
    bugspray "dbpath: $dbpath" 2
    echo " Updating databases"
    cp -ft ${dbpath}sync/ downloads/*.db
    cachedir=`sed -r '/^CacheDir/!d;s/^.*= //' /etc/pacman.conf`
    [[ -z $cachedir ]] && cachedir="/var/cache/pacman/pkg/"
    echo " Caching packages"
    cp -f downloads/*.pkg.tar.xz $cachedir
    echo
    echo " Don't forget to install/update your packages."
    echo " Exercise proper caution."
    echo " Have fun!"
    clean)
    echo "Cleaning up. This might take a while."
    rm -fr .temp-alpps/ && echo "Buffer directory deleted" || echo "Problem deleting buffer directory '.temp-alpps/'"
    rm -fr log-alpps/ && echo "Log directory deleted" || echo "Problem deleting 'log-alpps/'"
    rm -fr downloads/ && echo "Downloaded packages deleted" || echo "Problem deleting 'downloads/'"
    echo
    echo -e " ${lgreen}Arch Linux pacman proxy script${dull}"
    echo
    echo -e " ${green}Description${dull}"
    echo -e " ${green}===========${dull}"
    echo -e " This is a bash script to fetch and install packages for an offline Arch box"
    echo " using another, online box as a proxy of sorts. So far, this only works if"
    echo " the proxy box has bash, wget, tar, sed and grep installed."
    echo " It's probably also entirely unsafe, incompatible and will destroy your box"
    echo " in a fiery blaze if you try to use it (you know the drill)."
    echo
    echo -e " ${green}Options${dull}"
    echo -e " ${green}=======${dull}"
    echo " init Step 0 (as it were): take a snapshot of your system"
    echo " fetchdb Step 1: download the packagelist database"
    echo " fetch <file> Step 2: download requested packages"
    echo " install Step 3: update your system"
    echo " clean Step 4: delete any unneeded files"
    echo
    echo " howto More detailed instructions"
    echo " bugs Problems and future plans"
    echo " faq As it says"
    echo " warranty (in case it ever becomes necessary)"
    echo " version (to be honest, I wasn't expecting to go beyond v1-rc or so)"
    echo " help You're reading it, doofus :^)"
    echo
    # dl_list Test the find_dependencies function"
    # verint Test the compare_versions function"
    esac
    I've always resorted to use VPN, then I started using cntlm, this looks very useful (and a lot of work on your part!) Thanks alot!
    DoctorZeus

  • HP DV6000 randomly freezing with Arch Linux

    Hello,
    Just to clarify I am working with Arch Linux as a Web Developer, therefore I do have special needs such as having 20+ tabs open with vital information in different pages.
    I can assure that after using Windows XP, Windows 7, xUbuntu, Linux Mint and Ubuntu I have never had such breaks or freezes in this machine.
    The freezes are identifiable when the mouse seems to be very slow to move, the computer very slow to respond, the cursor of the icon does not change within the context where it is, I can't even open the menu bar to access the terminal (using Terminator).
    After noticing these randomly freezes, I've started to keep the Terminator open with top command inserted. After seeing the values of percentage usage in CPU or RAM, the levels don't even go up more than 20%. However, I notice that the laptop suddenly starts heating a lot.
    The solution is just to wait with some luck about 10 minutes. If it does not go on after that, I need to turn off the computer by pressing the button or unplugging the battery (yeah, the battery is dead too).
    Some main packages I currently use are:
    - Cinnamon
    - Filezilla
    - Netbeans PHP IDE 8.0
    - Skype
    - Geany
    - 7-Zip FM
    - Adobe Flash Player
    - Chromium (my main browser)
    - Firefox
    - SSH
    - Htop
    - VLC Media Player
    - Terminator
    Any ideas of what could it be?
    Thanks!
    Last edited by SirPereira (2014-05-19 14:52:56)

    Rexilion wrote:
    It seems you do not have any swap. Correct?
    Could you provide the output of dmesg after the occurance?
    Yes, you are correct, I do not have any swap. Would I benefit from it? I guess I never used it.
    After the occurance you mean, after the freeze? I will try to do it, but it is rare the case when the computer is able to not freeze at all.
    Got it now:
    The output of dmesg:
    [ 0.443614] pcieport 0000:00:1c.3: irq 43 for MSI/MSI-X
    [ 0.443838] pcieport 0000:00:1c.4: irq 44 for MSI/MSI-X
    [ 0.444061] pcieport 0000:00:1c.5: irq 45 for MSI/MSI-X
    [ 0.444184] pcieport 0000:00:01.0: Signaling PME through PCIe PME interrupt
    [ 0.444187] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444190] pcie_pme 0000:00:01.0:pcie01: service driver pcie_pme loaded
    [ 0.444210] pcieport 0000:00:1c.0: Signaling PME through PCIe PME interrupt
    [ 0.444213] pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444217] pcie_pme 0000:00:1c.0:pcie01: service driver pcie_pme loaded
    [ 0.444237] pcieport 0000:00:1c.1: Signaling PME through PCIe PME interrupt
    [ 0.444239] pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444243] pcie_pme 0000:00:1c.1:pcie01: service driver pcie_pme loaded
    [ 0.444266] pcieport 0000:00:1c.3: Signaling PME through PCIe PME interrupt
    [ 0.444271] pcie_pme 0000:00:1c.3:pcie01: service driver pcie_pme loaded
    [ 0.444290] pcieport 0000:00:1c.4: Signaling PME through PCIe PME interrupt
    [ 0.444293] pci 0000:06:00.0: Signaling PME through PCIe PME interrupt
    [ 0.444295] pci 0000:06:00.1: Signaling PME through PCIe PME interrupt
    [ 0.444297] pci 0000:06:00.2: Signaling PME through PCIe PME interrupt
    [ 0.444298] pci 0000:06:00.3: Signaling PME through PCIe PME interrupt
    [ 0.444300] pci 0000:06:00.4: Signaling PME through PCIe PME interrupt
    [ 0.444305] pcie_pme 0000:00:1c.4:pcie01: service driver pcie_pme loaded
    [ 0.444324] pcieport 0000:00:1c.5: Signaling PME through PCIe PME interrupt
    [ 0.444329] pcie_pme 0000:00:1c.5:pcie01: service driver pcie_pme loaded
    [ 0.444345] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
    [ 0.444364] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
    [ 0.444399] intel_idle: does not run on family 6 model 23
    [ 0.444441] GHES: HEST is not enabled!
    [ 0.444500] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [ 0.444971] Linux agpgart interface v0.103
    [ 0.445012] rtc_cmos 00:03: RTC can wake from S4
    [ 0.445141] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
    [ 0.445167] rtc_cmos 00:03: alarms up to one month, 242 bytes nvram, hpet irqs
    [ 0.445178] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.445322] TCP: cubic registered
    [ 0.445446] NET: Registered protocol family 10
    [ 0.445656] NET: Registered protocol family 17
    [ 0.445905] registered taskstats version 1
    [ 0.446529] Magic number: 14:681:877
    [ 0.446613] rtc_cmos 00:03: setting system clock to 2014-05-20 08:51:33 UTC (1400575893)
    [ 0.446705] PM: Hibernation image not present or could not be loaded.
    [ 0.447929] Freeing unused kernel memory: 1120K (ffffffff818d8000 - ffffffff819f0000)
    [ 0.447931] Write protecting the kernel read-only data: 8192k
    [ 0.450553] Freeing unused kernel memory: 904K (ffff88000151e000 - ffff880001600000)
    [ 0.451721] Freeing unused kernel memory: 416K (ffff880001798000 - ffff880001800000)
    [ 0.458667] random: systemd-tmpfile urandom read with 2 bits of entropy available
    [ 0.460077] systemd-udevd[47]: starting version 212
    [ 0.478236] i8042: PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUE] at 0x60,0x64 irq 1,12
    [ 0.489263] ACPI: bus type USB registered
    [ 0.489293] usbcore: registered new interface driver usbfs
    [ 0.489304] usbcore: registered new interface driver hub
    [ 0.494274] sdhci: Secure Digital Host Controller Interface driver
    [ 0.494278] sdhci: Copyright(c) Pierre Ossman
    [ 0.494499] sdhci-pci 0000:06:00.1: SDHCI controller found [197b:2382] (rev 0)
    [ 0.494708] mmc0: SDHCI controller on PCI [0000:06:00.1] using DMA
    [ 0.494739] sdhci-pci 0000:06:00.2: SDHCI controller found [197b:2381] (rev 0)
    [ 0.494796] sdhci-pci 0000:06:00.2: Refusing to bind to secondary interface.
    [ 0.499195] usbcore: registered new device driver usb
    [ 0.499671] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 0.499940] uhci_hcd: USB Universal Host Controller Interface driver
    [ 0.500201] ehci-pci: EHCI PCI platform driver
    [ 0.500769] uhci_hcd 0000:00:1a.0: UHCI Host Controller
    [ 0.500777] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 1
    [ 0.500786] uhci_hcd 0000:00:1a.0: detected 2 ports
    [ 0.500808] uhci_hcd 0000:00:1a.0: irq 16, io base 0x000080e0
    [ 0.501200] hub 1-0:1.0: USB hub found
    [ 0.501209] hub 1-0:1.0: 2 ports detected
    [ 0.501580] uhci_hcd 0000:00:1a.1: UHCI Host Controller
    [ 0.501587] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 2
    [ 0.501593] uhci_hcd 0000:00:1a.1: detected 2 ports
    [ 0.501626] uhci_hcd 0000:00:1a.1: irq 21, io base 0x000080c0
    [ 0.503178] SCSI subsystem initialized
    [ 0.503409] hub 2-0:1.0: USB hub found
    [ 0.503419] hub 2-0:1.0: 2 ports detected
    [ 0.503907] ehci-pci 0000:00:1a.7: EHCI Host Controller
    [ 0.503914] ehci-pci 0000:00:1a.7: new USB bus registered, assigned bus number 3
    [ 0.503929] ehci-pci 0000:00:1a.7: debug port 1
    [ 0.507842] ehci-pci 0000:00:1a.7: cache line size of 64 is not supported
    [ 0.507859] ehci-pci 0000:00:1a.7: irq 19, io mem 0xdd005c00
    [ 0.508093] libata version 3.00 loaded.
    [ 0.508752] serio: i8042 KBD port at 0x60,0x64 irq 1
    [ 0.508793] serio: i8042 AUX port at 0x60,0x64 irq 12
    [ 0.513351] ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00
    [ 0.513563] hub 3-0:1.0: USB hub found
    [ 0.513629] hub 3-0:1.0: 4 ports detected
    [ 0.536813] hub 1-0:1.0: USB hub found
    [ 0.536828] hub 1-0:1.0: 2 ports detected
    [ 0.556530] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
    [ 0.560059] hub 2-0:1.0: USB hub found
    [ 0.560067] hub 2-0:1.0: 2 ports detected
    [ 0.560345] ehci-pci 0000:00:1d.7: EHCI Host Controller
    [ 0.560352] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 4
    [ 0.560366] ehci-pci 0000:00:1d.7: debug port 1
    [ 0.563401] firewire_ohci 0000:06:00.0: added OHCI v1.10 device as card 0, 4 IR + 0 IT contexts, quirks 0x10
    [ 0.568179] ehci-pci 0000:00:1d.7: cache line size of 64 is not supported
    [ 0.568198] ehci-pci 0000:00:1d.7: irq 20, io mem 0xdd005800
    [ 0.576683] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
    [ 0.576856] hub 4-0:1.0: USB hub found
    [ 0.576865] hub 4-0:1.0: 8 ports detected
    [ 0.577213] uhci_hcd 0000:00:1d.0: UHCI Host Controller
    [ 0.577220] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 5
    [ 0.577228] uhci_hcd 0000:00:1d.0: detected 2 ports
    [ 0.577249] uhci_hcd 0000:00:1d.0: irq 20, io base 0x000080a0
    [ 0.577420] hub 5-0:1.0: USB hub found
    [ 0.577429] hub 5-0:1.0: 2 ports detected
    [ 0.577678] uhci_hcd 0000:00:1d.1: UHCI Host Controller
    [ 0.577684] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 6
    [ 0.577691] uhci_hcd 0000:00:1d.1: detected 2 ports
    [ 0.577712] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00008080
    [ 0.577877] hub 6-0:1.0: USB hub found
    [ 0.577885] hub 6-0:1.0: 2 ports detected
    [ 0.578124] uhci_hcd 0000:00:1d.2: UHCI Host Controller
    [ 0.578130] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 7
    [ 0.578136] uhci_hcd 0000:00:1d.2: detected 2 ports
    [ 0.578156] uhci_hcd 0000:00:1d.2: irq 16, io base 0x00008060
    [ 0.578323] hub 7-0:1.0: USB hub found
    [ 0.578331] hub 7-0:1.0: 2 ports detected
    [ 0.578566] uhci_hcd 0000:00:1d.3: UHCI Host Controller
    [ 0.578573] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 8
    [ 0.578579] uhci_hcd 0000:00:1d.3: detected 2 ports
    [ 0.578609] uhci_hcd 0000:00:1d.3: irq 18, io base 0x00008040
    [ 0.578778] hub 8-0:1.0: USB hub found
    [ 0.578786] hub 8-0:1.0: 2 ports detected
    [ 0.579138] ahci 0000:00:1f.2: version 3.0
    [ 0.579314] ahci 0000:00:1f.2: irq 46 for MSI/MSI-X
    [ 0.579386] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 4 ports 3 Gbps 0x33 impl SATA mode
    [ 0.579390] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part ccc ems sxs
    [ 0.597458] scsi0 : ahci
    [ 0.597577] scsi1 : ahci
    [ 0.597688] scsi2 : ahci
    [ 0.597787] scsi3 : ahci
    [ 0.597890] scsi4 : ahci
    [ 0.597988] scsi5 : ahci
    [ 0.598049] ata1: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005100 irq 46
    [ 0.598053] ata2: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005180 irq 46
    [ 0.598054] ata3: DUMMY
    [ 0.598056] ata4: DUMMY
    [ 0.598058] ata5: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005300 irq 46
    [ 0.598060] ata6: SATA max UDMA/133 abar m2048@0xdd005000 port 0xdd005380 irq 46
    [ 0.916700] ata6: SATA link down (SStatus 0 SControl 300)
    [ 0.916718] ata5: SATA link down (SStatus 0 SControl 300)
    [ 1.063421] firewire_core 0000:06:00.0: created device fw0: GUID 0000000000000000, S400
    [ 1.083353] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    [ 1.083369] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [ 1.083987] ata1.00: ATA-8: TOSHIBA MK5055GSX, FG002C, max UDMA/100
    [ 1.083990] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 1.084680] ata1.00: configured for UDMA/100
    [ 1.084792] scsi 0:0:0:0: Direct-Access ATA TOSHIBA MK5055GS FG00 PQ: 0 ANSI: 5
    [ 1.087088] ata2.00: ATAPI: HL-DT-ST DVDRAM GSA-T50L, SC04, max UDMA/100
    [ 1.092125] ata2.00: configured for UDMA/100
    [ 1.113361] usb 2-2: new low-speed USB device number 2 using uhci_hcd
    [ 1.203938] scsi 1:0:0:0: CD-ROM HL-DT-ST DVDRAM GSA-T50L SC04 PQ: 0 ANSI: 5
    [ 1.208648] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    [ 1.208739] sd 0:0:0:0: [sda] Write Protect is off
    [ 1.208743] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
    [ 1.208779] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [ 1.290173] hidraw: raw HID events driver (C) Jiri Kosina
    [ 1.323084] sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
    [ 1.323088] cdrom: Uniform CD-ROM driver Revision: 3.20
    [ 1.323226] sr 1:0:0:0: Attached scsi CD-ROM sr0
    [ 1.325332] usbcore: registered new interface driver usbhid
    [ 1.325335] usbhid: USB HID core driver
    [ 1.325918] input: Microsoft Wired Keyboard 600 as /devices/pci0000:00/0000:00:1a.1/usb2/2-2/2-2:1.0/0003:045E:0750.0001/input/input2
    [ 1.326088] hid-generic 0003:045E:0750.0001: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Wired Keyboard 600] on usb-0000:00:1a.1-2/input0
    [ 1.336169] input: Microsoft Wired Keyboard 600 as /devices/pci0000:00/0000:00:1a.1/usb2/2-2/2-2:1.1/0003:045E:0750.0002/input/input3
    [ 1.336217] hid-generic 0003:045E:0750.0002: input,hidraw1: USB HID v1.11 Device [Microsoft Wired Keyboard 600] on usb-0000:00:1a.1-2/input1
    [ 1.418377] sda: sda1 sda2
    [ 1.418731] sd 0:0:0:0: [sda] Attached SCSI disk
    [ 1.426688] tsc: Refined TSC clocksource calibration: 2394.269 MHz
    [ 1.446699] usb 4-4: new high-speed USB device number 3 using ehci-pci
    [ 2.115101] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.200031] usb 5-1: new low-speed USB device number 2 using uhci_hcd
    [ 2.385422] input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/0003:046D:C05A.0003/input/input4
    [ 2.385472] hid-generic 0003:046D:C05A.0003: input,hidraw2: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-0000:00:1d.0-1/input0
    [ 2.426729] Switched to clocksource tsc
    [ 2.490018] usb 7-2: new full-speed USB device number 2 using uhci_hcd
    [ 2.502963] random: nonblocking pool is initialized
    [ 2.721320] systemd[1]: systemd 212 running in system mode. (+PAM -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP -APPARMOR)
    [ 2.721454] systemd[1]: Detected architecture 'x86-64'.
    [ 2.739429] systemd[1]: Set hostname to <arch>.
    [ 3.632105] systemd[1]: Configuration file /etc/systemd/system/netctl@my\x2dnetwork.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.
    [ 3.755410] systemd[1]: Starting Login Prompts.
    [ 3.755928] systemd[1]: Reached target Login Prompts.
    [ 3.755939] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
    [ 3.755992] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ 3.756002] systemd[1]: Starting Remote File Systems.
    [ 3.756478] systemd[1]: Reached target Remote File Systems.
    [ 3.756488] systemd[1]: Expecting device sys-subsystem-net-devices-wlan0.device...
    [ 3.756839] systemd[1]: Starting Encrypted Volumes.
    [ 3.757313] systemd[1]: Reached target Encrypted Volumes.
    [ 3.757330] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
    [ 3.757364] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ 3.757373] systemd[1]: Starting Paths.
    [ 3.757845] systemd[1]: Reached target Paths.
    [ 3.757866] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
    [ 3.758419] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
    [ 3.758432] systemd[1]: Starting Swap.
    [ 3.758902] systemd[1]: Reached target Swap.
    [ 3.758913] systemd[1]: Expecting device dev-disk-by\x2duuid-3e31eb5f\x2d326a\x2d4cd0\x2daab3\x2d7d1e7ac0797b.device...
    [ 3.759249] systemd[1]: Starting Root Slice.
    [ 3.766515] systemd[1]: Created slice Root Slice.
    [ 3.766527] systemd[1]: Starting User and Session Slice.
    [ 3.767173] systemd[1]: Created slice User and Session Slice.
    [ 3.767184] systemd[1]: Starting Device-mapper event daemon FIFOs.
    [ 3.767681] systemd[1]: Listening on Device-mapper event daemon FIFOs.
    [ 3.767691] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
    [ 3.768180] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [ 3.768189] systemd[1]: Starting Delayed Shutdown Socket.
    [ 3.768677] systemd[1]: Listening on Delayed Shutdown Socket.
    [ 3.768687] systemd[1]: Starting LVM2 metadata daemon socket.
    [ 3.769176] systemd[1]: Listening on LVM2 metadata daemon socket.
    [ 3.769189] systemd[1]: Starting udev Control Socket.
    [ 3.769676] systemd[1]: Listening on udev Control Socket.
    [ 3.769688] systemd[1]: Starting udev Kernel Socket.
    [ 3.770181] systemd[1]: Listening on udev Kernel Socket.
    [ 3.770192] systemd[1]: Starting Journal Socket.
    [ 3.770700] systemd[1]: Listening on Journal Socket.
    [ 3.770716] systemd[1]: Starting System Slice.
    [ 3.771341] systemd[1]: Created slice System Slice.
    [ 3.771357] systemd[1]: Started File System Check on Root Device.
    [ 3.771365] systemd[1]: Starting system-systemd\x2dfsck.slice.
    [ 3.772001] systemd[1]: Created slice system-systemd\x2dfsck.slice.
    [ 3.772011] systemd[1]: Mounting Temporary Directory...
    [ 3.790231] systemd[1]: Starting system-netctl.slice.
    [ 3.790914] systemd[1]: Created slice system-netctl.slice.
    [ 3.790930] systemd[1]: Starting system-getty.slice.
    [ 3.791567] systemd[1]: Created slice system-getty.slice.
    [ 3.809849] systemd[1]: Started Set Up Additional Binary Formats.
    [ 3.852492] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    [ 3.876658] systemd[1]: Starting Apply Kernel Variables...
    [ 3.877416] systemd[1]: Mounting POSIX Message Queue File System...
    [ 3.878150] systemd[1]: Mounting Huge Pages File System...
    [ 3.878884] systemd[1]: Starting udev Coldplug all Devices...
    [ 3.879636] systemd[1]: Starting Setup Virtual Console...
    [ 3.880782] systemd[1]: Started Load Kernel Modules.
    [ 3.880820] systemd[1]: Mounting Configuration File System...
    [ 3.881579] systemd[1]: Mounting Debug File System...
    [ 3.882319] systemd[1]: Mounted FUSE Control File System.
    [ 3.882346] systemd[1]: Starting Journal Service...
    [ 3.883635] systemd[1]: Started Journal Service.
    [ 4.312288] EXT4-fs (sda1): re-mounted. Opts: data=ordered
    [ 4.431925] systemd-udevd[146]: starting version 212
    [ 5.513427] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input5
    [ 5.513433] ACPI: Power Button [PWRB]
    [ 5.513493] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input6
    [ 5.513777] ACPI: Lid Switch [LID0]
    [ 5.513831] input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input7
    [ 5.513834] ACPI: Sleep Button [SLPB]
    [ 5.513911] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input8
    [ 5.513914] ACPI: Power Button [PWRF]
    [ 5.596907] ACPI: AC Adapter [ACAD] (on-line)
    [ 5.645033] snd_hda_intel 0000:00:1b.0: irq 47 for MSI/MSI-X
    [ 5.657955] ACPI: Video Device [VGA] (multi-head: yes rom: no post: no)
    [ 5.661096] acpi device:08: registered as cooling_device0
    [ 5.663657] acpi device:0a: registered as cooling_device1
    [ 5.663725] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/LNXVIDEO:01/input/input9
    [ 5.708497] hp_accel: laptop model unknown, using default axes configuration
    [ 5.720053] lis3lv02d: 8 bits sensor found
    [ 5.729279] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
    [ 5.791571] ene_ir: chip is 0x3926 - kbver = 0x00, rev = 0xc0
    [ 5.791574] ene_ir: PLL freq = 1406
    [ 5.791575] ene_ir: KB3926C detected
    [ 5.791586] ene_ir: Firmware regs: 00 00
    [ 5.791587] ene_ir: Hardware features:
    [ 5.791589] ene_ir: * Uses GPIO 40 for IR demodulated input
    [ 5.821208] Monitor-Mwait will be used to enter C-1 state
    [ 5.821217] Monitor-Mwait will be used to enter C-2 state
    [ 5.821221] Monitor-Mwait will be used to enter C-3 state
    [ 5.821225] tsc: Marking TSC unstable due to TSC halts in idle
    [ 5.821242] ACPI: acpi_idle registered with cpuidle
    [ 5.821270] Switched to clocksource hpet
    [ 5.827916] Registered IR keymap rc-rc6-mce
    [ 5.828003] input: ENE eHome Infrared Remote Receiver as /devices/virtual/rc/rc0/input10
    [ 5.828066] rc0: ENE eHome Infrared Remote Receiver as /devices/virtual/rc/rc0
    [ 5.840895] ene_ir: driver has been successfully loaded
    [ 5.848018] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input11
    [ 5.877265] IR JVC protocol handler initialized
    [ 5.878491] IR NEC protocol handler initialized
    [ 5.879175] IR RC6 protocol handler initialized
    [ 5.880281] IR RC5(x) protocol handler initialized
    [ 5.880739] IR SANYO protocol handler initialized
    [ 5.881059] input: MCE IR Keyboard/Mouse (ene_ir) as /devices/virtual/input/input12
    [ 5.881065] IR MCE Keyboard/mouse protocol handler initialized
    [ 5.881065] IR Sony protocol handler initialized
    [ 5.881758] lirc_dev: IR Remote Control driver registered, major 249
    [ 5.882267] rc rc0: lirc_dev: driver ir-lirc-codec (ene_ir) registered at minor = 0
    [ 5.882270] IR LIRC bridge handler initialized
    [ 5.891466] [Firmware Bug]: Invalid critical threshold (0)
    [ 5.892123] thermal LNXTHERM:00: registered as thermal_zone0
    [ 5.892126] ACPI: Thermal Zone [TZ01] (31 C)
    [ 5.903447] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input13
    [ 5.903835] wmi: Mapper loaded
    [ 5.927466] ACPI: Battery Slot [BAT0] (battery present)
    [ 6.029419] [drm] Initialized drm 1.1.0 20060810
    [ 6.114983] cfg80211: Calling CRDA to update world regulatory domain
    [ 6.137776] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042f conflicts with OpRegion 0x0000000000000400-0x000000000000047f (\PMBA) (20131218/utaddress-258)
    [ 6.137785] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.137789] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052f conflicts with OpRegion 0x0000000000000500-0x000000000000050f (\GPIO) (20131218/utaddress-258)
    [ 6.137793] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.137822] lpc_ich: Resource conflict(s) found affecting gpio_ich
    [ 6.180252] Intel(R) Wireless WiFi driver for Linux, in-tree:
    [ 6.180255] Copyright(c) 2003- 2014 Intel Corporation
    [ 6.180475] iwlwifi 0000:02:00.0: irq 48 for MSI/MSI-X
    [ 6.287693] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
    [ 6.287960] r8169 0000:03:00.0: irq 49 for MSI/MSI-X
    [ 6.288149] r8169 0000:03:00.0 eth0: RTL8168c/8111c at 0xffffc9000584a000, 00:00:00:00:00:00, XID 1c4000c0 IRQ 49
    [ 6.288152] r8169 0000:03:00.0 eth0: jumbo features [frames: 6128 bytes, tx checksumming: ko]
    [ 6.345229] mousedev: PS/2 mouse device common for all mice
    [ 6.436120] ACPI Warning: SystemIO range 0x0000000000008000-0x000000000000801f conflicts with OpRegion 0x0000000000008000-0x000000000000800f (\_SB_.PCI0.SBUS.SMBI) (20131218/utaddress-258)
    [ 6.436128] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
    [ 6.526671] microcode: CPU0 sig=0x10676, pf=0x80, revision=0x60c
    [ 6.535077] media: Linux media interface: v0.10
    [ 6.569608] microcode: CPU1 sig=0x10676, pf=0x80, revision=0x60c
    [ 6.569745] microcode: Microcode Update Driver: v2.00 <[email protected]>, Peter Oruba
    [ 6.570548] input: HDA Intel HDMI/DP,pcm=3 Phantom as /devices/pci0000:00/0000:00:1b.0/sound/card0/input17
    [ 6.570639] input: HDA Intel Front Line Out as /devices/pci0000:00/0000:00:1b.0/sound/card0/input16
    [ 6.570714] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input15
    [ 6.581760] input: PC Speaker as /devices/platform/pcspkr/input/input18
    [ 6.599116] iwlwifi 0000:02:00.0: loaded firmware version 8.83.5.1 build 33692 op_mode iwldvm
    [ 6.683172] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG disabled
    [ 6.683177] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
    [ 6.683179] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
    [ 6.683182] iwlwifi 0000:02:00.0: Detected Intel(R) WiFi Link 5100 AGN, REV=0x54
    [ 6.683232] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
    [ 6.701985] Linux video capture interface: v2.00
    [ 6.780556] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
    [ 6.922833] nvidia: module license 'NVIDIA' taints kernel.
    [ 6.922839] Disabling lock debugging due to kernel taint
    [ 6.939605] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
    [ 6.939882] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 0
    [ 6.939892] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 337.12 Fri Apr 4 14:51:15 PDT 2014
    [ 6.991292] iTCO_vendor_support: vendor-support=0
    [ 6.991687] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
    [ 6.991726] iTCO_wdt: Found a ICH9M TCO device (Version=2, TCOBASE=0x0460)
    [ 6.991831] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
    [ 7.064547] input: HP WMI hotkeys as /devices/virtual/input/input19
    [ 7.066862] systemd-udevd[153]: renamed network interface eth0 to enp3s0
    [ 7.089277] Bluetooth: Core ver 2.18
    [ 7.089304] NET: Registered protocol family 31
    [ 7.089306] Bluetooth: HCI device and connection manager initialized
    [ 7.089316] Bluetooth: HCI socket layer initialized
    [ 7.089319] Bluetooth: L2CAP socket layer initialized
    [ 7.089331] Bluetooth: SCO socket layer initialized
    [ 7.097641] gpio_ich: GPIO from 195 to 255 on gpio_ich
    [ 7.119889] uvcvideo: Found UVC 1.00 device HP Webcam (05c8:010f)
    [ 7.125560] usbcore: registered new interface driver btusb
    [ 7.136432] input: HP Webcam as /devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.0/input/input20
    [ 7.136523] usbcore: registered new interface driver uvcvideo
    [ 7.136525] USB Video Class driver (1.1.1)
    [ 7.162108] kvm: disabled by bios
    [ 7.167498] systemd-udevd[149]: renamed network interface wlan0 to wlp2s0
    [ 7.515656] psmouse serio1: synaptics: Touchpad model: 1, fw: 6.5, id: 0x1c0b1, caps: 0xa04751/0xa00000/0x0, board id: 3655, fw id: 428212
    [ 7.594362] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input14
    [ 7.949749] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: data=ordered
    [ 8.055002] systemd-journald[127]: Received request to flush runtime journal from PID 1
    [ 13.835532] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
    [ 13.838466] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0
    [ 13.935096] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
    [ 13.938046] iwlwifi 0000:02:00.0: Radio type=0x1-0x2-0x0
    [ 13.964225] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
    [ 14.845976] nvidia 0000:01:00.0: irq 50 for MSI/MSI-X
    [ 20.903153] wlp2s0: authenticate with b8:c7:5d:02:3b:9d
    [ 20.906517] wlp2s0: send auth to b8:c7:5d:02:3b:9d (try 1/3)
    [ 20.909113] wlp2s0: authenticated
    [ 20.910074] wlp2s0: associate with b8:c7:5d:02:3b:9d (try 1/3)
    [ 20.913437] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9d (capab=0x1431 status=0 aid=7)
    [ 20.918955] wlp2s0: associated
    [ 20.919008] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
    [ 21.089546] wlp2s0: deauthenticating from b8:c7:5d:02:3b:9d by local choice (reason=2)
    [ 21.096263] wlp2s0: authenticate with b8:c7:5d:02:3b:9d
    [ 21.099042] wlp2s0: send auth to b8:c7:5d:02:3b:9d (try 1/3)
    [ 21.099780] cfg80211: Calling CRDA for country: AT
    [ 21.101974] wlp2s0: authenticated
    [ 21.103555] wlp2s0: associate with b8:c7:5d:02:3b:9d (try 1/3)
    [ 21.108457] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9d (capab=0x1431 status=0 aid=7)
    [ 21.115231] wlp2s0: associated
    [ 26.591580] fuse init (API version 7.22)
    [ 148.105211] wlp2s0: authenticate with b8:c7:5d:02:3b:9e
    [ 148.107797] wlp2s0: direct probe to b8:c7:5d:02:3b:9e (try 1/3)
    [ 148.108518] cfg80211: Calling CRDA to update world regulatory domain
    [ 148.310034] wlp2s0: direct probe to b8:c7:5d:02:3b:9e (try 2/3)
    [ 148.513366] wlp2s0: send auth to b8:c7:5d:02:3b:9e (try 3/3)
    [ 148.514272] wlp2s0: authenticated
    [ 148.516865] wlp2s0: associate with b8:c7:5d:02:3b:9e (try 1/3)
    [ 148.517652] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9e (capab=0x1511 status=0 aid=4)
    [ 148.519034] wlp2s0: associated
    [ 148.531940] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by b8:c7:5d:02:3b:9e
    [ 231.077026] wlp2s0: authenticate with b8:c7:5d:02:3b:9d
    [ 231.080206] wlp2s0: send auth to b8:c7:5d:02:3b:9d (try 1/3)
    [ 231.081422] cfg80211: Calling CRDA to update world regulatory domain
    [ 231.082756] wlp2s0: authenticated
    [ 231.083955] wlp2s0: waiting for beacon from b8:c7:5d:02:3b:9d
    [ 231.362261] wlp2s0: authenticate with b8:c7:5d:02:3b:9e
    [ 231.365917] wlp2s0: send auth to b8:c7:5d:02:3b:9e (try 1/3)
    [ 231.380479] wlp2s0: authenticated
    [ 231.383400] wlp2s0: associate with b8:c7:5d:02:3b:9e (try 1/3)
    [ 231.386425] wlp2s0: RX AssocResp from b8:c7:5d:02:3b:9e (capab=0x1511 status=0 aid=4)
    [ 231.390072] wlp2s0: associated
    [ 231.481241] wlp2s0: Limiting TX power to 30 (30 - 0) dBm as advertised by b8:c7:5d:02:3b:9e
    [ 311.833862] perf samples too long (2511 > 2500), lowering kernel.perf_event_max_sample_rate to 50100
    [ 3074.285425] Watchdog[977]: segfault at 0 ip 00007f42693ed9b8 sp 00007f4251f777d0 error 6 in chromium[7f4265a4e000+55d7000]
    [ 3166.859073] chromium[1212]: segfault at 39 ip 00007f7ddd6a7280 sp 00007fff9d984088 error 6 in chromium[7f7ddcefc000+55d7000]
    [ 3172.385333] chromium[1169]: segfault at fbadbeef ip 00007f7ddf63345d sp 00007fff9d983f20 error 6 in chromium[7f7ddcefc000+55d7000]

  • Arch Linux Official Mirror Standards

    Hey guys, note that I've searched for this but couldn't find anything...
    Are there any kind of standards that must be met to become an "official mirror" for Arch Linux?
    I'm not wanting to mirror Arch, but just wondering about it because all the US mirrors seem really lousy, at least for the time being.  If there are some kind of standards that must be met, are these official mirrors meeting them?
    If there are no standards, shouldn't there be?
    I don't know much about mirroring, so the whole idea might be totally preposterous.  It just seems that Arch would want any official mirror to be up to par for it's role in representing the Arch Linux Community.
    Thanks for any information regarding the subject.

    neotuli wrote:
    I don't agree with OP and raymano at all. I'm just happy anyone is willing to mirror our repos and donate that kind of bandwidth. Also, you have to realize that most of our mirrors have enormous capacity, I mean we're talking almost 6TB a month kind of capacity (to use what ftp.archlinux.org used to burn up as a rough example).
    I'm just happy ANYONE is willing to donate that kinds of resources in the first place. Aren't you? If not, then why don't you make your own standards for mirrors, it's really easy to implement. Simply go through your pacman configuration, choose which mirrors fit your "approved" critera, and delete the rest. Then you'll be happy and the rest of us won't have to listen to you scream about how free isn't good enough.
    That's like saying giving rotten, rancid food to someone that's hungry is a good thing.

Maybe you are looking for

  • Loaded dump from 12.5.4 to 15.7, Error 622 & Tables/Views not found

    Hi all, I am getting desperate trying to fix that issue. I had to import a dump from an ASE 12.5.4 into a new database on an ASE 15.7. I therefore enabled the compatibility mode server-wide and then proceeded to the load which seems to have performed

  • Declare variables in an MDX query

    Is it possible to declare variables in an MDX query like transact sql? something like this: DECLARE @date1 date DECLARE @month1 int set @date1 = '12-12-2012' set @month1=DATEPART(m, @date1)-1 select @date1 as dt1, @mesreferencia as mt1

  • Image control synchronizing scroll bars

    Hello, I have a LabVIEW program using Vision that I want to use multiple Image controls in a VI.  I would like to be able to synchronize the movements of the scroll bars.  If a user scrolls left in one window, I want the other window(s) to also scrol

  • Past data between timed parallel loops

    Hello I am working with a piezo-motor system and a test machine. -I send a comand every 20 ms to a motor to generate a movement on a strenght test machine.  I have a timed while loop where I send the comands to the motor. The data I send is a SGL for

  • I'm trying to burn a Iphoto slideshow to DVD but the "burn" in the menu isn't active?

    I'm trying to burn a slideshow to a DVD but it isn't hightlighted in the menu?  Any ideas.  Also, is there a way to put captions under a photo that show up in the slide show? Thanks, Michael Quinn