title: Diagnoising a hardware issue on linux

text: I have a laptop that completly turns its self off after an unpredictable amount of time. It also doesn't allow for its self to turn it back on after a period of time. To me this sounds like an issue with heat. However, I've tried to max out the heat by running multiple instances of Glspheres. [which got the temperature from 50c to 90c. Still no problems, the fans did turn on. The HD is new, an SSD, and it passed SMART. The /var/log/messages only contain these messages before the crash:               ul 20 23:08:49 ai logger: ACPI event unhandled: thermal_zone TZ0 00000081 00000000     Jul 20 23:08:49 ai logger: ACPI event unhandled: processor CPU0 00000081 00000000     Jul 20 23:08:49 ai logger: ACPI event unhandled: processor CPU1 00000081 00000000     Jul 20 23:08:49 ai logger: ACPI event unhandled: processor CPU2 00000081 00000000     Jul 20 23:08:49 ai logger: ACPI event unhandled: processor CPU3 00000081 00000000     Jul 20 23:08:49 ai logger: ACPI event unhandled: processor CPU4 00000081 00000000     Jul 20 23:08:50 ai logger: ACPI event unhandled: processor CPU5 00000081 00000000     Jul 20 23:08:50 ai logger: ACPI event unhandled: processor CPU6 00000081 00000000     Jul 20 23:08:50 ai logger: ACPI event unhandled: processor CPU7 00000081 00000000      However they are not consistant with completely crashing. So my question is: Is there a way to do a diagnosis on the hardware with linux? I'm using Gentoo, but that won't prevent me from using other tools.


title: eth0 not being configured automatically

text: When I start an ubuntu 12.10 instance, eth0 is NOT getting configured.               davidparks21@MySqlDB:~$ cat /run/network/ifstate     lo=lo      When I manually edit `ifstate` and add `eth0=eth0` and `service restart networking` then `eth0` gets configured properly and we're all happy. Reboot though, and I loose the configuration and have to manually edit `ifstate` and add it again and restart networking. What configuration might I be missing here? * * *               root@prodweb1:~# cat /etc/network/interfaces          # This file describes the network interfaces available on your system     # and how to activate them. For more information, see interfaces(5).          # The loopback network interface     auto lo     iface lo inet loopback          # The primary network interface     auto eth0     iface eth0 inet static      address 10.1.3.10      netmask 255.255.0.0      broadcast 10.1.255.255      gateway 10.1.0.1      dns-nameservers 8.8.8.8      dns-nameservers 8.8.4.4


title: Mplayer in fullscreen in xmonad

text: Is it possible to run `mplayer` in fullscreen in `xmonad`? When I use the `-fullscreen` switch or `f` command it does nothing.


title: How do I check busybox version (from busybox)?

text: I'm using busybox in a embedded system, and I would like to check its version. How do I check the busybox version from within busybox?


title: 403 Forbidden, Tried everything

text: So currently I am getting the 403 forbidden error. I have tried everything that I could possible think of. It was working a couple of days ago however it has stopped working now. I have tried everything from adding:               Order Allow,Deny     Allow from all     Require all granted      Which is on all of my vhosts. Also I have tried chmod +x each of the sites main directory. So right now I am stumped, I have looked everywhere trying to figure out why it is happening.               AH01630: client denied by server configuration:      Is what I am getting on every attempt to access one of the sites. I'm guessing this is what I expect from using an old PPC G5 mac as a server running YDL which I went ahead and compiled everything from source myself -.-


title: Xfce4 WaveLAN plugin doesn't work - permission problem?

text: I've just made fresh install of Arch Linux on my EEEPC, and I have problem with Wi-Fi panel icon in Xfce. After clicking it, nothing happens, and what should happen is a window opening where i can select network to connect to. Also, the tooltip says "No such WaveLAN device". When I right-click it and open properties, the "Interface" box says "wlp1s0", which is the name of my wlan interface. When I connect to network via netcfg or wifi-menu (which requires root priviledges, and aren't automatic) everything works good, even the WaveLAN's signal indicator shows signal correctly - but I still can't access network selection window. What's the potential cause of this behavior, and how to fix it?


title: Disc light comes on when pressing keys in Iceweasel Preferences? Is this malevolent?

text: On Linux,I'm using the Iceweasel web browser (it's effectively Firefox), and in Edit/Preferences/General/Startup, when I type a URL into the "Home Page" box, the hard disc light comes on for EVERY press of a key (eg www.google.com). This seems odd (and unnecessary). I've tried entering text in other boxes in Preferences, and the disc light DOESN'T come on. Do you know why the disc light is coming on, and does it suggest that something sneaky and malevolent is happening?


title: how to execute commands (remote, asynchronous, pull)

text: I would like to execute commands on a remote desktop machine, but SSH would be difficult since the remote is offline most of the time, resides in a time tone 10 hours from mine, and may often be behind a firewall / NAT with an unknown IP. So it will have to pull my commands when it can. I am ~~thinking of something around`curl http://.../do.sh | bash`~~ just kidding. **Are there tools available that support such a thing?** I am looking for   1. Something simple and reasonable stable   2. for Linux   3. that pulls commands securely from a web address, mailbox, etc,   4. does require some form of authorization, of course (for example, does not execute anything unsigned)   5. that reports standard output and standard error, and maybe the exit value back to me. I could provide a server with HTTPS, valid certificates, even `sshd` if necessary. I think I am able to hack something myself in theory, but I am afraid that would be really time-consuming. A similar question was asked before, but not really answered (use procmail & code yourself; use our powerful commercial tool for 250$).


title: How to get output information with official nvidia driver

text: I want to parse the files in /sys/class/drm (edid, modes, status) to obtain some information about the connected monitors. Unfortuantely the nvidia driver does not support DRM. Is there any way to get reliable information about the outputs when using a nvidia driver? xrandr is no option since it is not reliable since Ubuntu 13.10.


title: How to add new elements to PATH for daemons (or other best practices)?

text: I want to add some scripts for custom administrative work to a Linux server (Ubuntu 12.04). Ultimately those scripts are callback scripts from at least one daemon (PostgreSQL in my case but that shouldn't matter). In order for the daemon to find my script, I must provide the full path; I used `/opt/<package>/bin` as per the FHS. When I add that path to PATH in `/etc/environment`, the user can call the script without providing the full path but the daemon can not; it just says "not found". So my question is basically twofold:   1. How do I add paths to PATH for daemons?   2. Is it a good idea anyway? Or should I rather always use full path names?


title: How to copy-merge two directories?

text: I have two directories images and images2 with this structure in Linux:               /images/ad       /images/fe       /images/foo        ... and other 4000 folders and the other is like:               /images2/ad       /images2/fe       /images2/foo      ... and other 4000 folders Each of these folders contain images and the directories' names under images and images2 are exactly the same, however their content is different. Then I want to know how I can copy-merge the images of /images2/ad into images/ad, the images of /images2/foo into images/foo and so on with all the 4000 folders..


title: Walking Multidimensional arrays in Mawk

text: I'm able to do this properly in gawk, but when I tried to post my code to the machine where it will run, I realized it was using mawk...               $ cat multidim.gawk     # test of multidimensional arrays     // {             A[1][1]="A11"             A[1][2]="A12"             A[2][1]="A21"             A[2][2]="A22"                  i=2             for ( j in A[i] )             {                     print "i=" i " j=" j " A[i][j]=" A[i][j]             }     }               $ echo hi | awk -f multidim.gawk     i=2 j=1 A[i][j]=A21     i=2 j=2 A[i][j]=A22      seems mawk has a different idea about how multidimensional arrays should work. When I run it on Debian with mawk, I get a syntax error. A[i,j] seems the correct syntax, and it 'synthesizes' multidimensional arrays. So I tried two things, neither work:               $ cat multidim.mawk     // {             A[1,1]="A11"             A[1,2]="A12"             A[2,1]="A21"             A[2,2]="A22"                  i=2             for ( j in A[i] )             {                     print "i=" i " j=" j "a[i,j]=" a[i,j]             }     }          $ echo hi | awk -f multidim.mawk      awk: multidim.mawk: line 9: syntax error at or near [      Seems sensible, using a 1dim array index on a "multidimensional" array generates an error. Trying to just walk the WHOLE array so that I can use an if statement to selct the first dimension even (extremely inefficient and horrible)... but I can't even do that!:               $ cat multidim2.mawk     # test of multidimensional arrays     // {          A[1,1]="A11"             A[1,2]="A12"             A[2,1]="A21"             A[2,2]="A22"                  for ( (i, j) in A )         {             print "i=" i " j=" j "a[i,j]=" a[i,j]         }     }     $ echo hi | awk -f multidim2.mawk      awk: multidim2.mawk: line 8: syntax error at or near )      Is there any way to walk a multidimensional array in mawk? Is there a language reference other than the mawk manpage? Thanks!


title: Create Logical Volume Snapshot at boot and before mount

text: I'm using Kubuntu 11.10 and before I upgrade to 12.04, I want to make snapshots of my filesystems. Coming to think of that, I realized that it can be very useful to create snapshots of logical volumes during boot _before_ they are mounted. At that moment, the volume/filesystem should be clean and is perfect to be used for an image backup. How can I create LV snapshots of my filesystems during boot, before the filesystems are being mounted by the kernel? I think this should be done in initrd, but unsure how.


title: In Linux "top" command what are us, sy, ni, id, wa, hi, si and st (for CPU usage)?

text: When I issue `$ top` in linux, I get a result similar to this (see here). One of the lines has CPU usage information represented like this:               Cpu(s): 87.3%us,  1.2%sy,  0.0%ni, 27.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st      While I know the definitions of each of them (far below), I don't understand what these tasks exactly mean...   * hi - what does servicing hardware interrupts mean?   * si - what does servicing software interrupts mean?   * st - they say it's the time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) Time stolen from a virtual machine. But what does it actually mean? can someone be more clear? {I listed all (us, sy, ni etc) because it would help others searching for the same. This information is not in the man pages.}               us: user cpu time (or) % CPU time spent in user space     sy: system cpu time (or) % CPU time spent in kernel space     ni: user nice cpu time (or) % CPU time spent on low priority processes     id: idle cpu time (or) % CPU time spent idle     wa: io wait cpu time (or) % CPU time spent in wait (on disk)     hi: hardware irq (or) % CPU time spent servicing/handling hardware interrupts     si: software irq (or) % CPU time spent servicing/handling software interrupts     st: steal time - - % CPU time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) % CPU time stolen from a virtual machine


title: How to fully sync local repository using Mercurial (bitbucket)

text: I'm new to VCS and I decided to give Mercurial a try. I signed up for bitbucket and created some repositories. The I created `/home/max/hgrepo/` and ran `hg clone http://bitbucket.org/[username]/[repository]` That made a `[repository]` directory. I copied some source files into this directory. then I `hg add`, `hg commit` and `hg push`. Then I wanted to move my source files into a `src` directory instead of having them into the root dir. So I moved all the sources files down one directory to my `src` directory. I then ran `hg add *`, then `hg commit` and lastly `hg push`. The problem I have is that the old sources files in the root directory of my repo are still there. How do I remove them? I don't have them in my local repo anymore. Is there a way to fully sync my local repository and my remote one?


title: How to create a read-only snapshot in btrfs?

text: As far as I understand, the snapshots made by `btrfs subvolume snapshot` are writable by default and are visible at a certain path under the mountpoint of your btrfs volume. How to setup the system so that there is a gurantee during the normal operation of the system that nothing is written to the snapshot? But without making it invisible to the users (i.e., it should remain accessible for reading by any users with respect to their permissions). (For now, I've just `chmod og-rwx /.snapshots` where my snapshots are mapped to. But that doesn't fulfill the second of my wishes, and also the guarantee is not strong enough: a process with root's rights could spoil something there.) Does one need to do some tricks with `mount` to achieve this goal?


title: Linux Distribution for bioinformatics?

text: I need a linux distro which is designed for bioinformatics including some bioinformatics tool, a sample database, etc.


title: Suggest me a distro "beetwen debian and ubuntu"?

text: I need to install a linux distribution; i like the distro debian-like. I used to use ubuntu, i tryied the new version..it seems to me to be a fake of Mac OS...something just to let you say: yeee i have a dock too...:( Can you suggest me some distributions that are similar to the previous ubuntu versions? I mean professional and user friendly, not just eyecandy that use 30% CPU to open a window...


title: Is Oracle Linux feasible for a desktop?

text: Is Oracle Linux feasible for a desktop enviroment or is it strictly server oriented?


title: How to do dosbox autoexecutable like dosemu on Opensuse

text: I was trying to migrate an DOS aplication on a dos emulator, I was pretty sure that dosemu was the answer ... but a couple of errors ocurred on the program. So I tryied dosbox. The thing is, under putty a windows user will autenticate to the OpenSUSE server an then the program will autoexecute. I was able to do that on dosemu but **how do I do that on dosbox?** To do that on dosemu, I edited the `.profile` and added this:               stty cols 80 rows 25     dosemu     exit      then on the `.dosemu/drive_c/`, I edited the `autoexec.bat`               lredir f: software_folder     unix -s DOSEMU_VERSION     echo "Welcome to dosemu %DOSEMU_VERSION%!"     unix -e     f:     software_name     exitemu


title: Match neither regex

text: I have a Bash script which installs a customised JBoss. The name of the JBoss instance is checked against a regular expression to make sure that the name is valid:               if [[ ! $1 =~ $instanceNameRegex ]]; then         exit 1     fi      We now have a requirement for a second valid regex. ie the name must match either `$instanceNameRegex` or `$secondInstanceNameRegex`. How do I achieve this in the `if` test? I'm looking for this, but I can't get it to work:               if [[ [ ! $1 =~ $instanceNameRegex ] -a [ ! $1 =~ $secondInstanceNameRegex ] ]]; then      ie if the parameter doesn't match the first regex AND it doesn't match the second, then exit.


title: How to make Firefox 9 read stdin?

text: An earlier question got several nice answers involving stdin, none of which work in Firefox 9.0.1 ( **Edit** : because I didn't read that you had to start a _new Firefox process_ to make them work (thanks @manatwork):   * `echo '<h1>hello, world</h1>' | firefox /dev/fd/0` results in a new tab with the URL `file:///dev/null` and no text.   * `cat | firefox /dev/fd/0` results in a new tab with the URL `file:///dev/null` and no text. After typing a single line of text and pressing `Enter` it terminates and still doesn't show anything in the new tab.   * `firefox <( echo '<h1>hello, world</h1>' )` opens up a new tab with my profile folder, of all things. Is there any way to make this work in Firefox 9.0.1 or newer? As to the reason behind, it would be nice to be able to generate markup which is only stored in memory (barring swapping), and guarantee that there is no left-overs even in case of a power cut.


title: Fedora and Samba on VirtualBox

text: I have Linux Fedora 18 installed as a VM Guest. Trying to share directories from the Linux VM Guest box to the Windows 7 Host. ( **NOTE:** VirtualBox is installed on Windows 7, and the Linux virtual machine is created on it). I made my Samba share using text on this link:   * http://www.howtoforge.com/fedora-19-samba-standalone-server-with-tdbsam-backend I made all proper changes in `/etc/samba/smb.conf`, added proper user, etc. I even disabled SeLinux, and flushed the Iptables configuration. Samba is up and running of course. Also, I can ping Linux from Windows. This is the error I'm getting: > Error code 0x800704cf The network location cannot be reached. For > information about network troubleshooting, see Windows Help There are lots of other resources, like:   * http://www.sevenforums.com/network-sharing/113729-password-protected-network-share.html#post978798 I did what is described there, and still having same problem. In all of the cases, I have same error. Can you give me some tips on what I'm doing wrong in this case?


title: How to create a book signature from text?

text: How can you transform a **text file** (plain text or HTML) or print-format file (PS or PDF) to **bind it as a book** using **shell commands**? That is, how do you create a print-format file which orders pages into signatures so that in the simple case where the number of pages is divisible by 4 per signature, pages 1, 2, N-1 and N are on the first sheet (1 and N on the same side of the sheet), 3, 4, N-3 and N-2 on the next, etc, and the next signature is equal size and starts at page N+1? It could be done by careful manipulation using `pdftk` or similar tools, but hopefully there are already shell tools which do this reliably and without having to for example know in advance the number of pages which will be produced or the optimum signature size. There's already a guide using Scribus, but it involves a lot of manual steps. ![parts of a typical case-bound book, from www.ferdinando.org.uk](http://i.stack.imgur.com/42QKm.jpg)


title: Highlight Files in X and get some function executed, how?

text: Suppose I want to execute               pdftk input FilesHighlightedInX out specifiedByUserInX      in the following way:   1. User highlights files in X   2. User clicks some button, shortcut, right-mouse-button-select, to execute a Bash script with the `pdftk` command   3. The output file will appear in the directory where the user executed the command (the user can specify the name of the output or not, modular functionality) How can I do this in X?


title: Download and install latest deb package from github via terminal

text: I would like to download and install the latest _.deb_ -package from github (https://github.com/elbersb/otr-verwaltung/downloads to be exact). How can I download the latest package (e.g. *otrverwaltung_0.9.1_all.deb*) automatically with a script from github? What I have tried so far:               wget -O- -q --no-check-certificate https://github.com/elbersb/otr-verwaltung/downloads | grep -o -l -e 'otrverwaltung_[0-9.]*_all.deb'     #The filename should be saved in a variable OTRPACKAGE     sudo dpkg -i OTRPACKAGE


title: How to do a binary install of Python 2.7 on SUSE Linux Enterprise Server 11?

text: My SLES11 box came with Python 2.6 installed. I would like to upgrade to 2.7. What is the easiest way to do this?


title: Parsing string by awk and get only elements without pipes or semi colons

text: I would like get this string line               AUGUSTYN|Stanisław|3589238      without `|` and `:` I tried something like that:               cat baza|grep "AUGUSTYN" -n|awk -F '|' '{print $1,$2,$3,$4}'`      (`baza` is my file with text, and `AUGUSTYN` is the name of person) Result of this command is:               1:AUGUSTYN Stanisław 3589238       As you see there still this pipe :( And I would like to get this:               1 AUGUSTYN Stanisław 3589238      I take text from this base file:               AUGUSTYN|Stanisław|3589238     BARAN|Stanisław|3511477     BUCZEK|Marek|3511526     CABAJ|Wanda|3511483     CEPAK|Józef|3511067      Getting strings without `|` and `:` would be great but I will have to get the number of line where this text is stored. So I had to use grep. If you can find any other more obvious solution for this too It would be mega great. How can I archieve it? I started it learning an hour ago this awk. Please help.


title: How unique are checksums?

text: I have a lot of files I need sorting; and sadly there are many files with the same name but different content, and there are the same content with different filenames. I'm thinking about using `md5sum` to generate checksums for the files, but I need to know - is it possible that two different files (ie. different content) will generate the same checksum? If it is, how likely is it to happen? Would it be possible to use two different unrelated (ie. not in the same "family") checksum-programs to generate two checksums - under the assumption that while two different files may generate the same checksum for either one of the checksum-programs, it would never happen to both at once?


title: What are these strange characters in wifi-menu and alsamixer?

text: I have a fresh install of Arch. When I run `wifi-menu` or `alsamixer`, both of which I think use `dialog`, the display in the shell is not correct. The border, for example, is drawn with the wrong characters. I hope that makes sense. What causes this and how can I fix it? EDIT: I found another symptom of the problem. I was moving some files, and I got this error message:               mv: target È/home/korgan/wavfiles/*È is not a directory      Any ideas? EDIT: here is the output of `locale`:               LANG=en_US.UTF-8     LC_CTYPE="en_US.UTF-8"     LC_NUMERIC="en_US.UTF-8"     LC_TIME="en_US.UTF-8"     LC_COLLATE="en_US.UTF-8"     LC_MONETARY="en_US.UTF-8"     LC_MESSAGES="en_US.UTF-8"      ...and so on, until               LC_ALL=


title: No microphone input - VIZIO CT15-A5 and 12.04 LTS (64)

text: I have the VIZIO CT15-A5 and 12.04 LTS (64) is running smoothly .. Only one issue.. I cannot record sound or use Skype due to lack of mic input. I have tried turning up the sound using the alsa mixer, and tried using pulse audio volume control, but it seems that there is a hardware issue... It works fine in windows (dual boot system) Here is the output of `lspci -vv`               00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)         Subsystem: QUANTA Computer Inc Device 0922         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-         Latency: 0, Cache Line Size: 64 bytes         Interrupt: pin A routed to IRQ 46         Region 0: Memory at f7d10000 (64-bit, non-prefetchable) [size=16K]         Capabilities: <access denied>         Kernel driver in use: snd_hda_intel      I also tried adding the following to "/etc/modprobe.d/alsa-base.conf" but to no avail:               options snd_hda_intel model=laptop     options snd-hda-intel position_fix=1 enable=yes      Yes, I even tried the weird front-right channel disabling, but to no avail. Here is a copy of my original alsa-base.conf               # autoloader aliases     install sound-slot-0 /sbin/modprobe snd-card-0     install sound-slot-1 /sbin/modprobe snd-card-1     install sound-slot-2 /sbin/modprobe snd-card-2     install sound-slot-3 /sbin/modprobe snd-card-3     install sound-slot-4 /sbin/modprobe snd-card-4     install sound-slot-5 /sbin/modprobe snd-card-5     install sound-slot-6 /sbin/modprobe snd-card-6     install sound-slot-7 /sbin/modprobe snd-card-7          # Cause optional modules to be loaded above generic modules     install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }     #     # Workaround at bug #499695 (reverted in Ubuntu see LP #319505)     install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }     install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }     install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }     #     install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }     # Cause optional modules to be loaded above sound card driver modules     install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }     install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }          # Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)     install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }     # Prevent abnormal drivers from grabbing index 0     options bt87x index=-2     options cx88_alsa index=-2     options saa7134-alsa index=-2     options snd-atiixp-modem index=-2     options snd-intel8x0m index=-2     options snd-via82xx-modem index=-2     options snd-usb-audio index=-2     options snd-usb-caiaq index=-2     options snd-usb-ua101 index=-2     options snd-usb-us122l index=-2     options snd-usb-usx2y index=-2     # Ubuntu #62691, enable MPU for snd-cmipci     options snd-cmipci mpu_port=0x330 fm_port=0x388     # Keep snd-pcsp from being loaded as first soundcard     options snd-pcsp index=-2     # Keep snd-usb-audio from beeing loaded as first soundcard     options snd-usb-audio index=-2


title: Attempting to detect acceptable LDAP base DN defaults for various directory servers in a bash script

text: Basically, I'm writing a script that determines an acceptable default for a base DN when pointed at a particular hostname. I'm wrapping it around `ldapsearch` output.   * I can do Active Directory by looking directly at the root DSE and pulling `defaultNamingContext`   * I can do Domino by starting a one-level search directly underneath DSE filtering for the `dominoOrganization` objectClass and just taking the first one (it's a default so if it's not correct they can be expected to just change it).   * I can do OpenLDAP by looking directly at root DSE and extracting the first value of `namingContexts` But I'd also like for this to support eDirectory just in case. Problem is that I don't have any eDirectory installs to look at and it's not free software so I can't install an test version of it to see how it's set up. Looking at Novell's site it looks like they don't really do the same `defaultNamingContext` thing AD does, and they're definitely not going to do a dominoOrganization objectClass. Most example DN's I've seen for eDirectory look like they also use `o=OrganizationName` like exists in Domino but I've also seen `o=OrganizationName,C=US` so if the country abbreviation could or could not be in the base DN, I would have to do more than just one_level. What makes things worse is if the directory server is partitioned (like some AD configurations) or is like Domino where there are many built-in default organizations that don't reflect where you'd find the important LDAP information. For example there's a `O=RSA Data Security\, Inc.,C=US` organization in the Domino LDAP instance I'm looking at now. Is there a particular objectClass I can filter for if I start a search at root DSE? I realize this is an expensive search (esp when if I have to go full `sub` on the scope) but this should be a once-in-a-while type thing. **Long story short:** What identifying attributes does the base of a company's organization have in eDirectory and how do I locate it if I set my search base to root DSE? I'd prefer examples since I won't be able to validate your code works until I run into the off-chance of needing to run this script on an eDirectory server (we're higher education so this is definitely possible).


title: Screen escape dollar sign

text: I'm trying to run a command using `screen` which contains the dollar sign, but the dollar sign does not get through.               screen -d -m echo \$ > test.txt      `test.txt` just ends up being an empty file...


title: What are the commands that you can use in the beginning of a sed command?

text: I initially learned to do `sed` search and replace like so:               sed -e 's/<stuff>/<replacement>/'      However I recently learned that these will do something different based on what command character you use at the beginning (instead of `s`). For example:               sed -e 'g/<stuff>/<??>/'      What are the different commands you can use at the beginning of a `sed` script, and what do they do?


title: zenity doesn't display all list with variables

text: Friends, I need a hand, I am making a search and install PPA script for Ubuntu. This script with zenity works 80%, the problem is when this script searches; displays only the first line. I need all lines ¿Can you help me?               #!/bin/sh          # simple search and install PPA     # by David Vásquez               if [ $# -gt 0 ] ; then         echo "$*"     else         echo "No input"     exit     fi          code=$*          cat /dev/null > /tmp/ppa     cat /dev/null > /tmp/ppa-url-tmp               mojito=$(curl https://launchpad.net/ubuntu/+ppas?name_filter=$code | grep -e '+archive/' | grep "$code" | awk -F'' '{print $1}' | uniq | tr -d '~')          echo $mojito | tr ' ' '\n' | tee -a /tmp/ppa-url-tmp                         file="/tmp/ppa-url-tmp"     while IFS= read -r line; do             # display $line or do somthing with $line     title=$(curl https://launchpad.net/~$line | grep -e '<title>'  | awk -F '<title>' '{print $2}' | awk -F '</title>' '{print $1}' | sed 's/^/"/' | sed 's/$/"/')               description=$(curl https://launchpad.net/~$line | grep -e 'content='  | awk -F 'content="' '{print $2}' | awk -F '.' '{print $1}' | tr -d '/>' | tr -d '"' | sed -e :a -e N -e 's/\n/ /' -e ta | sed 's/^/"/' | sed 's/$/"/')                support=$(curl https://launchpad.net/~$line | grep -e '<option value='  | grep [0-9] | awk -F '(' '{print $2}' | awk -F ')' '{print $1}' | sed -e :a -e N -e 's/\n/ /' -e ta | awk '{print $1, $2, $3}' | sed 's/^/"/' | sed 's/$/"/' )               echo $title $description $support $line | uniq -u | tee -a /tmp/ppa          zenity --list --radiolist --title="Package installation." --text="Select package to be installed" --width=800 --height=500 --column=In --column=Name --column=Description --column=Compatible --column=PPA "in" "$title" "$description" "$support" "$line"          if [[ "$?" != 0 ]]; then     exit     else          CHECK_INST=$(echo $CHECK | awk -F'|' '{print $5}')          sudo apt-add-repository $CHECK_INST     sudo apt-get -y update     sudo apt-get install $code     fi          done <"$file"      My other attempt here (same results) **From terminal a example**               myscript pipelight      ![enter image description here](http://i.stack.imgur.com/nawc5.png)


title: Why do I need initramfs ?

text: I found that if I choose jffs or sd as file system(and not initramfs),the kernel size is very small (1.4 MB as compared to with initramfs-3.4MB). It shows that initramfs takes concidreably large space. So id I can completely remove it I will have very small kernel, which is what I want. So basic question poping in my mind is: why do I need initramfs ? can a linux kernel not boot just without having any initial file system? My end application will only do calculation & communication- no sotrage at all. So an OS without a file system makes sense - at least for my application.


title: How to find alternative superblocks in ext3 file system of partition-less qcow2?

text: I have an interesting case, where `e2fsck` refuses to recognize the file system inside a qcow2 image file. Using `testdisk` I am able to see the partition, so some markers would be left. The reason this problem occurred in the first place was because the host of the virtual machine died. So I choose `None` as the "type" of partition and get the following.               TestDisk 6.14, Data Recovery Utility, July 2013     Christophe GRENIER <grenier@cgsecurity.org>     http://www.cgsecurity.org          Disk /dev/loop0 - 120 GB / 112 GiB - 235156929 sectors          The harddisk (120 GB / 112 GiB) seems too small! (< 4079258 TB / 3710063 TiB)     Check the harddisk size: HD jumpers settings, BIOS detection...          The following partitions can't be recovered:          Partition               Start        End    Size in sectors     >  ext3                         640  251657855  251657216 [DATA]        ext3                     1864062  253521277  251657216 [DATA]        ext3                     1864064  253521279  251657216 [DATA]        ext3                     2387454  254044669  251657216 [DATA]        ext3                     2387456  254044671  251657216 [DATA]        ext3                     2911614  254568829  251657216 [DATA]        ext3                     2911616  254568831  251657216 [DATA]        ext3                     3435774  255092989  251657216 [DATA]        ext3                     3435776  255092991  251657216 [DATA]        ext3                     3959934  255617149  251657216 [DATA]          [ Continue ]     ext3 blocksize=4096 Large file Sparse superblock, 128 GB / 119 GiB      It seems superblocks still exist and are intact, but how can I convince `mount` to use one of those superblocks as long as I don't know where they are located? `kpartx` doesn't see anything on `/dev/loop0` after I did the usual `losetup -o 32256 /dev/loop0 imagefile` for qcow2. The image itself is (`qemu-img info`):               file format: qcow2     virtual size: 120G (128849018880 bytes)     disk size: 112G     cluster_size: 65536     Format specific information:         compat: 0.10      NB: I do have backups, but they are a few weeks old and if at all possible, I'd diff the stuff on the disk against the backups. Most are Git and Mercurial repos, so it's possible to fetch them again from elsewhere.


title: GVim compiled from source does not use gtk2

text: I have two HP-UX machines say A and B with HP-UX 11.11 and 11.31 respectively. I'have compiled gvim 7.3 from source an B, and gvim 7.0 on A. On A, gvim uses "version with GTK GUI", Compilation with gcc (...) -DFEAT_GUI_GTK and all works fine. On B, gvim looks different and uses "version with X11-Motif GUI". Here ssh -X does not copy paste on selection exactly as in the thread "GVim compiled from source opened via SSH -X does not copy paste on selection":   * copy/paste via select works on a GVim window on A, but not on B.    * When I select some text in the GVim window, I can paste it via right-click within that window, but I cannot paste it into anything running locally. When I select something locally, I can paste it locally but when I paste into the GVim window, it pastes the last thing selected in the GVim window, not the last thing selected locally. The Problem is: I cannot rebuild gvim with gtk. Although I have installed GTK+ on the machine via HP depot (GTK 2.6) and using gtk+ is called default in the Makefile configure ends up with compiler option "gcc (...) -DFEAT_GUI_MOTIF". to be more specific: configure gives:               checking --enable-gui argument... yes/auto - automatic GUI support     checking whether or not to look for GTK+ 2... yes      but doesn't search for gtk Libraries. It only looks for Motif:               checking for location of Motif GUI libs... /usr/lib/Motif1.1      It doesn't tell me that it is missing anything I can provide! In the directory "auto" the file configure.log shows no failure in searching for GTk, it just doesnt look for!               configure:7577: result: yes/auto - automatic GUI support     configure:7609: checking whether or not to look for GTK+ 2     configure:7618: result: yes     configure:7627: checking whether or not to look for GNOME     configure:7636: result: no     configure:7644: checking whether or not to look for Motif     configure:7653: result: yes     configure:7661: checking whether or not to look for Athena     configure:7670: result: yes     configure:7678: checking whether or not to look for neXtaw     configure:7687: result: yes     configure:7695: checking whether or not to look for Carbon     configure:7704: result: yes     configure:7752: checking --disable-gtktest argument     configure:7762: result: gtk test enabled     configure:7772: checking for pkg-config     configure:7803: result: no     configure:8035: checking for location of Motif GUI includes     configure:8047: result: in default path     configure:8062: checking --with-motif-lib argument     configure:8076: result: no     configure:8081: checking for location of Motif GUI libs     configure:8099: result: /usr/lib/Motif1.1     configure:8202: checking for XShapeQueryExtension in -lXext      And make starts with OPTION Motif:               avalenti@ncc1n:/usr/local/src/vim/vim73/src >make | tee make-minimal.results     mkdir objects     CC="gcc -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF   -I/usr/local/include      " srcdir=. sh ./osdef.sh     gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MOTIF   -I/usr/local/include  -g -O2 -D_FORTIFY_SOURCE=1       -o objects/buffer.o buffer.c     (...)      If I force usings gtk with               configure --enable-gui=gtk2       make ends up with no error but gvim says:               "E25: GUI cannot be used: Not enabled at compile time"      How can I force gvim to compile using gtk2?


title: How to take sha-1, sha-256 or MD5 of CDs / DVDs?

text: I just tried burning both a Debian CD _and_ a Debian DVD from their _.iso_ files and I've got a weird behavior: the checksum of the CD is correct but the one of the DVD ain't. Here's what working:   * downloaded the two _.iso_ files    * verified the checksum of the two _.iso_ files   * burn the CD _debian-7.1.0-amd64-CD-1.iso_ to a CD   * verify that the CD is correct by issuing: dd if=/dev/sr0 | md5sum (or sha-1 or sha-256) And this works fine: the checksum(s) I get from the CD by using _dd_ and piping into md5, sha-1 or sha-256 do match the official checksums. Now what I don't get is that I did burn a DVD from the DVD _.iso_ --and I know that the file has been correctly downloaded seen that the _.iso_ **file** checksum is correct. However if I put the DVD in the drive and issue the same:               dd if=/dev/sr0 | md5sum   (or sha-1 or sha-256)      then I get a bogus checksum. The DVD still _looks_ correct in that the files all seem to be there. So here's my question: can I verify that a DVD has been correctly burned by using _dd_ and piping its output into md5sum (or sha-1 or sha-256) or is there something "special" that would make _dd_ work for verifying burned CDs but not burned DVDs? *(note that I used _Disk Utility_ on OS X to burn both the CD and the DVD)*


title: How to get system configuration information without dmidecode

text: In order to collect some system configuration information, I have been using `dmidecode` and the related tool `lshw` to find the information. This works great on most machines, but I have recently got access to a server to test my scripts on. `dmidecode` gives me the error:               # No SMBIOS nor DMI entry point found, sorry.      and `lshw` doesn't work as well. If there is a way to fix this, I would appreciate the help. Otherwise, I need to collect the following information without using `dmidecode`:   * System manufacturer   * System model number   * System serial number   * The BIOS date


title: Can Microsoft fonts be bought and included in the Linux core?

text: Is it possible for the Linux community to buy the rights for the Microsoft fonts so that they can be included in every distribution (or with distributions that would like to include them)? Would Microsoft consider something like that? Selling Microsoft Fonts (Arial, Tahoma, Verdana, Calibri etc.) or their license to the Linux community?


title: What is the difference between hostname, hostname --fqdn, and hostname -A

text: I have a machine I changed the hostname of. I changed it in `/etc/hosts`, `/etc/sysconfig/network`, and with `hostname` command. `hostname` returns the correct shortname, `hostname --fqdn` returns the expected FQDN, but `hostname -A` returns an old name. I changed the IP address of the machine to make sure it wasn't external DNS cache. If I open python and run               import socket     print(socket.gethostname())     print(socket.getfqdn())      Both return the old hostname/fqdn, the same as `hostname -A` From the hostname man page it appears `\--fqdn` just takes the shortname and domain and puts them together. > Display the FQDN (Fully Qualified Domain Name). A FQDN consists of a short > host name and the DNS domain name. Unless you are using bind or NIS for host > lookups you can change the FQDN and the DNS domain name (which is part of > the FQDN) in the /etc/hosts file. What is the difference between these commands and how can I better troubleshoot why the old hostname is sticking around.


title: How to set up firewall on Debian Squeeze

text: I have set up Apache, MySQL, PHP, SSH (which I use to connect to the VPS), Node.js, MongoDB and ProFTPd. Now, I want to have a firewall on the system, so that no one hacks the system. For instance, MongoDB is open for all on the default port unless I set it to secure mode and provide a password and so on. But it is recommended to have security mode off, and use a firewall to block requests on that port instead. How would I set up the firewall? (I am not experienced with Linux, and I can only use SSH.)


title: The latest stable RT patch version of linux kernel 2.6.31

text: I want to get the lastest stable RT patch version for linux kernel `2.6.31`. But I was confused when looking it up at kernel.org. I saw that:   * `patch-2.6.31.6-rt19.gz` last modified was on 10-Nov-2009   * `patch-2.6.31.12-rt21.gz` last modified was on 18-Feb-2010, but this patch is in `older` directory. What is latest stable version? How patch version is numbered ?


title: Creating a list of unique senders from Thunderbird mail files through the command-line

text: I've got some large mailboxes and using Thunderbird, that means that I have several `mbox` files. These single files contain all e-mails in a particular folder. Now, I would like to get some data on the senders in a particular folder. My ideal statistic would be to get all unique senders, and the number of times their e-mail is in that folder. Ej:   * John A: 10x   * Maria B: 5x etc. I've tried some `grep` options but I also get X-headers if I grep only 'From:', and I'm not sure how to exclude these other headers. Anybody any idea if this can be done from the command line?


title: Mounted own filesystem instead of USB?

text: I am completely unfamiliar with how *nix handles partitions, but I needed to get a file off of my USB drive so I followed an online post that said you could mount a USB stick with:               sudo mount -t auto /dev/sdb1 /mnt      So I did, but now `ls /mnt` returns the contents of my computer's /home/ directory, and I am afraid to unmount it. How can I get out of this situation without compromising any data? Where can I find an accessible explanation of how to mount a usb drive?


title: Measuring the current or the power

text: Is there a way to measure the electric current or power of the whole computer or its components using software? Voltage can be measured, and I am wondering why not with the current/power.


title: ffmpeg: problems when copying the audio

text: When I run this `ffmpeg -i video.mp4 -codec copy video.avi` I get a broken audio: a crackling like a stuck LP. The input-audio is `aac` When I re-encode the audio like this `ffmpeg -i video.mp4 -codec:v:0 copy video.avi` the audio in the out-file works. What could be the reason for the problems, when copying the audio?


title: CentOS grub2 booting iso via loopback

text: I've got a usb-key setup to multi-boot different Linux images. I'm trying to add CentOS, here's a post with similar entries for `grub.cfg`               set drive_label=multipass01     set isopath=/iso          menuentry "CentOS-6.3-x86_64-LiveCD" {          # Tried the following root designations;     # root=live:LABEL="multipass01"      # root=live:LABEL=multipass01      # root=live:LABEL="multipass01":$isofile     # root=live:LABEL=multipass01:$isofile     # root=live:/dev/disk/by-label/$drive_label$isofile     # root=live:UUID=3A55-12BC:$isofile     # root=live:UUID=:$isofile     # root=UUID=3A55-12BC     # root=live:$isofile     # iso-scan/filename=$isofile              set isofile="$isopath/CentOS-6.3-x86_64-LiveCD.iso"         loopback loop $isofile         linux (loop)/isolinux/vmlinuz0 boot=isolinux root=live:LABEL=multipass01:$isofile rootfstype=auto ro liveimg 3 rhgb rd.luks=0 rd.md=0 rd.dm=0 splash --         initrd (loop)/isolinux/initrd0.img     }      Heres the result of attempting to boot this entry (regardless of which `root=`); ![kernel panic](http://i.stack.imgur.com/1BN7T.jpg) edit; related fedora bug


title: How to set up tea-time in emacs to use native notification system in gnome

text: Is there an easy way of having `tea-time` display messages via gnome's native notification system? The current "notification function" in tea-time.el is:               (defun show-notification (notification)       "Show notification. Use mumbles."      (if (program-exists "mumbles-send")         (start-process "tea-time-mumble-notification" nil "mumbles-send" notification)       (message notification)      ))      I tried editing this to use `notify-send` instead, without any success: specifically using something like `(shell-command (concat "notify-send " notification))` in place of `(start-process "tea-time-mumble-notification" nil "mumbles-send" notification)` doesn't seem to work (I got rid of the if- statement as well, of course). Suggestions?


title: umask is not working for directories

text: I have an odd problem with umask. My current setting is:               $ umask     0022     $ umask -S     u=rwx,g=rx,o=rx      This only works for files though and not directories:               $ touch abc     $ ll abc     0 -rw-rw-rw- 1 user1 group1 0 Dec 12 11:39 abc     $ mkdir def     $ ll -d def     8.0K drwxrwxrwx+ 2 user1 group1 4.0K Dec 12  2012 def      Can anybody suggest why umask is not working for the directory? Any help is appreciated! This is a new Centos linux system. Edit: thanks for the comments. As some have pointed out, this doesn't work for files either. Extra information: This problem only seems to occur on the home directory which is mounted over NFS, and not on local directories. Could NFS be causing the problem somehow?


title: How can I install VLC 1.1.10 or 1.1.9 in CentOS 5.6 or CentOS 6.0?

text: On the VLC download site there is no CentOS 5.6 or 6.0 downloads rpm's. Which RPM can I use to have VLC 1.1.10? In case it's not available, can I simply use the same Fedora downloads?               [root@www ~]# uname -a     Linux www 2.6.18-194.11.4.el5 #1 SMP Tue Sep 21 05:04:09 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux     [root@www ~]# yum search vlc     Loaded plugins: fastestmirror, replace     Loading mirror speeds from cached hostfile      * addons: mirror.netrino.co.uk      * base: mirror.netrino.co.uk      * epel: mirror01.th.ifl.net      * extras: mirror.netrino.co.uk      * ius: mirror.rackspace.co.uk      * updates: mirror.sov.uk.goscomb.net     Warning: No matches found for: vlc     No Matches found     [root@www ~]#       Update: This is the error I get:               --> Running transaction check     ---> Package vlc.x86_64 0:0.9.9a-7.el5.rf set to be updated     --> Processing Dependency: libavformat.so.52(LIBAVFORMAT_52)(64bit) for package: vlc     --> Processing Dependency: libavutil.so.50(LIBAVUTIL_50)(64bit) for package: vlc     --> Processing Dependency: libpostproc.so.51(LIBPOSTPROC_51)(64bit) for package: vlc     --> Processing Dependency: libavcodec.so.52(LIBAVCODEC_52)(64bit) for package: vlc     --> Processing Dependency: libswscale.so.0(LIBSWSCALE_0)(64bit) for package: vlc     --> Processing Dependency: libavcodec.so.52()(64bit) for package: vlc     --> Processing Dependency: libdvdnav.so.4()(64bit) for package: vlc     --> Processing Dependency: libdvbpsi.so.6()(64bit) for package: vlc     --> Processing Dependency: libliveMedia.so.0()(64bit) for package: vlc     --> Processing Dependency: libshout.so.3()(64bit) for package: vlc     --> Processing Dependency: liblirc_client.so.0()(64bit) for package: vlc     --> Processing Dependency: libkate.so.1()(64bit) for package: vlc     --> Processing Dependency: libdvdread.so.3()(64bit) for package: vlc     --> Processing Dependency: libavformat.so.52()(64bit) for package: vlc     --> Processing Dependency: liba52.so.0()(64bit) for package: vlc     --> Processing Dependency: libXvMCW.so.1()(64bit) for package: vlc     --> Processing Dependency: libzvbi.so.0()(64bit) for package: vlc     --> Processing Dependency: libdca.so.0()(64bit) for package: vlc     --> Processing Dependency: libixml.so.2()(64bit) for package: vlc     --> Processing Dependency: libcvaux.so.1()(64bit) for package: vlc     --> Processing Dependency: libswscale.so.0()(64bit) for package: vlc     --> Processing Dependency: libebml.so.2()(64bit) for package: vlc     --> Processing Dependency: libid3tag.so.0()(64bit) for package: vlc     --> Processing Dependency: libdirac_decoder.so.0()(64bit) for package: vlc     --> Processing Dependency: libhighgui.so.1()(64bit) for package: vlc     --> Processing Dependency: libcxcore.so.1()(64bit) for package: vlc     --> Processing Dependency: libmpcdec.so.5()(64bit) for package: vlc     --> Processing Dependency: libxosd.so.2()(64bit) for package: vlc     --> Processing Dependency: libtwolame.so.0()(64bit) for package: vlc     --> Processing Dependency: libfaad.so.2()(64bit) for package: vlc     --> Processing Dependency: libpostproc.so.51()(64bit) for package: vlc     --> Processing Dependency: libml.so.1()(64bit) for package: vlc     --> Processing Dependency: libavutil.so.50()(64bit) for package: vlc     --> Processing Dependency: libupnp.so.3()(64bit) for package: vlc     --> Processing Dependency: libSDL_image-1.2.so.0()(64bit) for package: vlc     --> Processing Dependency: libvgagl.so.1()(64bit) for package: vlc     --> Processing Dependency: libBasicUsageEnvironment.so.0()(64bit) for package: vlc     --> Processing Dependency: libmodplug.so.0()(64bit) for package: vlc     --> Processing Dependency: libtag.so.1()(64bit) for package: vlc     --> Processing Dependency: libQtGui.so.4()(64bit) for package: vlc     --> Processing Dependency: libdirac_encoder.so.0()(64bit) for package: vlc     --> Processing Dependency: libUsageEnvironment.so.0()(64bit) for package: vlc     --> Processing Dependency: libportaudio.so.2()(64bit) for package: vlc     --> Processing Dependency: libgroupsock.so.0()(64bit) for package: vlc     --> Processing Dependency: libaa.so.1()(64bit) for package: vlc     --> Processing Dependency: libcddb.so.2()(64bit) for package: vlc     --> Processing Dependency: libcaca.so.0()(64bit) for package: vlc     --> Processing Dependency: libmpeg2.so.0()(64bit) for package: vlc     --> Processing Dependency: libcv.so.1()(64bit) for package: vlc     --> Processing Dependency: libvga.so.1()(64bit) for package: vlc     --> Processing Dependency: libQtCore.so.4()(64bit) for package: vlc     --> Processing Dependency: libmad.so.0()(64bit) for package: vlc     --> Processing Dependency: libmatroska.so.2()(64bit) for package: vlc     --> Running transaction check     ---> Package SDL_image.x86_64 0:1.2.10-1.el5.rf set to be updated     ---> Package a52dec.x86_64 0:0.7.4-8.el5.rf set to be updated     ---> Package aalib.x86_64 0:1.4.0-5.el5.rf set to be updated     ---> Package dirac.x86_64 0:1.0.2-1.el5.rf set to be updated     --> Processing Dependency: libcppunit-1.12.so.0()(64bit) for package: dirac     ---> Package faad2.x86_64 0:2.7-1.el5.rf set to be updated     ---> Package ffmpeg.x86_64 0:0.6.5-1.el5.rf set to be updated     --> Processing Dependency: libx264.so.107()(64bit) for package: ffmpeg     --> Processing Dependency: libmp3lame.so.0()(64bit) for package: ffmpeg     --> Processing Dependency: libopencore-amrnb.so.0()(64bit) for package: ffmpeg     --> Processing Dependency: libopencore-amrwb.so.0()(64bit) for package: ffmpeg     --> Processing Dependency: libfaac.so.0()(64bit) for package: ffmpeg     --> Processing Dependency: libgsm.so.1()(64bit) for package: ffmpeg     ---> Package ffmpeg-libpostproc.x86_64 0:0.6.5-1.el5.rf set to be updated     ---> Package libcaca.x86_64 0:0.99-0.1.beta17.el5.rf set to be updated     --> Processing Dependency: libglut.so.3()(64bit) for package: libcaca     ---> Package libcddb.x86_64 0:1.3.1-1.el5.rf set to be updated     --> Processing Dependency: libcdio.so.7(CDIO_7)(64bit) for package: libcddb     --> Processing Dependency: libcdio.so.7()(64bit) for package: libcddb     ---> Package libdca.x86_64 0:0.0.5-1.el5.rf set to be updated     ---> Package libdvbpsi.x86_64 0:0.1.7-1.el5.rf set to be updated     ---> Package libdvdnav.x86_64 0:0.1.10-3.el5.rf set to be updated     ---> Package libdvdread.x86_64 0:0.9.7-1.el5.rf set to be updated     --> Processing Dependency: libdvdcss >= 1.2.5 for package: libdvdread     ---> Package libebml.x86_64 0:1.0.0-1.el5.rf set to be updated     ---> Package libid3tag.x86_64 0:0.15.1b-3.el5.rf set to be updated     ---> Package libkate.x86_64 0:0.3.7-1.el5.rf set to be updated     ---> Package libmad.x86_64 0:0.15.1b-4.el5.rf set to be updated     ---> Package libmatroska.x86_64 0:1.0.0-1.el5.rf set to be updated     ---> Package libmodplug.x86_64 0:0.8.7-1.el5.rf set to be updated     ---> Package libmpcdec.x86_64 0:1.2.6-1.el5.rf set to be updated     ---> Package libshout.x86_64 0:2.2.2-2.el5.rf set to be updated     ---> Package libupnp.x86_64 0:1.6.6-1.el5.rf set to be updated     ---> Package lirc.x86_64 0:0.6.6-4.el5.rf set to be updated     ---> Package live555.x86_64 0:0-0.27.2012.02.04.el5.rf set to be updated     ---> Package mpeg2dec.x86_64 0:0.4.1-2.el5.rf set to be updated     ---> Package opencv.x86_64 0:1.0.0-1.el5.rf set to be updated     ---> Package portaudio.x86_64 0:19-1.20071207.el5.rf set to be updated     ---> Package svgalib.x86_64 0:1.9.25-1.el5.rf set to be updated     ---> Package taglib.x86_64 0:1.5-1.el5.rf set to be updated     ---> Package twolame.x86_64 0:0.3.13-1.el5.rf set to be updated     --> Processing Dependency: libsndfile.so.1(libsndfile.so.1.0)(64bit) for package: twolame     --> Processing Dependency: libsndfile.so.1()(64bit) for package: twolame     ---> Package vlc.x86_64 0:0.9.9a-7.el5.rf set to be updated     --> Processing Dependency: libXvMCW.so.1()(64bit) for package: vlc     --> Processing Dependency: libQtGui.so.4()(64bit) for package: vlc     --> Processing Dependency: libQtCore.so.4()(64bit) for package: vlc     ---> Package xosd.x86_64 0:2.2.14-1.el5.rf set to be updated     ---> Package zvbi.x86_64 0:0.2.33-2.el5.rf set to be updated     --> Running transaction check     ---> Package cppunit.x86_64 0:1.12.0-3.el5.rf set to be updated     ---> Package faac.x86_64 0:1.26-1.el5.rf set to be updated     ---> Package gsm.x86_64 0:1.0.13-1.el5.rf set to be updated     ---> Package lame.x86_64 0:3.99.5-1.el5.rf set to be updated     ---> Package libcaca.x86_64 0:0.99-0.1.beta17.el5.rf set to be updated     --> Processing Dependency: libglut.so.3()(64bit) for package: libcaca     ---> Package libcdio.x86_64 0:0.77-1.el5.rf set to be updated     ---> Package libdvdcss.x86_64 0:1.2.10-1.el5.rf set to be updated     ---> Package libsndfile.x86_64 0:1.0.17-1.el5.rf set to be updated     ---> Package opencore-amr.x86_64 0:0.1.2-1.el5.rf set to be updated     ---> Package vlc.x86_64 0:0.9.9a-7.el5.rf set to be updated     --> Processing Dependency: libXvMCW.so.1()(64bit) for package: vlc     --> Processing Dependency: libQtGui.so.4()(64bit) for package: vlc     --> Processing Dependency: libQtCore.so.4()(64bit) for package: vlc     ---> Package x264.x86_64 0:0.0.0-0.4.20101111.el5.rf set to be updated     --> Finished Dependency Resolution     vlc-0.9.9a-7.el5.rf.x86_64 from rpmforge has depsolving problems       --> Missing Dependency: libQtGui.so.4()(64bit) is needed by package vlc-0.9.9a-7.el5.rf.x86_64 (rpmforge)     libcaca-0.99-0.1.beta17.el5.rf.x86_64 from rpmforge has depsolving problems       --> Missing Dependency: libglut.so.3()(64bit) is needed by package libcaca-0.99-0.1.beta17.el5.rf.x86_64 (rpmforge)     vlc-0.9.9a-7.el5.rf.x86_64 from rpmforge has depsolving problems       --> Missing Dependency: libXvMCW.so.1()(64bit) is needed by package vlc-0.9.9a-7.el5.rf.x86_64 (rpmforge)     vlc-0.9.9a-7.el5.rf.x86_64 from rpmforge has depsolving problems       --> Missing Dependency: libQtCore.so.4()(64bit) is needed by package vlc-0.9.9a-7.el5.rf.x86_64 (rpmforge)     Error: Missing Dependency: libglut.so.3()(64bit) is needed by package libcaca-0.99-0.1.beta17.el5.rf.x86_64 (rpmforge)     Error: Missing Dependency: libXvMCW.so.1()(64bit) is needed by package vlc-0.9.9a-7.el5.rf.x86_64 (rpmforge)     Error: Missing Dependency: libQtCore.so.4()(64bit) is needed by package vlc-0.9.9a-7.el5.rf.x86_64 (rpmforge)     Error: Missing Dependency: libQtGui.so.4()(64bit) is needed by package vlc-0.9.9a-7.el5.rf.x86_64 (rpmforge)      You could try using --skip-broken to work around the problem      You could try running: package-cleanup --problems                             package-cleanup --dupes                             rpm -Va --nofiles --nodigest     The program package-cleanup is found in the yum-utils package.     Restoring your Previous repositories......


title: With full data journaling, why does data appear in the directory immediately?

text: I've got a question regarding full data journaling on ext3 filesystems. The man page states the following:               data=journal     All data is committed into the journal prior to being written into     the main filesystem.      It seems to me that that means that a file is first saved to the journal and then copied to the filesystem. I assumed that if I download something it should first be saved in the journal and if complete moved to FS. But after starting the download file appears in the directory (FS). Whats wrong about that? **Edit:** Maybe its wrong to think of "all Data" = whole size of the file? So if all data is maybe only a Block or something else than it would make sense and I couldn't see that things are first written to journal?!


title: Sending email without including an origin IP address in headers

text: I often see email headers like these when I get email these days:               Received: by FQDN (Postfix, from userid $USERID)      So does that mean that people SSH into their VPS and send email from there **or** is there a way of relaying email from my local computer through the VPS? Basically, I want to do the same to hide my IP address when I send an email through SMTP and want to use the VPS address instead.


title: Bash commands with spaces in them (git config or git-config?)

text: Please forgive me if this seems easy, but I only started learning Unix 2 days ago. Basically, I have been taught that when typing a command into the terminal it needs to be of the form:               [command name][space][-options][space][arguments]      Now I've just started looking at using git, and I've come across the following:               git config --global core.editor "notepad.exe -wl1"      So in this case is `git config` the command? How can that work when there is a space in the middle of it? Wouldn't unix get confused and think that `config` would be an option? Also just to confuse matters even more, very often I see a command called `git-config`. Is this the same as `git config`? I find it really confusing that in something where precise syntax is very important, these things aren't clearly explained.


title: How to compile to a specific executable format?

text: I'm a bit confused. I just read this: http://www.es.freebsd.org/doc/handbook/binary-formats.html, which basically says that freeBSD uses the elf binary format. But when I compile my code I using cc, I get a file called a.out. So what's going on here? Can I somehow specify in which format cc should build my code? Does freeBSD just support both formats? Is the resulting executable actually in elf format, but is it just called a.out for some reason:P?


title: How can I tease Sonicwall ?

text: In my college, I can't use the web, because they use Sonicwall network firewalls How can I tease it? For I use all websites in my college? Please see the result when I access a website blocked ![here](http://i.stack.imgur.com/ktKxR.png) I already tried use non-proxy but it didn't worked. Thanks!


title: Customize Drive Mount Location

text: I'm running Crunchbang Linux (a variant of Debian) Whenever I plug in a drive, it gets mounted to `/media/username/UUID-or-Name`. Is there a way to instead mount it to `/media/UUID-or-Name`? Crunchbang comes with `thunar-volman` installed by default, and I think it's what mounts the drives automatically, but there's no setting I can find that determines where drives are mounted, only whether or not they're mounted.


title: How to find all paths not compatible with Windows?

text: On most Linux filesystems, NUL (`\0`) is the only invalid character in paths (and `/` is reserved as the path separator). Windows has a complicated set of rules for valid paths. Rather than fixing paths automagically (dangerous, could result in a file overwriting another), **how can I find all paths within a directory not compatible with Windows?** The original issue was that my Google Drive folder was on a drive mounted using ext2fs, but the official Gdrive client told me thousands of files could not be synced. I could find no error messages, and when I asked it to show me the files it would simply hang indefinitely. Restarting the client or OS did not help, but I had a hunch fixing any non-Windows-compatible paths would unstick Gdrive. It seems to have worked...


title: Xorg display issue in a newly installed RHEL6 machine

text: I installed **RHEL6** in a pretty old machine. The installation went perfectly fine and after installation, I did the below steps.   * Registered the machine with the satellite.    * Ran the `yum update` command to receive the latest updates for this machine. The above 2 steps went on perfectly fine. Now, after configuring the firewall and network as a routine step, I restarted the machine. Now, the machine is stuck in the _RHEL6 symbol page_. It is neither going to the login page nor allowing me to login to the text mode. However, ssh to this machine is working fine. So, I checked the `/var/log/Xorg.0.log` in 2 machines. (First machine has perfectly working X server and the second machine is the one where it is stuck in RHEL6 symbol). I found couple of warnings like below in the faulty machine.               [   102.453] (WW) xf86OpenConsole: setpgid failed: Operation not permitted     [   102.453] (WW) xf86OpenConsole: setsid failed: Operation not permitted      Also, in the faulty machine, my log abruptly ends at this line.               [    102.718] (II) intel(0): Setting screen physical size to 338 x 270      However, in the working machine, after the above log message I see that keyboard registry and other things are being recorded in the log. So, where is the problem in this newly installed machine? Is it a driver issue? Or is it something related to corrupted hard disk? How should I resolve this? I tried the below step but it is not working. `X -configure` which gave me the error as,               Number of created screens does not match number of detected devices.       Configuration failed.     Server terminated with error (2). Closing log file.


title: restrict student account permissions, give faculty access

text: I have set up two user groups, students and faculty on Ubuntu 12.04 and created a number of students and faculty accounts. The problem is a student can currently see & read all of the files of a fellow student :-/ I would like to prevent students from seeing/reading each others directories/files, but permit someone in the faculty group freely access to the student groups. I'm not sure how to go about this, can anyone offer pointers on how to implement this policy? I know how to set/change groups, but not how to limit the policy to what they can do/see. (I've been a Linux user for a while, but administering more than my own account is new to me) Also, would I have to change the `umask` for all student accounts to make sure this policy doesn't get circumvented with new files/directories students create subsequently? Would I as root execute `chmod go-rx /home/*` on each student homedirectory to accomplish this goal, or am I going about this the wrong way? **UPDATE** : Just to clarify, my goal is to have this as a default setup, I don't expect I can prevent informed/curious students from changing their own permissions - and I'm willing to live with that.


title: How can I delete all english lines from a textfile?

text: I have this text file:               714     01:11:22,267 --> 01:11:27,731     Auch wenn noch viele Generationen auf einen Wechsel hoffen,     Even if it takes many generations hoping for a change,          715     01:11:27,732 --> 01:11:31,920     werde ich mein Bestes geben     und hoffe, dass andere das gleiche tun.     I'm giving mine, I'm doing my best     hoping the other will do the same          716     01:11:31,921 --> 01:11:36,278     Wir haben eine harte Arbeit vor uns,      um den Lauf der Dinge zu ändern.      it's going to be hard work     for things to turn around.          717     01:11:36,879 --> 01:11:42,881     Wenn man die Zentren künstlicher Besamung,      die Zuchtlaboratorien und die modernen Kuhställe besichtigt,      When visiting artificial insemination centers,     the selection center, modern stables,     ...      and would like to parse it so only the not-english lines stay is this possible?


title: Building a home file server using Arch Linux

text: I want to create a home file server using my old desktop. I plan on using Arch Linux for this as I'm familiar with it. The desktop has 2 hard drives - the old 20gb one & a new 1TB hdd. I plan on using the 1tb hdd for keeping all my files & the 20gb one to install Arch & keeping the system files. Is this a good approach?


title: Download one html page with all needed graphics and linked pdf/zip files

text: I want to download a website from an URL, to view it locally, more exactly:   * Download _one single_ html page (no other linked html pages) and everything needed to display it (css, images, etc.)   * Also download all directly linked files of type `pdf` and `zip`.   * And correct all links to them, so the links do work locally.   * The other links (for example to html files) should be kept untouched. I'm open to all linux-based tools (`macports` support would be nice), using `wget` didn't work out for me so far. **Edit:** `wget -E -H -k -K -p` is close to what I want, but how do I include pdf and zip files? (Source: Stackoverflow)


title: Get exit code of command executed by the linux script command

text: Note this is run on a debian linux environment I have the following sample script called HelloWorld.sh               #!/bin/bash          echo "Hello World"     exit 1      I then run the following command               script -c ./HelloWorld.sh foo ; echo $?      $? returns 0 which is expected since the script command itself ran successfully. However, I want the return code HelloWorld.sh which would be 1 if I just ran the following command.               bash HelloWorld.sh ; echo $?      Looking at the man page, I see that the script command doesn't return anything so the following wouldn't help either               return_code=`script -c ./HelloWorld.sh foo`      The question I would like to ask is whether there is a way that I can get the return value of HelloWorld.sh when running it in the context of the script command such as sending the exit value to the parent shell. If not, how would you recommend doing it? My possible answers on how I would do it if I can't use the script command   1. Have HelloWorld.sh write to shared memory using the shm API    2. Have HelloWorld.sh write to a file Both methods require cleanup of the shared memory object and the file respectively, so I am asking for my own personal knowledge whether there is a simpler solution


title: Video editor w/ stabilization?

text: As I slowly migrate from Apple's Mac OS X to a Linux distribution, I try to find good replacements for Apple's iLife software suite. I particularly like the current iMovie's image stabilization feature, where at the cost of losing a bit of resolution, shaky footage can be stabilized so that you almost can't tell the camera was shaking. Is there an open source Linux video editor that has a similar feature?


title: Suspending my laptop breaks ethernet over firewire, are there commands which can fix it?

text: As mentioned in this question I am using a firewire cable to provide a private network between my laptop and my desktop, because it makes using the screen sharing program `synergy` much nicer than using WIFI. However when I leave my office for the day and I suspend my laptop, when I return the next day, the desktop and the laptop cannot communicate over firewire anymore. The `firewire0` device still has an IP address. but when I try and ping the desktop I get `no route to host` I'm using kernel `2.6.35-24-generic #42-Ubuntu SMP x86_64` on Ubuntu 10.10. Is there some way I can remedy this without a reboot? Like, removing some kernel modules and re-inserting them? **EDIT:** Here's what I have tried so far and the results:               root@token:~# dmesg|tail -n 1     [592525.204024] firewire_core: phy config: card 0, new root=ffc1, gap_count=5          root@token:~# modprobe -r firewire_net firewire_ohci firewire_core     root@token:~# modprobe -v firewire_ohci     insmod /lib/modules/2.6.35-24-generic/kernel/lib/crc-itu-t.ko      insmod /lib/modules/2.6.35-24-generic/kernel/drivers/firewire/firewire-core.ko      insmod /lib/modules/2.6.35-24-generic/kernel/drivers/firewire/firewire-ohci.ko           root@token:~# dmesg|tail     [592525.204024] firewire_core: phy config: card 0, new root=ffc1, gap_count=5     [592563.410868] firewire_ohci: Removed fw-ohci device.     [592579.160086] firewire_ohci: Added fw-ohci device 0000:02:00.0, OHCI v1.10, 4 IR + 8 IT contexts, quirks 0x2     [592579.160137] firewire_ohci: isochronous cycle inconsistent     [592579.660294] firewire_core: created device fw0: GUID 0000000000000000, S400     [592579.663805] firewire_core: created device fw1: GUID 0017f2fffe89bce6, S400     [592579.663813] firewire_core: phy config: card 0, new root=ffc1, gap_count=5     [592579.700720] firewire_core: phy config: card 0, new root=ffc1, gap_count=5     [592579.700842] firewire_core: refreshed device fw0     [592579.702603] firewire_net: firewire0: IPv4 over FireWire on device 0000000000000000          root@token:~# ping stan.firewire     PING stan.firewire (192.168.100.1) 56(84) bytes of data.     From token.local (192.168.100.3) icmp_seq=1 Destination Host Unreachable     From token.local (192.168.100.3) icmp_seq=2 Destination Host Unreachable     From token.local (192.168.100.3) icmp_seq=3 Destination Host Unreachable      **EDIT 2:** I also tried removing the modules prior to suspending, and re- inserting after resuming. This did not work either :-( **EDIT 3:** If I unplug and replug the firewire cable after resuming from suspend, I see the message:               firewire_core: BM lock failed, making local node (ffc0) root      I don't see this message when I unplug/replug before suspend...


title: Shell Script Size 57M

text: I have recently Downloaded yEd Graph Editor Installer shell script, which size is 57M When inspect that script head script               root@home-pc:/usr/local/src# head yEd-3.11.1_32-bit_setup.sh     #!/bin/sh          # Uncomment the following line to override the JVM search sequence     # INSTALL4J_JAVA_HOME_OVERRIDE=     # Uncomment the following line to add additional VM parameters     # INSTALL4J_ADD_VM_PARAMS=               INSTALL4J_JAVA_PREFIX=""     GREP_OPTIONS=""      Tail Script               root@home-pc:/usr/local/src# tail yEd-3.11.1_32-bit_setup.sh      ��D�r�B��|�QO���W~��     _l�Tނ�t:M�Z�*��Ѵ��'�����(�\�A^��[��e�|����K+�<ѡ)��k                                                         �l������3$+                                                                     `�cF���b\]��14�'qA�)�F�Pg��l���)�x{��A�Qك�Mf`^9e���C5�-���K&K��n�]��v�7�����]�wS�)~��?`�ߴ=����ں.AE�u����v�]�������     >1�f�\8w�+�mw�������6M��2��½���8g�M���Ǵ�^ͪ�A^�fKm*�6Yb                                                             u�8B~!  ��Ue����'����                                                                                �     �B����`1���8�!$-!�k�2O�u����Į��%�<8@�������)���-�5a��^h����[�v�x j��/~�3��                                                                                �u�b�l��.jx3W��n����>���.���         �     ���d�Ox�*~*~*~*~*~�*��*��*����������������������������������������������������{ے      So could please you help me with following question :   * Why this shell script have binary like content ?   * What is use of this content ?   * if it useful then how can I implement the same ?


title: Find location of sourced shell script

text: Is it possible that a sourced shell script knows its location? I've read determining path to sourced shell script but the answers focus on `bash` and `tcsh` and fail if a POSIX shell is used. `$0` is also not the solution and yields wrong results. A solution doesn't need to be 100% reliable. It's unlikely that the path contains hard or symlinks.               # sourcing the script should yield the absolute path to the script     . somedir/thescript          # within “thescript”     -> /tmp/foo/bar/somedir      _Some background:_ The script is part of an existing application containing dozens of binaries in a `bin` directory in a known location (varies per architecture) relative to the sourced script. To use the application the user sources the script which prepends the `bin` directory to the `PATH`, so the application's binaries can be easily invoked in the current shell (whichever shell that might be).


title: Why does high disk I/O reduce system responsiveness/performance?

text: I never quite understood why high disk I/O slowed the system so much. It's strange to me because I would expect the slow-down to affect only those processes dependent on the hard/optical drive data, but the slow-down affects even stuff loaded onto RAM. I'm here referring to **iowait**. Why does the processor wait, instead of doing other work? Can anyone explain this limitation and why it hasn't been solved in Linux kernel? Is there a kernel out there that doesn't have this problem? [ **note** ] There has been some progress in this performance area. For one, the later kernels (2.6.37 in my case) are much more responsive.


title: What's the purpose of having different crontabs per user?

text: Is it just for controlling the permissions of the script being called or does it also effect when or if the script runs? I assume if I setup a cron for a non-root user it should always run, even if I haven't logged in as that user since reboot, right?


title: How to keep the terminal cursor fixed at the top?

text: When writing in command line I have this aversion to scrolling my eyes down to the bottom of the page as I write commands. How do I keep the cursor/line at the top and allow the output to be displayed below it every time I write and execute a command? Has anyone ever tried to accomplish this?


title: Vim autocomplete to include punctuation between words

text: I'm currently programming in Tcl/Tk. I have some widgets called `.entry,stdin` and `.entry,stdout` and I'm using supertab for autocompletion. The comma is there because I'm using a package called gridplus and that's how I can access the standard Tk widget functionality. The idea of using auto-completion is that when I type `.entry,` and press the tab key it will show ONLY `stdin` and `stdout` as possible answers. However when I do that it shows all the possible words in the file instead of just `stdin` and `stdout`. And when tried autocomplpop and neocomplcache it doesn't even pop the menu after `.entry,` I guess `vim` is interpreting the `,` as a word separator even though there is no space. When I tried swapping `,` for `_` it works because I think `vim` is interpreting it as one word. So I guess is more to do with vim interpretation of what a word is, rather than a plugin matter. However, I'm wondering if it is possible to change this behavior?


title: ssh X forwarding web browser flash

text: I have a question regarding ssh X forwarding. Specifically when it comes to forwarding X program i.e. some web browser client, for example Iceweasel. X Server <--(request to display Iceweasel executed on X client)--- X client And lets assume I would like to execute in this web browser some dynamic content like Flash or a Javascript game. My question: Will it be executed on the X server or on the X client?


title: Searching a file & excluding lines with a specified string

text: I have a large log file that contains numerous lines of the same entry, lets call it "repeat-info". As an example here is what a portion of the log might look like:               [Timestamp] repeat-info     [Timestamp] repeat-info     [Timestamp] Log information 1     [Timestamp] Log information 2     [Timestamp] repeat-info     [Timestamp] Log information 3     [Timestamp] repeat-info      Is there a command that can output the information in the log file and exclude the repeated information? It becomes a hassle if I have to use `more file.log` and sift through all the repeating information to find what it is I want to look at. I am reading through the man pages for `sed` and `awk` as I saw those appear in searches for my question, however I haven't found anything conclusive that would do what I need. I was searching through the older questions and found this question  which is related to mine. I was looking for a way to do this with a single command, or two piped together, without having to create a script. Any help is appreciated!


title: Limiting processes by memory under Linux

text: We must launch several hungry processes on a Linux system. These processes often need several Go (~5Go) of memory to run (total memory: 16Go RAM + 2Go swap).   * At first, when the system was running out of memory, the OOM-killer killed processes, we had to reboot the system each time it happened.   * Then, we have tried to use the overcommit_memory (= 2) + overcommit_ratio (= 75) parameters, so processes are not launched when the situation is getting critical. So, no need to reboot the server anymore. But our launching script now report dozens of errors when the limit is reached : the new processes are immediately in error, the processes are never launched.   * So now we are looking for a solution to launch "as many" processes as we want, and then they would be delayed/paused or anything, waiting for their brothers to stop... Does it exist ?


title: Re-install networking packages

text: I have problems with my network in Ubuntu 13.10. Since it worked some days ago, and no solution I tried could repair it, I want to install it all over again. That would be kind of a reset to the original configuration. However, how can I obtain a list of all relevant packages? And second, once I purge the installed packages, how can I get the new ones? I won't have any Internet connection then...


title: Getting from proficient to expert

text: I've got my vacation coming in and thought I might use that for something useful. Essentially, I've been a Linux user since around 1995 when I installed Slackware 2.0 on my computer and have been running Linux exclusively at home since around 1999. By many people's standards I would probably be an expert on a lot of things related to Linux. However, I'm pretty sure there are tons of cool tips and tricks that I've missed and which would be too annoyingly scattered around the net to be found easily. I've got a list of things here and finding books for these would be cool:   1. Advanced usage of the shell (not talking about shell scripting) and using some of the more esoteric binaries that one can find in /bin and /usr/bin? I.e. why are they useful can I use them to make some tasks easier? For example, I don't think I've ever ran any of the following standard binaries: cut, readlink, fmt, tee   2. mingetty and most things related to tty's is something I've never bothered to look into. Like how would I configure a serial console etc. I'm looking for a source with everything useful I might need about tty's. Since I mainly use Linux for my own tasks as I work in academia, I would not mind to study things that senior enterprise UNIX admins have to deal with. Although, I know I won't actually able to learn this properly, since I won't be able to get the hands on experience. I have around 10 old computers in one big pile in my garage and they should work, so they could be used to tinker with fun things like the following:   1. Clustering: Both high-availability as well as scientific computation.   2. How storage is handled in enterprise networks.   3. Virtualization technologies: Both VMs for running stuff on them as well as storage.   4. Cloud computing platforms like OpenStack. (yes, this overlaps heavily with previous point)   5. I'm also interested in learning how things like authentication and user management is dealt with in larger organizations. What pieces are typically used and how does it glue together. This would probably work best as a community wiki, so I'm essentially looking at lists of good resources from people that actually work with this stuff and know what they are doing (i.e. have real-world experience with this stuff in larger environments... I mean I can google stuff too, but not filter the most relevant results based on experience). EDIT: I'm a mathematician/cryptographer/computer scientist... and I've sort of realized that working with low-level mathematical building blocks of stuff used in enterprise security, I'm very ignorant about how things are actually used in practice.