Arch Linux – 1st Time; Prime Time
August 25, 2006
Oh my goodness, I’m in love. I have finally found my ideal Linux distribution. Since the fall of 2000, I have been using Slackware, and it’s been really great to me. Pat, slackware’s founder and maintainer, is an excellent guy and does a really good job at maintaining stability and security. As a developer and someone who likes to play around with bleeding edge software, I get excited over “the new stuff” and want to play with it right away. Because of slackware’s slow package releases and my distrust in linuxpackages.net, I was forced to create or edit slackbuilds for everything. The process can be slow, but is very worthwhile, because you get to control over how the packages are being assembled and thus get to set your own configurations.
Ultimately, I wanted something new; a linux distribution that would provide me with the bleeding edge. So, I started with debian and didn’t like it. I tried ubuntu and didn’t like it — it felt bloated, I couldn’t su, and I couldn’t get xwindows to stop locking up on me. I tried Arch Linx and… it was frickin awesome!
Arch Linux booted faster than any linux distro I’ve tried and installed almost as fast. Plus, the installation allowed for an FTP install of the packages in current, which slackware cannot not (as of 10.2). The init system is also great (seems to be BSD, with the use of rc.conf to enable what gets run on startup). Best of all is abs and pacman, the package management tool. Arch Linux makes it so fast to install pacakges, simply pacman -Sy packagename. The program abs allows you to edit and view the PKGBUILD (similar to slackbuilds) for installed packages; in addition, it allows you to maintain your own packages in the /var/abs/local/ directory. So you get the new packages which I was looking for and the control as I described above with the slackbuilds.
Earlier today, Chris made a comment about me not blogging enough, because he is right I will extend this post and provide you with a list of things I did during the setup:
- - First, I happened to lose my Internet connection during my FTP Install and thought I was screwed. But no. Arch Linux allows you to resume your FTP downloads by exiting the install step (ctrl-c) and redoing the install step.
- - Courtesy of slackware, I added this to my /etc/fstab so that I may read my windows partition, but only for users of the group windows (group id 101): /dev/sda1 /mnt/windows ntfs ro,gid=101,dmask=0227,fmask=0337 0 0
- - For the above to work, add the group windows (groupadd -f windows) and then modify your user’s groups to windows (usermod -G windows,users germ)
- - xorgconfig (or in my case, I just copied my /etc/xorg.config over from slackware)
- - pacman -Sy nvidia (drivers for my geforce 6800gt)
- - pacman -Sy xfce4
- - pacman -Sy xfce4-goodies
- - pacman -Sy numlockx
- - edit ~/.xinitrc to add “numlockx on” (numlock on for xwindows)
- - edit /etc/rc.local to add “for i in $(seq 6); do /usr/bin/setleds -D +num < /dev/tty${i} >/dev/null; done” as a bash script (numlock on for console)
- - added alsa and my mini firewall to the DAEMONS in /etc/rc.conf so that it would remember my alsamixer settings on boot
- - added MOD_BLACKLIST=(pcspkr) to get rid of that annoying pc speaker
- - the list goes on, and it’s nothing unique. you can find most of this stuff by searching through Arch Linux’s wiki.
So, if you want to try a new linux distro, and are looking for something lightweight and fast, then try Arch Linux.
Update Sitelutions With Router’s IP Script
December 3, 2005
Here is a python script I wrote that will update http://sitelutions.com/ with your Linksys BEFSR41 router’s IP address. The code will work with the Linksys WRT54GS router as well. But you will need to uncomment and comment code. It shouldn’t be too difficult to figure out where.
If someone would like to write the python code to daemonize this script, please do. Currently, I have it in my cron.daily.
Oh yeah, the script will not update sitelutions unless the router’s ip address is different than your domain name (yourdomain.com). I know that DynDNS requires users to update their dynamic ip address (regardless of whether it has not changed) every 30 days for their account to remain active. If sitelutions requries the same, please let me know so that I can add an option to the script. If they do, the script will never inform sitelutions that your IP has stayed the same and your account will expire.
The script: Update Sitelutions With Router’s IP
The script requires the Beautiful Soup package: Beautiful Soup
Xterm Color to Putty Color Chart
December 3, 2005
I just reinstalled windows and forgot to save my Putty session settings. I’m uploading the registry file for storage purposes, but feel free to use it. The colors were taken from someone’s .Xdeaults file I found a few years ago.
I’ll most likely update the attached file in a few weeks, after I use Putty more, because I can’t remember all of my old settings.
Here’s the file (p.s. it’s a .reg file): Putty Session Settings
And here’s the conversion:
color0 = black
color1 = red
color2 = green
color3 = yellow
color4 = blue
color5 = magenta
color6 = cyan
color7 = white
color8 = bold/bright black
color9 = bold/bright red
color10 = bold/bright green
color11 = bold/bright yellow
color12 = bold/bright blue
color13 = bold/bright magenta
color14 = bold/bright cyan
color15 = bold/bright white
screen irssi load script
December 3, 2005
This is a very useful script I wrote to load and run irssi in screen. I aliased it in .bash_profile to "irc". So, now I just run "irc" and if irssi has not been placed in screen already it will run irssi in screen; otherwise, it will attach irssi to the irc screen session. It makes running irc with screen superduper fast.
#!/bin/bash
# Run/Load IRC Script
# This script runs irssi in screen if it has not already been done.
# If irssi in screen is already running, it will then attach to
# the irc screen session for you.
if screen -ls | egrep '^[[:space:]]+[^[:space:]]' | awk '{print $1}' | egrep '.irc$'
then # running
screen -x irc
else # not running
screen -c ~/.screenrc.irc -S irc -t irssi irssi
fi
And here is .screenrc.irc
# detach on hangup
autodetach on
# multiusers
multiuser on
# no copyright notice during startup
startup_message off
# remove some bad bindings
bind k #kill
bind ^k #kill
bind . # dump termcap
bind ^h # hardcopy
bind h # hardcopy
bind A # title (clashes with vim's increment)
Something also useful: /bind meta-home scroll_start and /bind meta-end scroll_end (to scroll buffer to beginning and end with alt+home and alt+end, respectively).