Archives for posts with tag: GNU

How tech support works in Linux:

1.) have you tried turning it off and on again?

2.) have you read the manual?

3.) are you new to Linux?

4.) have you read the manual?

5.) check the logs

6.) have you read the manual?

7.) are you running the latest kernel?

8.) have you read the manual?

9.) follow this vague tutorial on a sketchy site and let me know when you’ve broken it more

10.) have you read the manual?

11.) flip a coin. If heads, reinstall your OS. If tails, it’s a hardware problem.

12.) RTFM. Goodbye.



One of the primary purposes of this blog is tutorials and guides in readable formats free of condescension or esoteric terms, so here’s a guide on commands you probably know.

This does NOT replace a working knowledge of Linux built through reading or experience, but should prove helpful in filling in gaps.

1. Disk partitioning:

The majority of Linux installers use a shiny GUI installer now that does all this for you, but it’s still important to know how to work with partitions, especially if you plan to dual-boot.

partition tools:

cfdisk- (my personal favorite)

a semi-GUI partition tool that is fairly self explanatory- you may have to use mkswap and/or mkfs afterward

parted- (second most common)

a far less friendly partition tool released by GNU. Some more picky operating systems will reject fdisk/cfdisk partition tables in favor of this, so it’s worth getting to know.

mkpart: makes a partition from x to y

— Command: mkpart [part-type fs-type name] start end

print: displays the current partition table

quit: exits

There are many other useful tools, but I do not have room to go into them

more on GNU parted:

also, I suggest using a graphing calculator or a piece of paper to record and calculate partition size and position as you go

2: Connecting to internet (the hard way)

internet configuration tools: ifconfig, iwconfig, wicd, wifi-menu, network-manager,ip-link

*note: this portion of the guide will NOT work on FreeBSD, or some Linux distros

Most distros will have a GUI and a proprietary network manager for that GUI, but it’s nice to know how to do this manually. Also note these programs can be used a number of ways and I am merely writing about how I use them. Also note I am not an expert in these areas.

iwconfig: primarily focuses on the hardware side of connecting. Just the command itself will show all network interfaces/adapters and their status.

iwconfig <interface> essid “network name”: will connect to “network name” without password

type “man iwconfig” for more info

ifconfig: deals more with the software side of networking, the command alone will list network info, such as IP address, subnet mask, etc.

ifconfig can be used similarly to iwconfig to connect to a network.

type “man ifconfig” for more info

ip-link: Not too familiar with this, but I’ve used it to disable and enable the network

ip-link set <interface name> down: will disable the network interface

ip-link set <interface name> up: will enable the network interface

type “man ip-link” for more info

Wicd, Network-Manager, and wifi-menu are separate application that must be installed to your system, but are more efficient and friendly in dealing with networks. Wicd will run in the background and auto-connect to the network of your choice, Network-Manager is the background process that enabled you to use the network icon in the top right in Gnome, and wifi-menu is a minimal menu used for one-time connection to a network.

3. File permissions/management.

Unlike the above commands, the command line is still superior to GUI for file permission and ownership management, since running the x server as root is a security nightmare.

tools for file permissions and management: chmod, chown, ls, cp, mv, ln

chmod: used to change a file’s permissions and access. There are many formats in which permissions may be granted, but I personally find the number one the easiest. It is worth taking the time to memorize.

chmod 777 <file_name>: never do this

chmod 666 <file_name>: never do this

chmod 700: owner and root can do whatever they want with the file, no one else can

it’s split up into 3 numbers: chmod <owner><group><public/other> <file_name>

7 = read, write, and execute

6 = read and write

5 = read and execute

4 = read only

(you will almost never need 2 or 3)

1 = execute only

0 = no permissions

chmod +x <file_name>: make executable

(also, you can make a file inaccessible to root using a command called sunlink, but sunlink may be removed by root so the trick will not usually work)

chown: change file owner

chown <owner> <file>

chown -R <owner> <file>: recursive, changes subdirectory ownership as well

ls: list files in a given directory

ls -a: list all files, even hidden

ls -l: list files and permissions

cd: change directory

cd <path>

ln: used for symlinks

I am not experienced with symlinks (symbolic links), but the command should look like this:

ln -s <source directory> <directory>

cp: copy

cp <path to file 1> <path to file 2>

mv: move

mv <path to file 1> <path to destination>

4. Scripting

This is me being hypocritical, but knowing both Perl and Bash scripting is essential to the advanced Linux user. Documentation on both is available online, and I highly recommend the O’Reilly guide on Perl.

5. Software installation

Although different for each distro, I feel I should cover how installation works. Each distro will have two package managers, or one that functions for two purposes. One will fetch files from online, and get everything for you (yum, apt-get, zypper, pacman, slackpkg, etc.) and one that can install from local packages (rpm, apt, pacman, installpkg). Alternately, some distros use ports, which involves extracting a portsnap, then compiling source code from the ports directory (will allow you to customize more and check source code, but for larger programs will take a very long time)

6. IRC

This is one you don’t necessarily need, but I highly recommend knowing the basics of IRC as most distros have a Freenode channel for free live support.

I personally use xchat, but these commands should be similar if not the same for all IRC clients connected to Freenode-

/msg NickServ identify <password>: will log you in if you registered the nickname you use

/join #(name): will join a channel

typing ctrl+k will let you pick a color for just that line

(ctrl+k)4 hello this line is red: will print out line in red reading “hello this line is red”

7. Mounting

Mounting a filesystem means you create a directory you can then access as if part of your local filesystem.

1. (in terminal) go to /mnt

2. make a directory, can be named anything (mkdir foo)

3. mount the device (mount /dev/sr0 /mnt/foo)

4. go into the device (cd /mnt/foo)


I am relatively new to Linux, but the above skills have gotten me through using just about every distro out there. Enjoy.




Minecraft in Arch Linux

Installing minecraft tomost GNU/Linux distros is easy and a million guides exist on how to do it, but for a more minimal distro like Arch Linux I thought it would be difficult.

I could not have been more wrong.

Nothing completely mindblowing like it being added to pacman happened, but they bothered to make an article in the wiki about it, and it was fairly straightforward.

Happy mining!

Will post again with any problems/fixes, and possibly about installing for FreeBSD

Hello, I heard you have a tech problem. Closely follow these instructions, and your problem will be solved.


Try turning it off and on again


Try turning it off and on again


Check for updates that could fix it and report a bug if necessary


Safe mode


check your config files


Safe mode harder


Chroot in from an outside disc and fix whatever’s wrong




Reinstall OS. Quietly weep.

Protips on dual-booting:

1.) Use GRUB.

2.) Order is essential- I advice booting the live CD, cutting partitions, then rebooting and installing windows, then going back to finish Linux, and that way you get GRUB right the first time

3.) BACK EVERYTHING UP. You”l have to re install to get it right 99% of the time, and shrinking partitions is nasty business

4.) Things will go smoother with a more minimal Linux distro like Arch Linux, Slackware, or Gentoo, because you have a lot more control over what goes where

5.) Grab a calculator, write stuff down, and get your partition sizes right the first time. Again, resizing partitions is nasty business

Just got a Numark Mixtrack running through Mixxx, an open-source DJ program, and with a Behringer mixer thrown in the mix, I am ready for my gig!

Mixxx is great, though I wish it could detect key signatures… oh well.

Mix installs straight from apt-get or pacman, but on rpm-based distros you’ll need to compile from source (not a big deal)

(Arch users, be sure to get the kernel module: sudo modprobe snd_seq_midi)

There’s no need to pay for thousand dollar software just to blare some tunes, just use Mixxx!

Just installed Arch Linux on my laptop, and am head over heels in love with it. Previously I had to install slackware instead due to UEFI compatibility issues, but on my laptop such things went fine. The command-line network manager is intuitive and easy to use, pacman is the best package manager I have experienced. Arch Linux is also the only “advanced” distro I’ve used which had practical gnome 3 support, which sealed the deal.

The installation process was not easy in the least, but after the port-compiling nightmares of getting xorg running in FreeBSD this felt like a breeze. WiFi card works out-of-the-box, ATI drivers didn’t give me any static, and pacman got gnome3 and xorg in minutes. After installing the rest of my regularly used software, such as xchat, Google Chrome, and VLC, the total install is still around 5GB. Would definitely recommend. The only issue I still have is that the WiFi network manager won’t connect to the gnome3 GUI interface for it, though fixing that is under way.

However, my love for Arch isn’t based in its performance, but in its philosophy. The Arch Way is precisely the way I envision programming and development should be, and is the future of computer science. Patches on top of patches may work to produce behemoth 50GB operating systems like Windows 7, but they will never perform as optimally or elegantly as a patch-free done-right-the-first-time OS like Arch Linux or FreeBSD.

Although I was blown by all else, I was appalled by Arch’s community. More “advanced” distros are notorious for their stuck-up users, which are exactly who I encountered upon seeking help on their Freenode channel. The documentation was very complete and well-written, so I was able to avoid asking for help too often, but doing so was not a pleasant experience.

More on the Arch Way:

(P.S. I wrote this article in Vi, just for whimsy)
(or at least the first draft, I unfortunately do not know how to publish directly to wordpress via command line)

FreeBSD server is up!

just took a computer from the back room my parents haven’t turned on in years and turned it into a fully functioning ftp and ssh server with FreeBSD.

I had some issues with the CD drive and biostar motherboard not liking each other, but after installation all is well. Network and graphics card drivers worked out of the box, so all is well. (I know this isn’t GNU/Linux, but FreeBSD is similar in both license and structure so I feel it’s ok to blog about on here).

I would definitely advise taking that old PC you haven’t used since Windows ME and installing FreeBSD, if nothing else just to have a guinea pig for learning about UNIX-based operating systems on. You could also use it as a personal VPN, extra firewall, or package filtration machine since it was just sitting around anyway. The community is helpful, and all is well-documented, so even for a new user it’s not hard to get into!

How the CFAA Works

Types of Offenses (7 Prohibitions)

There are seven types of criminal activity enumerated in the CFAA: obtaining national security information, compromising confidentiality, trespassing in a government computer, accessing to defraud and obtain value, damaging a computer or information, trafficking in passwords, and threatening to damage a computer. Attempts to commit these crimes are also criminally punishable.

Protected Computer the term “protected computer” means a computer

(1) exclusively for the use of a financial institution or the United States Government, or, in the case of a computer not exclusively for such use, used by or for a financial institution or the United States Government and the conduct constituting the offense affects that use by or for the financial institution or the Government; or

(2) which is used in interstate or foreign commerce or communication, including a computer located outside the United States that is used in a manner that affects interstate or foreign commerce or communication of the United States.

18 U.S.C. § 1030

In MBTA v. Anderson, No. 08-11364, (D. Mass. filed Aug. 19, 2008), Plaintiff claimed that defendants violated or threatened to violate the CFAA by releasing the findings of their research regarding the security holes associated with the MBTA fare charging system. The court found that a violation of the CFAA only occurs if the person knowingly causes the transmission of programmed information to a protected computer. Because the defendants in this case were only seeking to transmit information to a non-computer audience, the court found that the MBTA was not likely to succeed on a claim under the CFAA.

via Computer Fraud and Abuse Act (CFAA) – Internet Law Treatise.

The part about “financial institution” has me rather worried… I’m no expert at law, but I’m pretty sure this means business owned or corporate computers are protected under the same rights as those necessary to national defense, which is extremely worrisome.

Although intruding upon or damaging a business’s computer is still a crime, I don’t feel like that repercussions should be so severe.

My other worry is later on, where “damage of reputation or goodwill” is labeled. The ability to find and bring to light injustices within our government was not only among the founding ideas of our nation, but the age that followed.

Facing the over-abundance of corporate involvement in social media, I’ve been thinking, what if we could make a free social network? And by free, I mean more than it being $0 to join, I mean a community of volunteer programmers and server administrators erect a social network that is free of advertisement, survey, monitoring, or anything other than what the network is intended to do. If it is web based, it should be maintained by volunteers, if it is downloadable software, it should be free, and open-source.

I imagine it functioning much like the GNU/Linux project, run primarily by volunteers, and funded by donors and interest groups willing to invest in cyber freedom. I, personally, would be more than willing to take my other PC, install FreeBSD and a terabyte hard drive, and get to work.