title: Path syntax rules

text: I'm writing a library for manipulation Unix path strings. That being the case, I need to understand a few obscure corners of the syntax that most people wouldn't worry about. For example, as best as I can tell, it seems that `foo/bar` and `foo//bar` both point to the same place. Also, `~` usually stands for the user's home directory, but what if it appears in the _middle_ of a path? What happens then? These and several dozen other obscure questions need answering if I'm going to write code which handles every possible case correctly. Does anybody know of a definitive reference which explains the _exact_ syntax rules for this stuff? (Unfortunately, searching for terms like "Unix path syntax" just turns up a million pages discussing the `$PATH` variable... Heck, I'm even struggling to find suitable tags for this question!)


title: How to install Picasa on Scientific Linux 6.3?

text: I can install/use Picasa with wine, but how can I natively install it from RPM (are there any offical sources to get the installer?)


title: Linux's man alternatives

text: Are there any alternatives to linux's man? I know many users used to man and for them it's useful and best way to find what they want, but i'm looking for something which is focused on examples. Is there any offline soft like man or maybe site where most popular commands have manual in convention "examples first" or "most used examples first" and all switches at the end? Often if i don't remember arguments etc. it's better way to look at any common example and short info about what it does instead of searching proper option on man


title: How to modify linux console prompt line ( for a while )

text: For example I typed such commands:               user@my-machine:~$ cd ABC     user@my-machine:~/ABC$ cd long-name     user@my-machine:~/ABC/long-name$ cd another-long-name     user@my-machine:~/ABC/long-name/another-long-name$ ls      So, I've chosen directory I need, and I need to work in it ( lots of commands ). But half of my console line is the prompt line. It's not very comfortable. Can I shorten it for a while? For example I'll make it `user@my-machine:~foo$` and when I finish working in this directory - I'll turn this shortness off. Is there a way to do this?


title: Kernel panic when passing noatime in bootargs

text: I have an embedded system using jffs2 and want to pass `rootflags=noatime` in the kernel `bootargs` parameter. This results in a kernel panic:               jffs2: Error: unrecognized mount option 'noatime' or missing value     [...]     No filesystem could mount root, tried:  jffs2     Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)      However, if I boot normally and then remount the jffs2 filesystem with noatime, it works fine:               $ mount -o remount,noatime /      I am puzzled by this as according to the documentation, the rootflags argument "allows you to give options pertaining to the mounting of the root filesystem just as you would to the mount program". Looks like a kernel bug to me, but on the other hand it seems so obvious that perhaps I am overlooking something. I have tested this with kernel versions 3.7 and 3.14. Can someone shed some light?


title: Best location and permissions for socket files

text: I will have a couple of WSGI applications. They will communicate with `nginx` using sockets. For that purpose I've created the directory `/run/wsgi` in which I will place all the socket files that are needed. My problem is that `nginx` is not able to access the socket file. I've given ownership of `/run/wsgi` to `www-data` to no avail. What would be the correct permissions for the directory?. I chose the `/run` directory because the commonly used `/tmp` does not guarantee persistence of the files (according to the FHS). I'm open to discussion about this decision, though. My applications will run under Ubuntu Server 3.0.0-30 with SElinux disabled. `nginx` was installed using `apt-get`.


title: Convert Ogv -video to Gif -animation?

text: I created Ogv -videos with gtk-recordMyDesktop -screecasting program, trying to tackle this problem here with bruteforce over X. You can view the videos with VLC. Now the puzzle is to find some ways to convert Ogv -videos into Gif -animations so I can display them in SE. How can I do that?


title: bash merge 2 lists removing duplicated

text: I have an embedded linux system using Busybox (OpenWRT) - so commands are limited. I have two files that look like: first file               aaaaaa     bbbbbb     cccccc     mmmmmm     nnnnnn      second file               mmmmmm     nnnnnn     yyyyyy     zzzzzz      **I need to merge these 2 lists into 1 file, and remove the duplicates.** I don't have diff (space is limited) so we get to use the great `awk`, `sed`, and `grep` (or other tools that might be included in a standard Busybox instance). Going to a merge file like:               command1 > mylist.merge      command2 mylist.merge > originallist      is totally ok. It doesn't have to be a single-line command. Currently defined functions in the instance of Busybox that I am using (default OpenWRT): [, [[, arping, ash, awk, basename, brctl, bunzip2, bzcat, cat, chgrp, chmod, chown, chroot, clear, cmp, cp, crond, crontab, cut, date, dd, df, dirname, dmesg, du, echo, egrep, env, expr, false, fgrep, find, free, fsync, grep, gunzip, gzip, halt, head, hexdump, hostid, hwclock, id, ifconfig, init, insmod, kill, killall, klogd, less, ln, lock, logger, logread, ls, lsmod, md5sum, mkdir, mkfifo, mknod, mktemp, mount, mv, nc, netmsg, netstat, nice, nslookup, ntpd, passwd, pgrep, pidof, ping, ping6, pivot_root, pkill, poweroff, printf, ps, pwd, reboot, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep, sort, start-stop-daemon, strings, switch_root, sync, sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, watchdog, wc, wget, which, xargs, yes, zcat


title: How to create a snapshot of a physical disk?

text: I have Windows 7 installed on one of my disks. I want to boot this Windows system in my Xen HVM, but I do not want the changes to be permanent. So I want to create a snapshot of my Windows 7 partition. I checked with LVM, but it seems LVM can only create snapshot for LV it created. I am looking for a more general snapshot method.


title: Is there a clipboard on non-GUI Ubuntu / Linux systems? Can I synchronize it with my local (OS X) clipboard?

text: I spend a lot of time on Mac OS X as a desktop system, and on the Mac there are two nice little utilities for the command line, `pbcopy` and `pbpaste` which can accept `stdin` and write to `stdout`. **Is there a similar utility or non-GUI pasteboard in linux? How does that work?** I read over this blog post http://blog.roseman.org.uk/tag/iterm2.html in which a guy who works for Google says that he can use `XQuartz`, `iTerm2`, and `vim` and have things he `yanks` in `vim` copied to the system pasteboard, which syncs with his local clipboard. I've installed `XQuartz`, changed preferences and checked the boxes to sync the pasteboards, and connected to ssh remotely with X forwarding (`ssh -X`) but when I yank things in `vim` to the system pasteboard (`"+yy`) on a remote system, my local clipboard does not change. **What am I doing wrong? Do I need to be using`tmux` to have the pasteboards sync?** I'm going into this a little blind having not used the pasteboard in command- line linux before. Can someone help me understand a little more on this subject?


title: Gnome Shell Integration in Chrome not working

text: Just upgraded to Ubuntu 14.04, which seems to also make a full reinstall of Chromium (as all my plugins were removed). Now, trying to access `https://extensions.gnome.org/` to enable Gnome Shell extensions, but the message: > We cannot detect a running copy of GNOME on this system, so some parts of > the interface may be disabled. See our troubleshooting entry for more > information. keeps appearing. There is nothing in my `chrome://plugins` page, but the site still seems to be whitelisted in my "click to play" settings. Has anyone found out how to force `Chrome` to get this plugin?


title: What's the difference between "equery depends" and "equery depgraph"?

text: xi@localhost /usr/src $ equery depgraph gcc | wc -l     872     xi@localhost /usr/src $ equery depends gcc      * These packages depend on gcc:     app-admin/eselect-python-20100321 (>=sys-devel/gcc-3.4)     sys-devel/llvm-3.0-r2 (>=sys-devel/gcc-3.0)     sys-libs/glibc-2.15-r3 (>=sys-devel/gcc-3.4.4)                            (arm ? >=sys-devel/gcc-4.1.0)                            (x86 ? >=sys-devel/gcc-4.3)                            (amd64 ? >=sys-devel/gcc-4.3)                            (ppc ? >=sys-devel/gcc-4.1.0)                            (ppc64 ? >=sys-devel/gcc-4.1.0)     xi@localhost /usr/src $ equery depgraph     Display a direct dependency graph for a given package          xi@localhost /usr/src $ equery depends     List all packages that depend on a atom given query


title: How can I kill and wait for background processes to finish in a shell script when I Ctrl+C it?

text: I'm trying to set up a shell script so that it runs background processes, and when I `Ctrl``c` the shell script, it kills the children, then exits. The best that I've managed to come up with is this. It appears that the `kill 0 -INT` also kills the script before the wait happens, so the shell script dies before the children complete. Any ideas on how I can make this shell script wait for the children to die after sending `INT`?               #!/bin/bash     trap 'killall' INT          killall() {         echo **** Shutting down... ****         kill 0 -INT         wait # Why doesn't this wait??         echo DONE     }          process1 &     process2 &     process3 &          cat # wait forever


title: A minimal POSIX conformant operating system

text: For educational purposes, I'd like to start with a POSIX compliant base, including a shell, basic utilities, and an ANSI C compiler, then see what kind of environments I can build by putting packages together. However, most minimal POSIX conformant operating systems I've come across seem to be embedded and/or proprietary. Are there any such open source systems I can easily run under Virtualbox? I have searched around a little about building such an environment from scratch, but it seems like it's a lot of work to simply get a bootable/usable environment, much less a a POSIX compliant one. I might try my hands at building a POSIX OS someday, but I'd first like to be a bit more computer savvy beforehand. Note: I think I have heard somewhere that Linux is not completely POSIX conformant, but as long as I can compile and build some of the more common and essential open source tools (like wget and w3m), I would be pretty happy, whether or not it used the Linux kernel. Same goes for the other basic components I would imagine might come with the operating system (e.g. glibc)


title: Running NFS server as ver 3

text: As NFS docu stands it is possible to run NFS serwer ver 4 as ver 3 from the boot. Just it is necessery to add such entries in /etc/defaults/nfs file:               NFS_SERVER_VERSMAX=3     NFS_SERVER_VERSMIN=3      I created such file but NFS server sill starts as ver 4. What is wrong in my config?


title: unmount pendrive discarding changes

text: Is it possible to unmount a (FAT32-formatted) pendrive without committing changes? Use case: easy recovery of accidentally deleted files


title: Use rsync with closed files only

text: I am interested in using rsync with the --remove-source-files option. I am planning on pointing it to a directory, with a command like:               rsync -avm --remove-source-files --include='*.dat' -f 'hide,! */' . /destination_dir      If I have a file open for writing in the directory, will rsync be smart enough to not transfer that file until it is closed?


title: Using tar on a file with an @ (at symbol)

text: I'm trying to extract a tarball using `tar -xvf` that's in the format (where * is any word character) *@*@*@*.tar.gz but I think tar is trying to find the file at a remote location. The error I get is for the command `tar -xzvf tasf423@2012-02-22\@00:03:04\@ja41nf.tar.gz`:               tar (child): Cannot connect to 2012-02-22@00: resolve failed      I tried using back slashes to escape it and even tried replacing the @ symbols with %40 but none of this seemed to work. Is there any way to extract a tarball using the tar command with an @ in its name?


title: bash globstar matching

text: I have this directory structure:               ~/tmp/globstar ɀ  find dir -type f     dir/file.ext     dir/subdir1/file.ext     dir/subdir2/file.ext      and, with the `globstar` option enabled in Bash, I can say:               ~/tmp/globstar ɀ  ls -1 dir/**/*.ext     dir/subdir1/file.ext     dir/subdir2/file.ext      My question is: why is `dir/file.ext` excluded from this list? Bash manual says this about `globstar`: > If set, the pattern ‘**’ used in a filename expansion context will match all > files and zero or more directories and subdirectories. If the pattern is > followed by a ‘/’, only directories and subdirectories match. “ **zero** ” in this paragraph let me with the impression that `dir/file.ext` should have been included; unless I’m hopefully missing something.


title: Apply iptable to ongoing communication

text: I have 3 hosts running, all in the same network. Host A and C are continuously communicating and host B poisoned both host A and C ARP caches so the traffic goes through it. However, if I apply this `iptables -t nat -A PREROUTING -i eth1 -p tcp --dport <Port> -m state --state ESTABLISHED -j DNAT --to <host_B_IP>` I have to stop the communication in host A and then run it again for the iptable to have effect. I think the problem is that conntrack (which is required to track the state of the communication and allow the traversal through the firewall tables) is not working because it "didnt see" the initial 3-way-handshake that took place when host A fist connected to host C. Any way to make the iptable rule above work for the ongoing communication?


title: What other distributions provide the option to install inside Windows?

text: I mean installing with something like wubi? Can Fedora do this?


title: Left control key not working in virtualbox

text: I'm having an issue. I'm trying to install Gentoo in virtualbox. I can't use `nano` because when I press `Ctrl` + `x`, I see, I have written `x` letter. Something's wrong with `Ctrl` key in virtualbox. I've seen similar question, but the answer doesn't work to me. Any ideas?


title: Linux disk I/O performance issue -- what config options to look at?

text: We discovered an I/O related performance problem when using the default SLES11 SP2 kernel. Our same application on the same hardware had no issue with (the admittedly ancient SLES9 SP3). We had a feeling it has something to do with the kernel and have done the following experiment so far:   1. Downloaded and unpacked the kernel.org `3.0.13` source tree.   2. Installed Novell's `kernel-source-3.0.13-0.27.1` package. This is the `3.0.13` source with all of Novell's patches/tweaks already applied.   3. In the `3.0.13` tree did a `make x86_64_defconfig` to generate a default config file, then used `make menuconfig` to turn on the drive controller and network card drivers our hardware needed and built the kernel. This kernel had `no` performance problem.   4. In the `3.0.13-0.27.1` tree we got the config file that Novell ships with their compiled kernel, built with it, and had the same performance problem we had with the Novell-compiled kernel.   5. In the `3.0.13-0.27.1` tree, took the config file used in (3), built with it (accepting the additional config defaults that Novell's version of the configurator wanted to add). There was **no** performance problem.   6. In the `3.0.13` tree, took the config file used in (4), built with it (losing the Novell-only config options in the file). There was **no** performance problem.   7. In the `3.0.13-0.27.1` tree, took the config file used in (4), and made the device drivers (but nothing else) match the config file in (3) (i.e. turned off lots and lots of device drivers that weren't being used anyways). There was **no** performance problem. So the kernel.org `3.0.13` tree had no performance problem either way. Novell's `3.0.13-0.27.1` tree only had the problem when we built with Novell's config file or a file that was identical to Novell's but with most of the device drivers de-configured. Given that, it would seem to be that there's either some Novell-only config option (and implicitly the Novell code it activates) causing the problem, or some bad interaction between a Novell patch and some standard option (given that the as-close-as-possible-to-Novell's-config did **not** have the problem when built against the virgin kernel.org source). While we continue to investigate, since I am no kernel hacker (I know how to build the kernel but that's about it) I was wondering what "families" of config options would be the best ones to focus attention on. The idea would be to change some options from the "Novell" setting to the "kernel.org" setting and see if the problem goes away, then set them back and try another set, and so on. But I'd like to narrow that down -- hence the question about which config options would be good bets to play with first.


title: Highlighting text in bash when using reverse history search using Ctrl-R

text: Using `Ctrl-R`, I can search the history in bash. But what to do, If I want to highlight the relevant word which has been typed upon by me. Example:               (reverse-i-search)`mount': sudo mount /dev/sda2 /mnt      In the above reverse search, I want to highlight the world `mount` from the entire command `sudo mount /dev/sda2 /mnt`. How to achieve this in bash ?


title: Encrypt my disk but allowing to enter the password with SSH

text: Can you help me with this problem please? I need encrypt whole disk on Debian 7.5, (it will be work as server) but I need enter encryption password via SSH. So I need encrypt whole disk except primary system features as ssh server, because for example I need remotely restart this server. Do you know about any effective options?


title: How to remove string between two strings?

text: INPUT:               $ cat a.txt     FOO<td align="right" style='mso-number-format:"\[$-409\]m\/d\/yy\\ h\:mm\\ AM\/PM\;\@";' x:str>BAR      OUTPUT:               $ sed 's/SOMEMAGIC//g' a.txt     FOOBAR      **My question:** How can I remove that horrible "< td align......" part? This drives me nuts!!


title: Set niceness to piped command

text: I need to execute a set of "piped" commands with altered niceness level. Example:               nice -n 15 command1 | command2 | command3      In this case niceness is altered to "15" only for command1. How to change it for the whole set of commands (command1, command2 and command3)?


title: ssh into folder

text: Is there a simple unix command to SSH into a folder? I'd like to make my aliases doing that extra step for me! Feeling dense. Does this just not exist? `ssh username@mydomain.com:/var/www/mysite`


title: Determine time of last suspend(-to-ram)

text: I have a backup script that is run each night. If my (Linux-) host is suspended it is woken up by another host before the script runs. I would like to be able to suspend my host again after the backup is finished, **but only if** it was woken up to run the script. If it was running before, I want to leave it running. Is there any way I can get the information when the host was last woken from suspend-to-ram?


title: mpirun fails to recognize program in $PATH

text: Somehow `mpirun` fails to acknowledge my `$PATH`. The program `PyroDist`, that I have in `$PATH`, works:               $ PyroDist     Can't find asked option -in     PyroDist - pairwise distance matrix from flowgrams     -in     string            flow file name     -out    stub              out file stub     Options:     -ni                       no index in dat file     -rin    string            lookup file name      And running it with `mpirun` and full path works too:               $ mpirun -np 4 ../bin/PyroDist -in C005.dat -out foo     0: Read data     0: Broadcast data     0: Broadcast flows     nN=2094 nM=360 nSize=753840      But this fails:               $ mpirun -np 4 PyroDist     Missing: program name     Program PyroDist either does not exist, is not      executable, or is an erroneous argument to mpirun.      Since I am going to use a complex set of workflows it is not feasible to use full paths. Any ideas? (openmpi 1.2.7 on Linux 2.6.32)


title: Convert json mapping object to managed csv row using bash script

text: **I have json mapping under`properties` key as below in a file Customer.json,**               {         "customer": {             "properties": {                 "customerId": {                     "type": "string",                     "index": "not_analyzed"                 },                 "name": {                     "type": "string",                     "index": "not_analyzed"                 }             }         }     }      Which I want to convert into following with `key` and `displayName` duplicated and `type` from above mapping,               field(key: 'customerId',     displayName: 'customerId', type: 'String')     field(key: 'name',           displayName: 'name',       type: 'String')      I hit and tried **bash + python** as below assuming it fetched customer key first and loops inside properties ,               $ cat Customer.json | python -c 'import sys; import simplejson as json; \     print "\n".join( [i["properties"] for i in json.loads( sys.stdin.read() )["customer"]] )'          Traceback (most recent call last):     File "<string>", line 2, in <module>     TypeError: string indices must be integers, not str      I'm open to other solutions as well.


title: Looking up a local domain name without specifying the local DNS server

text: I've set up a local domain name by creating a zone (by following the steps in this tutorial). Why I look the domain using dig, I get the right results when using the following command:               dig debian.lan @localhost      But when I don't add the DNS address, it doesn't return an answer. How can I solve this problem?               dig debian.lan


title: Build sumo 0.17.1 on Ubuntu 10.10

text: I download sumo 0.17.1 on Ubuntu 10.10 and I get this error               *** No targets specified and no makefile found.  Stop.      there are a makfile.in and makefile.am in the directory


title: Change Tiling size in Gnome 3

text: Is it possible to change the tiling size of windows (by moving them to the right or left edge of the monitor) in gnome 3? Usually the left and the right window are each 50% wide but I'd like to make it 70/30


title: How to turn on all default binding keys of vi-editing-mode on bash?

text: I am using vi-editing-mode on Bash. According to `man readline`, there are a couple of default binding keys working on vi-editing-mode. Some keys work well, but some other default keys do not work. For example, `man readline` says,               VI Command Mode functions     ...              "C-E"  emacs-editing-mode     ...      But `bind -p` on my linux box says that 'emacs-editing-mode` is not bound on any key.               $ bind -p | grep emacs-editing     # emacs-editing-mode (not bound)      Is this a normal situation? How to turn on all default binding keys of vi- editing-mode on bash? Do I have to bind keys manually on .inputrc?


title: Decrease time to shrink ext4 filesystem

text: I need to shrink a large ext4 volume, and I would like to do it with as little downtime as possible. With the testing I've done so far it looks like it could be unmounted for the resize for up to a week. Is there any way to defragment the filesystem online ahead of time so that resizefs won't have to move so many blocks around? **Update:** It's taken some time to get to this point, moved quite a few TB of data around in preparation for the shrink, and I've been experimenting using the information in the answer below. I finally came up with the following command-line which could be useful to others in a similar situation with only minor modifications. Also note, it should be run as root for the filefrag and e4defrag commands to work properly - it won't affect the file ownership. It does also work properly on files with multiple hard-links, which I have lots of.               find -type f -print0 | xargs -0 filefrag -v | grep '\.\.[34][0-9]\{9\}.*eof' -A 1 | awk '/extents found/ {match($0, /^(.*): [0-9]+ extents found/, res); print res[1]}' | xargs -n 1 -d '\n' e4defrag      A quick explanation to make it easier for others to modify/use: The first 'find' command builds the list of files to work with. Possibly redundant now or could be done a better way, but while testing I had other filters there and I've left it as a handy place to modify the scope of the rest of the command. Next pass each file through 'filefrag -v' to get a list of all physical blocks used by each file. The grep looks for the last block used by each file (line ending in 'eof'), and where that block is a 10-digit number starting with 3 or 4. In my case my new filesystem size will be 2980024320 blocks long so that does a good-enough job of only working on files that are on the area of disk to be removed. Having grep also include the following line (the '-A 1') also includes the filename in the output for the next section. This is where anyone else doing this will have to modify the command depending on the size of their filesystem. It could also probably be done in a much better way but this is working for me now and I'm lazy. awk pulls just the filenames out of all the other garbage that grep left in the filefrag output. And finally e4defrag is called - I don't care about the actual fragment count, but it has the side effect of moving the physical blocks around (hopefully into an early part of the drive), and it works against files with multiple hard-links with no extra effort. If you only want to know which files it would defrag without actually moving any data around, just leave the last piece of the command off.               find -type f -print0 | xargs -0 filefrag -v | grep '\.\.[34][0-9]\{9\}.*eof' -A 1 | awk '/extents found/ {match($0, /^(.*): [0-9]+ extents found/, res); print res[1]}'


title: How can I get Fedora and Opensuse server edition?

text: I want to get server edition for Fedora and Opensuse. I've visited their respective sites, but there is no specific server edition in the download section. So how can I get the server edition for Fedora and Opensuse?


title: Using inotify to monitor a directory but not working 100%

text: I have written a bash script to monitor a particular directory `/root/secondfolder/`:               #!/bin/sh          while inotifywait -mr -e close_write "/root/secondfolder/"     do         echo "close_write"     done      When I create a file called `fourth.txt` in `/root/secondfolder/` and write stuff to it, save and close it, it outputs the following:               /root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt      However, it does not echo "close_write". Why is that?


title: Installing packages and tools on a local non-standard directory

text: **TLDR:** What environment variables should I update to guarantee that my system has access to everything a package provides when building it on a non- traditional path? I usually don't have root access to the system where I work, so I install my packages on local folder under my home directory:               ~/my_installations/      Over time, this creates the typical folder hierarchy that includes               bin     lib     man     share     info     include      among others. In order to properly provide access to the corresponding binaries and libraries after installation, I update `PATH` to include `~/my_installations/bin` and `LD_LIBRARY_PATH` to include `~/my_installations/lib`. However, how can I provide implicit access to the rest of the material under my build path ? What other environment variables should I update to have everything else available to command line tools and my system in general? (e.g. `include` paths, `man` pages, etc.). Is there a general set of standards or guide for this?


title: Samba and Active Directory limitations

text: I was wondering if somebody could help me with a question on a networking assignment I have do do with Active Directory and Samba working together (I chose SAMBA). I understand using a Samba domain controller would make it impossible to implement group policies but I can't think of any other reasons. Here is the question: _You need to recommend directory services that would enable these clients and servers to inter-operate with the Active Directory hosts on the existing sites. Explain which service you would choose and why, and detail any limitations on inter-operability between the two directory services systems._


title: How to get the GNOME version?

text: Is there an **authoritative way to get the GNOME version** , as long as I have a working GNOME desktop (any version) running? Several of these suggestions don't work on my system, either because the executables and/or packages simply don't exist or the menu item isn't available.


title: useradd does not work but has exit code 0

text: One of my Solaris 10 servers will not add new users. Existing users are able to log in. The useradd command appears to work normally but it does not add the user. I checked my other Solaris servers and verified file permissions on /etc/passwd and /etc/shadow are the same.               # useradd -s /bin/bash -m testuser     # echo $?     0     # passwd testuser     passwd: User unknown: testuser     Permission denied     # grep -i testuser /etc/passwd     # ls -lh /etc/passwd     -rw-r--r--   1 root     sys          779 Oct  6  2012 /etc/passwd     # ls -lh /etc/shadow     -r--------   1 root     sys          385 Nov 13 13:50 /etc/shadow      As suggested by jlliagre:               # type useradd     useradd is /usr/sbin/useradd     # useradd -s /bin/bash -d /home/testuser -m testuser     # passwd testuser     passwd: User unknown: testuser     Permission denied      I also tried useradd with no args:               # useradd testuser     # passwd testuser     passwd: User unknown: testuser     Permission denied      I just noticed this too. Each time I ran `useradd -m`, the home directories did get created, all with user id 50011.                # ls -lth /home/ | head -6      total 36      drwxr-xr-x   2 50011    other        512 Nov 13 19:37 webbtest      drwxr-xr-x   2 50011    other        512 Nov 13 19:36 webb3      drwxr-xr-x   2 50011    other        512 Nov 13 19:27 webb      drwxr-xr-x   2 50011    other        512 Nov 13 14:56 testuser      drwxr-xr-x   2 50011    other        512 Nov 13 14:46 test_user      Thank you for the suggestions men, women, and children. I have added users to at least a dozen other Solaris boxes without running into this. As requested by jlliagre:               # df -k /home;ls -l@ /usr/sbin/useradd; pkgchk SUNWcsu; grep passwd: /etc/nsswitch.conf     Filesystem            kbytes    used   avail capacity  Mounted on     /dev/dsk/c0t0d0s6    20646961  604690 19835802     3%    /home     -r-xr-xr-x   2 root     sys        40252 Jul  6  2011 /usr/sbin/useradd     passwd:     files ldap          # useradd -s /bin/bash -b /export/home -m testuser     UX: useradd: ERROR: invalid syntax.     usage:  useradd [-u uid [-o] | -g group | -G group[[,group]...] |-d dir |                     -s shell | -c comment | -m [-k skel_dir] | -f inactive |                     -e expire | -A authorization [, authorization ...] |                     -P profile [, profile ...] | -R role [, role ...] |                     -K key=value | -p project [, project ...]] login             useradd -D [-g group | -b base_dir | -f inactive | -e expire                     -A authorization [, authorization ...] |                     -P profile [, profile ...] | -R role [, role ...] |                     -K key=value ... -p project]      Truss output:               # userdel testuser     UX: userdel: ERROR: testuser does not exist.     # truss -t\!memcntl,getuid,door_call,door_info,close,mmap,brk,munmap,lwp_sigmask,sigaction,llseek -f useradd -m -d /tmp/testuser testuser     1064:   execve("/usr/sbin/useradd", 0xFFBFFCC4, 0xFFBFFCDC)  argc = 5     1064:   sysinfo(SI_MACHINE, "sun4v", 257)               = 6     1064:   resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12     1064:   resolvepath("/usr/sbin/useradd", "/usr/sbin/useradd", 1023) = 17     1064:   stat64("/usr/sbin/useradd", 0xFFBFF790)         = 0     1064:   open("/var/ld/ld.config", O_RDONLY)             = 3     1064:   fstat64(3, 0xFFBFF300)                          = 0     1064:   stat64("/lib/libsecdb.so.1", 0xFFBFEEF0)        = 0     1064:   resolvepath("/lib/libsecdb.so.1", "/lib/libsecdb.so.1", 1023) = 18     1064:   open("/lib/libsecdb.so.1", O_RDONLY)            = 3     1064:   stat64("/lib/libproject.so.1", 0xFFBFEEF0)      Err#2 ENOENT     1064:   stat64("/usr/lib/libproject.so.1", 0xFFBFEEF0)  = 0     1064:   resolvepath("/usr/lib/libproject.so.1", "/usr/lib/libproject.so.1", 1023) = 24     1064:   open("/usr/lib/libproject.so.1", O_RDONLY)      = 3     1064:   stat64("/lib/libc.so.1", 0xFFBFEEF0)            = 0     1064:   resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14     1064:   open("/lib/libc.so.1", O_RDONLY)                = 3     1064:   stat64("/lib/libnsl.so.1", 0xFFBFEEF0)          = 0     1064:   resolvepath("/lib/libnsl.so.1", "/lib/libnsl.so.1", 1023) = 16     1064:   open("/lib/libnsl.so.1", O_RDONLY)              = 3     1064:   stat64("/lib/libcmd.so.1", 0xFFBFEEF0)          = 0     1064:   resolvepath("/lib/libcmd.so.1", "/lib/libcmd.so.1", 1023) = 16     1064:   open("/lib/libcmd.so.1", O_RDONLY)              = 3     1064:   stat64("/lib/libproc.so.1", 0xFFBFEEF0)         = 0     1064:   resolvepath("/lib/libproc.so.1", "/lib/libproc.so.1", 1023) = 17     1064:   open("/lib/libproc.so.1", O_RDONLY)             = 3     1064:   stat64("/lib/librtld_db.so.1", 0xFFBFEEF0)      = 0     1064:   resolvepath("/lib/librtld_db.so.1", "/lib/librtld_db.so.1", 1023) = 20     1064:   open("/lib/librtld_db.so.1", O_RDONLY)          = 3     1064:   stat64("/lib/libelf.so.1", 0xFFBFEEF0)          = 0     1064:   resolvepath("/lib/libelf.so.1", "/lib/libelf.so.1", 1023) = 16     1064:   open("/lib/libelf.so.1", O_RDONLY)              = 3     1064:   stat64("/lib/libctf.so.1", 0xFFBFEEF0)          = 0     1064:   resolvepath("/lib/libctf.so.1", "/lib/libctf.so.1", 1023) = 16     1064:   open("/lib/libctf.so.1", O_RDONLY)              = 3     1064:   getcontext(0xFFBFF600)     1064:   getrlimit(RLIMIT_STACK, 0xFFBFF5E0)             = 0     1064:   getpid()                                        = 1064 [1063]     1064:   setustack(0xFF0B2A88)     1064:   sigfillset(0xFF31B3BC)                          = 0     1064:   stat64("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", 0xFFBFEA90) = 0     1064:   resolvepath("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", "/platform/sun4v/lib/libc_psr.so.1", 1023) = 33     1064:   open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3     1064:   sysconfig(_CONFIG_PAGESIZE)                     = 8192     1064:   open("/usr/sadm/defadduser", O_RDONLY)          = 3     1064:   fstat64(3, 0xFFBFE768)                          = 0     1064:   fstat64(3, 0xFFBFE610)                          = 0     1064:   ioctl(3, TCGETA, 0xFFBFE6F4)                    Err#25 ENOTTY     1064:   read(3, " #\t D e f a u l t   v a".., 8192)     = 286     1064:   read(3, 0x0002B23C, 8192)                       = 0     1064:   getpid()                                        = 1064 [1063]     1064:   open("/proc/1064/psinfo", O_RDONLY)             = 3     1064:   read(3, "02\0\0\0\0\0\001\0\004 (".., 336)      = 336     1064:   open64("/var/run/name_service_door", O_RDONLY)  = 3     1064:   fcntl(3, F_SETFD, 0x00000001)                   = 0     1064:   stat("/tmp/testuser", 0xFFBFEBB8)               = 0     1064:   schedctl()                                      = 0xFF330000     1064:   fork1()                                         = 1065     1065:   fork1()         (returning as child ...)        = 1064     1065:   getpid()                                        = 1065 [1064]     1065:   lwp_self()                                      = 1     1065:   open("/dev/null", O_RDWR|O_CREAT|O_TRUNC, 0666) = 1     1065:   open("/dev/null", O_RDWR|O_CREAT|O_TRUNC, 0666) = 2     1065:   execve("/usr/bin/passmgmt", 0x0002B670, 0x0002C0F4)  argc = 29     1065:   sysinfo(SI_MACHINE, "sun4v", 257)               = 6     1065:   resolvepath("/usr/sbin/passmgmt", "/usr/sbin/passmgmt", 1023) = 18     1065:   stat64("/usr/sbin/passmgmt", 0xFFBFF680)        = 0     1065:   open("/var/ld/ld.config", O_RDONLY)             = 3     1065:   fstat64(3, 0xFFBFF1F0)                          = 0     1065:   stat64("/lib/libsecdb.so.1", 0xFFBFEDE0)        = 0     1065:   resolvepath("/lib/libsecdb.so.1", "/lib/libsecdb.so.1", 1023) = 18     1065:   open("/lib/libsecdb.so.1", O_RDONLY)            = 3     1065:   stat64("/lib/passwdutil.so.1", 0xFFBFEDE0)      Err#2 ENOENT     1065:   stat64("/usr/lib/passwdutil.so.1", 0xFFBFEDE0)  = 0     1065:   resolvepath("/usr/lib/passwdutil.so.1", "/usr/lib/passwdutil.so.1", 1023) = 24     1065:   open("/usr/lib/passwdutil.so.1", O_RDONLY)      = 3     1065:   stat64("/lib/libc.so.1", 0xFFBFEDE0)            = 0     1065:   resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14     1065:   open("/lib/libc.so.1", O_RDONLY)                = 3     1065:   stat64("/lib/libnsl.so.1", 0xFFBFEDE0)          = 0     1065:   resolvepath("/lib/libnsl.so.1", "/lib/libnsl.so.1", 1023) = 16     1065:   open("/lib/libnsl.so.1", O_RDONLY)              = 3     1065:   stat64("/lib/libcmd.so.1", 0xFFBFEDE0)          = 0     1065:   resolvepath("/lib/libcmd.so.1", "/lib/libcmd.so.1", 1023) = 16     1065:   open("/lib/libcmd.so.1", O_RDONLY)              = 3     1065:   getcontext(0xFFBFF4F0)     1065:   getrlimit(RLIMIT_STACK, 0xFFBFF4D0)             = 0     1065:   getpid()                                        = 1065 [1064]     1065:   setustack(0xFF362A88)     1065:   sigfillset(0xFF31B3BC)                          = 0     1065:   stat64("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", 0xFFBFE980) = 0     1065:   resolvepath("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", "/platform/sun4v/lib/libc_psr.so.1", 1023) = 33     1065:   open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3     1065:   time()                                          = 1384439953     1065:   open("/var/run/tzsync", O_RDONLY)               = 3     1065:   open("/usr/share/lib/zoneinfo/US/Eastern", O_RDONLY) = 3     1065:   fstat64(3, 0xFFBFF4A0)                          = 0     1065:   read(3, " T Z i f\0\0\0\0\0\0\0\0".., 1267)     = 1267     1065:   creat("/etc/.pwd.lock", 0600)                   = 3     1065:   fcntl(3, F_SETLK, 0xFF3159D0)                   = 0     1065:   getpid()                                        = 1065 [1064]     1065:   stat64("/lib/libsldap.so.1", 0xFFBFE980)        Err#2 ENOENT     1065:   stat64("/usr/lib/libsldap.so.1", 0xFFBFE980)    = 0     1065:   resolvepath("/usr/lib/libsldap.so.1", "/usr/lib/libsldap.so.1", 1023) = 22     1065:   open("/usr/lib/libsldap.so.1", O_RDONLY)        = 4     1065:   stat64("/lib/libldap.so.5", 0xFFBFE8A0)         Err#2 ENOENT     1065:   stat64("/usr/lib/libldap.so.5", 0xFFBFE8A0)     = 0     1065:   resolvepath("/usr/lib/libldap.so.5", "/usr/lib/libldap.so.5", 1023) = 21     1065:   open("/usr/lib/libldap.so.5", O_RDONLY)         = 4     1065:   stat64("/lib/libscf.so.1", 0xFFBFE8A0)          = 0     1065:   resolvepath("/lib/libscf.so.1", "/lib/libscf.so.1", 1023) = 16     1065:   open("/lib/libscf.so.1", O_RDONLY)              = 4     1065:   stat64("/lib/libdoor.so.1", 0xFFBFE8A0)         = 0     1065:   resolvepath("/lib/libdoor.so.1", "/lib/libdoor.so.1", 1023) = 17     1065:   open("/lib/libdoor.so.1", O_RDONLY)             = 4     1065:   stat64("/usr/lib/mps/libc.so.1", 0xFFBFE8A0)    Err#2 ENOENT     1065:   stat64("/lib/libuutil.so.1", 0xFFBFE8A0)        = 0     1065:   resolvepath("/lib/libuutil.so.1", "/lib/libuutil.so.1", 1023) = 18     1065:   open("/lib/libuutil.so.1", O_RDONLY)            = 4     1065:   stat64("/lib/libgen.so.1", 0xFFBFE8A0)          = 0     1065:   resolvepath("/lib/libgen.so.1", "/lib/libgen.so.1", 1023) = 16     1065:   open("/lib/libgen.so.1", O_RDONLY)              = 4     1065:   stat64("/usr/lib/mps/libsocket.so.1", 0xFFBFE598) Err#2 ENOENT     1065:   stat64("/lib/libsocket.so.1", 0xFFBFE598)       = 0     1065:   resolvepath("/lib/libsocket.so.1", "/lib/libsocket.so.1", 1023) = 19     1065:   open("/lib/libsocket.so.1", O_RDONLY)           = 4     1065:   stat64("/usr/lib/mps/libnsl.so.1", 0xFFBFE598)  Err#2 ENOENT     1065:   stat64("/lib/libmp.so.2", 0xFFBFE980)           = 0     1065:   resolvepath("/lib/libmp.so.2", "/lib/libmp.so.2", 1023) = 15     1065:   open("/lib/libmp.so.2", O_RDONLY)               = 4     1065:   stat64("/lib/libmd.so.1", 0xFFBFE980)           = 0     1065:   resolvepath("/lib/libmd.so.1", "/lib/libmd.so.1", 1023) = 15     1065:   open("/lib/libmd.so.1", O_RDONLY)               = 4     1065:   stat64("/usr/lib/mps/libsasl.so.1", 0xFFBFE980) Err#2 ENOENT     1065:   stat64("/lib/libsasl.so.1", 0xFFBFE980)         Err#2 ENOENT     1065:   stat64("/usr/lib/libsasl.so.1", 0xFFBFE980)     = 0     1065:   resolvepath("/usr/lib/libsasl.so.1", "/usr/lib/libsasl.so.1", 1023) = 21     1065:   open("/usr/lib/libsasl.so.1", O_RDONLY)         = 4     1065:   stat64("/platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1", 0xFFBFE4C8) = 0     1065:   resolvepath("/platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1", "/platform/sun4v/lib/libmd_psr.so.1", 1023) = 34     1065:   open("/platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1", O_RDONLY) = 4     1065:   stat64("/usr/lib/mps/libmd.so.1", 0xFFBFE980)   Err#2 ENOENT     1065:   stat64("/usr/lib/mps/libnspr4.so", 0xFFBFE980)  = 0     1065:   resolvepath("/usr/lib/mps/libnspr4.so", "/usr/lib/mps/libnspr4.so", 1023) = 24     1065:   open("/usr/lib/mps/libnspr4.so", O_RDONLY)      = 4     1065:   stat64("/lib/libpthread.so.1", 0xFFBFE8A0)      = 0     1065:   resolvepath("/lib/libpthread.so.1", "/lib/libpthread.so.1", 1023) = 20     1065:   open("/lib/libpthread.so.1", O_RDONLY)          = 4     1065:   stat64("/lib/librt.so.1", 0xFFBFE8A0)           = 0     1065:   resolvepath("/lib/librt.so.1", "/lib/librt.so.1", 1023) = 15     1065:   open("/lib/librt.so.1", O_RDONLY)               = 4     1065:   stat64("/lib/libdl.so.1", 0xFFBFE8A0)           = 0     1065:   resolvepath("/lib/libdl.so.1", "/lib/libdl.so.1", 1023) = 15     1065:   open("/lib/libdl.so.1", O_RDONLY)               = 4     1065:   stat64("/lib/libaio.so.1", 0xFFBFE8A0)          = 0     1065:   resolvepath("/lib/libaio.so.1", "/lib/libaio.so.1", 1023) = 16     1065:   open("/lib/libaio.so.1", O_RDONLY)              = 4     1065:   sysinfo(SI_ISALIST, "sparcv9 sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc sparcv9+vis sparcv9+vis2 sparcv8plus+vis sparcv8plus+vis2", 257) = 115     1065:   stat64("/usr/lib/mps/cpu/sparcv9/libnspr_flt4.so", 0xFFBFE4C8) Err#2 ENOENT     1065:   stat64("/usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so", 0xFFBFE4C8) = 0     1065:   resolvepath("/usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so", "/usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so", 1023) = 44     1065:   open("/usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so", O_RDONLY) = 4     1065:   stat64("/usr/lib/mps/libplc4.so", 0xFFBFE980)   = 0     1065:   resolvepath("/usr/lib/mps/libplc4.so", "/usr/lib/mps/libplc4.so", 1023) = 23     1065:   open("/usr/lib/mps/libplc4.so", O_RDONLY)       = 4     1065:   stat64("/usr/lib/mps/libnss3.so", 0xFFBFE980)   = 0     1065:   resolvepath("/usr/lib/mps/libnss3.so", "/usr/lib/mps/libnss3.so", 1023) = 23     1065:   open("/usr/lib/mps/libnss3.so", O_RDONLY)       = 4     1065:   stat64("/usr/lib/mps/libnssutil3.so", 0xFFBFE8A0) = 0     1065:   resolvepath("/usr/lib/mps/libnssutil3.so", "/usr/lib/mps/libnssutil3.so", 1023) = 27     1065:   open("/usr/lib/mps/libnssutil3.so", O_RDONLY)   = 4     1065:   stat64("/usr/lib/mps/libplds4.so", 0xFFBFE8A0)  = 0     1065:   resolvepath("/usr/lib/mps/libplds4.so", "/usr/lib/mps/libplds4.so", 1023) = 24     1065:   open("/usr/lib/mps/libplds4.so", O_RDONLY)      = 4     1065:   stat64("/usr/lib/mps/secv1/libc.so.1", 0xFFBFE8A0) Err#2 ENOENT     1065:   stat64("/usr/lib/mps/libssl3.so", 0xFFBFE980)   = 0     1065:   resolvepath("/usr/lib/mps/libssl3.so", "/usr/lib/mps/libssl3.so", 1023) = 23     1065:   open("/usr/lib/mps/libssl3.so", O_RDONLY)       = 4     1065:   stat64("/usr/lib/mps/libthread.so.1", 0xFFBFE8A0) Err#2 ENOENT     1065:   stat64("/usr/lib/mps/secv1/libthread.so.1", 0xFFBFE8A0) Err#2 ENOENT     1065:   stat64("/lib/libthread.so.1", 0xFFBFE8A0)       = 0     1065:   resolvepath("/lib/libthread.so.1", "/lib/libthread.so.1", 1023) = 19     1065:   open("/lib/libthread.so.1", O_RDONLY)           = 4     1065:   stat64("/usr/lib/mps/librt.so.1", 0xFFBFE8A0)   Err#2 ENOENT     1065:   stat64("/usr/lib/mps/secv1/librt.so.1", 0xFFBFE8A0) Err#2 ENOENT     1065:   write(2, " l d . s o . 1 :   p a s".., 130)     = 130     1065:   write(2, "\n", 1)                               = 1     1065:   lwp_self()                                      = 1     1064:   waitid(P_ALL, 0, 0xFFBFE980, WEXITED|WTRAPPED)  = 0     1064:   _exit(0)      ldd /usr/sbin/passmgmt /usr/lib/passwdutil.so.1; pkgchk SUNWtls1               # ldd /usr/sbin/passmgmt /usr/lib/passwdutil.so.1                      /usr/sbin/passmgmt:             libsecdb.so.1 =>         /lib/libsecdb.so.1             passwdutil.so.1 =>       /usr/lib/passwdutil.so.1             libc.so.1 =>     /lib/libc.so.1             libnsl.so.1 =>   /lib/libnsl.so.1             libcmd.so.1 =>   /lib/libcmd.so.1             libsldap.so.1 =>         /usr/lib/libsldap.so.1             libmp.so.2 =>    /lib/libmp.so.2             libmd.so.1 =>    /lib/libmd.so.1             libscf.so.1 =>   /lib/libscf.so.1             libldap.so.5 =>  /usr/lib/libldap.so.5             libdoor.so.1 =>  /lib/libdoor.so.1             libuutil.so.1 =>         /lib/libuutil.so.1             libgen.so.1 =>   /lib/libgen.so.1             libsasl.so.1 =>  /usr/lib/libsasl.so.1             libsocket.so.1 =>        /lib/libsocket.so.1             libnspr4.so =>   /usr/lib/mps/libnspr4.so             libplc4.so =>    /usr/lib/mps/libplc4.so             libnss3.so =>    /usr/lib/mps/libnss3.so             libssl3.so =>    /usr/lib/mps/libssl3.so             libpthread.so.1 =>       /lib/libpthread.so.1             librt.so.1 =>    /lib/librt.so.1             libdl.so.1 =>    /lib/libdl.so.1             libnssutil3.so =>        /usr/lib/mps/libnssutil3.so             libplds4.so =>   /usr/lib/mps/libplds4.so             libthread.so.1 =>        /lib/libthread.so.1             libaio.so.1 =>   /lib/libaio.so.1             libm.so.2 =>     /lib/libm.so.2             /platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1             /platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1             /usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so     /usr/lib/passwdutil.so.1:             libcmd.so.1 =>   /lib/libcmd.so.1             libsldap.so.1 =>         /usr/lib/libsldap.so.1             libnsl.so.1 =>   /lib/libnsl.so.1             libc.so.1 =>     /lib/libc.so.1             libldap.so.5 =>  /usr/lib/libldap.so.5             libscf.so.1 =>   /lib/libscf.so.1             libdoor.so.1 =>  /lib/libdoor.so.1             libmp.so.2 =>    /lib/libmp.so.2             libmd.so.1 =>    /lib/libmd.so.1             libsasl.so.1 =>  /usr/lib/libsasl.so.1             libsocket.so.1 =>        /lib/libsocket.so.1             libnspr4.so =>   /usr/lib/mps/libnspr4.so             libplc4.so =>    /usr/lib/mps/libplc4.so             libnss3.so =>    /usr/lib/mps/libnss3.so             libssl3.so =>    /usr/lib/mps/libssl3.so             libuutil.so.1 =>         /lib/libuutil.so.1             libgen.so.1 =>   /lib/libgen.so.1             libpthread.so.1 =>       /lib/libpthread.so.1             librt.so.1 =>    /lib/librt.so.1             libdl.so.1 =>    /lib/libdl.so.1             libnssutil3.so =>        /usr/lib/mps/libnssutil3.so             libplds4.so =>   /usr/lib/mps/libplds4.so             libthread.so.1 =>        /lib/libthread.so.1             libaio.so.1 =>   /lib/libaio.so.1             libm.so.2 =>     /lib/libm.so.2             /platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1             /platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1             /usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so     # pkgchk SUNWtls1     WARNING: no pathnames were associated with <SUNWtls1>      set|grep LD;crle;truss -w2 -ft open useradd -s /bin/bash -d /home/testuser -m testuser               # set|grep LD;crle;truss -w2 -ft open useradd -s /bin/bash -d /home/testuser -m testuser          Configuration file [version 4]: /var/ld/ld.config       Platform:     32-bit MSB SPARC       Default Library Path (ELF):   /lib:/usr/lib:/usr/sfw/lib       Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)          Command line:       crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/sfw/lib          922:    open("/var/ld/ld.config", O_RDONLY)             = 3     922:    open("/lib/libsecdb.so.1", O_RDONLY)            = 3     922:    open("/usr/lib/libproject.so.1", O_RDONLY)      = 3     922:    open("/lib/libc.so.1", O_RDONLY)                = 3     922:    open("/lib/libnsl.so.1", O_RDONLY)              = 3     922:    open("/lib/libcmd.so.1", O_RDONLY)              = 3     922:    open("/lib/libproc.so.1", O_RDONLY)             = 3     922:    open("/lib/librtld_db.so.1", O_RDONLY)          = 3     922:    open("/lib/libelf.so.1", O_RDONLY)              = 3     922:    open("/lib/libctf.so.1", O_RDONLY)              = 3     922:    open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3     922:    open("/usr/sadm/defadduser", O_RDONLY)          = 3     922:    open("/proc/922/psinfo", O_RDONLY)              = 3     922:    open64("/var/run/name_service_door", O_RDONLY)  = 3     923:    open("/dev/null", O_RDWR|O_CREAT|O_TRUNC, 0666) = 1     923:    open("/dev/null", O_RDWR|O_CREAT|O_TRUNC, 0666) = 2     923:    open("/var/ld/ld.config", O_RDONLY)             = 3     923:    open("/lib/libsecdb.so.1", O_RDONLY)            = 3     923:    open("/usr/lib/passwdutil.so.1", O_RDONLY)      = 3     923:    open("/lib/libc.so.1", O_RDONLY)                = 3     923:    open("/lib/libnsl.so.1", O_RDONLY)              = 3     923:    open("/lib/libcmd.so.1", O_RDONLY)              = 3     923:    open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3     923:    open("/var/run/tzsync", O_RDONLY)               = 3     923:    open("/usr/share/lib/zoneinfo/US/Eastern", O_RDONLY) = 3     923:    open("/usr/lib/libsldap.so.1", O_RDONLY)        = 4     923:    open("/usr/lib/libldap.so.5", O_RDONLY)         = 4     923:    open("/lib/libscf.so.1", O_RDONLY)              = 4     923:    open("/lib/libdoor.so.1", O_RDONLY)             = 4     923:    open("/lib/libuutil.so.1", O_RDONLY)            = 4     923:    open("/lib/libgen.so.1", O_RDONLY)              = 4     923:    open("/lib/libsocket.so.1", O_RDONLY)           = 4     923:    open("/lib/libmp.so.2", O_RDONLY)               = 4     923:    open("/lib/libmd.so.1", O_RDONLY)               = 4     923:    open("/usr/lib/libsasl.so.1", O_RDONLY)         = 4     923:    open("/platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1", O_RDONLY) = 4     923:    open("/usr/lib/mps/libnspr4.so", O_RDONLY)      = 4     923:    open("/lib/libpthread.so.1", O_RDONLY)          = 4     923:    open("/lib/librt.so.1", O_RDONLY)               = 4     923:    open("/lib/libdl.so.1", O_RDONLY)               = 4     923:    open("/lib/libaio.so.1", O_RDONLY)              = 4     923:    open("/usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so", O_RDONLY) = 4     923:    open("/usr/lib/mps/libplc4.so", O_RDONLY)       = 4     923:    open("/usr/lib/mps/libnss3.so", O_RDONLY)       = 4     923:    open("/usr/lib/mps/libnssutil3.so", O_RDONLY)   = 4     923:    open("/usr/lib/mps/libplds4.so", O_RDONLY)      = 4     923:    open("/usr/lib/mps/libssl3.so", O_RDONLY)       = 4     923:    open("/lib/libthread.so.1", O_RDONLY)           = 4     923:    write(2, 0xFF3FC74C, 130)                       = 130     923:       l d . s o . 1 :   p a s s m g m t :   f a t a l :   r e l o c a     923:       t i o n   e r r o r :   f i l e   / u s r / s b i n / p a s s m     923:       g m t :   s y m b o l   _ _ p w u _ l o c k i n g _ r e s t r i     923:       c t i v e :   r e f e r e n c e d   s y m b o l   n o t   f o u     923:       n d     923:    write(2, "\n", 1)                               = 1     925:    open("/var/ld/ld.config", O_RDONLY)             = 3     925:    open("/lib/libc.so.1", O_RDONLY)                = 3     925:    open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3     925:    open("/lib/libsec.so.1", O_RDONLY)              = 3     925:    open("/lib/libavl.so.1", O_RDONLY)              = 3     925:    open("/lib/libcmdutils.so.1", O_RDONLY)         = 3     925:    open64("/etc/skel/.profile", O_RDONLY)          = 4     925:    open64("/etc/skel/local.cshrc", O_RDONLY)       = 4     925:    open64("/etc/skel/local.login", O_RDONLY)       = 4     925:    open64("/etc/skel/local.profile", O_RDONLY)     = 4     927:    open("/var/ld/ld.config", O_RDONLY)             = 3     927:    open("/lib/libcmdutils.so.1", O_RDONLY)         = 3     927:    open("/lib/libc.so.1", O_RDONLY)                = 3     927:    open("/lib/libavl.so.1", O_RDONLY)              = 3     927:    open("/platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1", O_RDONLY) = 3     #     # passmgmt     ld.so.1: passmgmt: fatal: relocation error: file /usr/sbin/passmgmt: symbol __pwu_locking_restrictive: referenced symbol not found     Killed     #      pkgchk SUNWcsl SUNWcslr SUNWdpl SUNWlibms SUNWlibmsr SUNWlibsasl SUNWpr SUNWtls               # pkgchk SUNWcsl SUNWcslr SUNWdpl SUNWlibms SUNWlibmsr SUNWlibsasl SUNWpr SUNWtls     WARNING: no pathnames were associated with <SUNWdpl>      ldd -dp /usr/bin/passmgmt               # ldd -dp /usr/bin/passmgmt             libsecdb.so.1 =>         /lib/libsecdb.so.1             passwdutil.so.1 =>       /usr/lib/passwdutil.so.1             libc.so.1 =>     /lib/libc.so.1             libnsl.so.1 =>   /lib/libnsl.so.1             libcmd.so.1 =>   /lib/libcmd.so.1             libsldap.so.1 =>         /usr/lib/libsldap.so.1             libmp.so.2 =>    /lib/libmp.so.2             libmd.so.1 =>    /lib/libmd.so.1             libscf.so.1 =>   /lib/libscf.so.1             libldap.so.5 =>  /usr/lib/libldap.so.5             libdoor.so.1 =>  /lib/libdoor.so.1             libuutil.so.1 =>         /lib/libuutil.so.1             libgen.so.1 =>   /lib/libgen.so.1             libsasl.so.1 =>  /usr/lib/libsasl.so.1             libsocket.so.1 =>        /lib/libsocket.so.1             libnspr4.so =>   /usr/lib/mps/libnspr4.so             libplc4.so =>    /usr/lib/mps/libplc4.so             libnss3.so =>    /usr/lib/mps/libnss3.so             libssl3.so =>    /usr/lib/mps/libssl3.so             libpthread.so.1 =>       /lib/libpthread.so.1             librt.so.1 =>    /lib/librt.so.1             libdl.so.1 =>    /lib/libdl.so.1             libnssutil3.so =>        /usr/lib/mps/libnssutil3.so             libplds4.so =>   /usr/lib/mps/libplds4.so             libthread.so.1 =>        /lib/libthread.so.1             libaio.so.1 =>   /lib/libaio.so.1             libm.so.2 =>     /lib/libm.so.2             /platform/SUNW,Sun-Fire-T200/lib/libc_psr.so.1             /platform/SUNW,Sun-Fire-T200/lib/libmd_psr.so.1             /usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so


title: How to enable Broadcom wireless BCM 4313 on OpenBSD?

text: Is there any hack/tip/trick to make this specific Broadcom Wireless work with OpenBSD? After digging some FreeBSD-wireless threads and OpenBSD-tech/OpenBSD-misc, I noticed that adding the PCI vendor to any specific driver will not work since this specific device have differences on it´s hardware construction compared with Broadcom 4312 or Broadcom 4318. Implementing this Broadcom Wireless driver will need a huge effort to get done, and many of the users are using wifi dongles or converting ndis (Windows XP version) drivers to get wireless conectivity. Are there any patches floating through the internet that would enable ndis on OpenBSD, so I could "convert" this driver as a workaround like the one used on FreeBSD? **EDIT1** - The intent here is not to "stick with FreeBSD" or question the OpenBSD binary policy, and that is why i´m looking for guidance. A 3rd part port of ndis to OpenBSD could be a solution...   * This thread, shows that adding the PCI Vendor id will just probe the hardware, but will not work.   * This other thread, gives some insight about the different construction of the bcm4313 card.


title: multiple ffmpeg library paths, how can exclude older ffmpeg installations?

text: I am trying to compile Simple Screen Recorder. I had a linker error due to a wrong library path relating to `ffmpeg`. When I checked installation paths with `whereis ffmpeg`, I get:               ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/local/bin/ffmpeg /opt/ffmpeg/bin/ffmpeg      I installed `ffmpeg` many times, without uninstalling old one, now I face a linker error. How can I exclude older `ffmpeg` installations and fix the library path problem?


title: How does mounting on the GUI work "under the hood"

text: ## UPDATE **Please correct me if I'm wrong** : For working on my computer, with a GNU/Linux Distribution named Debian, I know two ways to enter a command, start an application, open a file, etc.:   * a **Command Line Interface** where I enter text   * a **Graphical User Interface** [a.k.a _GUI_ ]: an interface which provides "windows", symbols etc. There is something going by the name "Window Manager". As I use GNU/Linux, I do work on the **X-Window System** [as far as I know]. ![enter image description here](http://i.stack.imgur.com/Lf51j.png) * * * Original Posting * * * **Situation** : I disabled automount in `/etc/fstab` for USB Sticks [e.g. `/dev/sdb1`]. Mounting requires to be `root`, or at least a `sudo` entry **on the command line but not in a window manager (!)**. I do not mean `automount`, I mean "clicking on the symbol" in a window manager opens the device on the GUI without any questions, where on the CLI one must be root. **Question** : How does mounting in a GUI work "under the hood"? Is there a `config`file for window managers in general or does one have to set this individually? I do understand and use `mount` command, I think to understand how to read and configure `/etc/fstab` and know where to look what the entries there and in `/etc/mtab`mean.


title: How to compare two tar archives (including file content, new/removed files, symlinks)?

text: I have two tar archives (compressed or not compressed), and I want to find all differences in the two archives. Both archives contain a complete file system (i.e. when unpacked, would generate directories like `/bin`, `/home`, `/root`, `/usr`, `/var`, `/etc`,... I hope you get the point). I want to have a list of the following:   * New files    * Removed files   * Changed files (content of file, not just size)   * Changed symlinks (both relative and absolute)   * New/removed symlinks I cannot just unpack those archives and use `diff`, as diff will not correctly recognize absolute symlinks (as they would point out of the file system structure of the archive). Is there another way to compare the content of two tar archives?


title: NetworkManager failing to authenticate to WPA-EAP using TTLS and PAP in LMDE

text: I'm running Linux Mint Debian Edition with Update Pack 7. I'm trying to connect to a WPA enterprise network using TTLS and PAP, with no luck. The problem seems to be in authentication. Visually, NetworkManager keeps asking my password time after time. The password is correct and works both on Android, Ubuntu and ArchLinux Manjaro. I have seen it work on a LMDE UP6 before in which now also doesn't work (UP7). Here is the log I'm getting (with time removed for readability)               NetworkManager[2641]: get_secret_flags: assertion `is_secret_prop (setting, secret_name, error)' failed     NetworkManager[2641]: <info> Activation (wlan0) Stage 1 of 5 (Device Prepare) scheduled...     NetworkManager[2641]: <info> Activation (wlan0) Stage 1 of 5 (Device Prepare) started...     NetworkManager[2641]: <info> (wlan0): device state change: need-auth -> prepare (reason 'none') [60 40 0]     NetworkManager[2641]: <info> Activation (wlan0) Stage 2 of 5 (Device Configure) scheduled...     NetworkManager[2641]: <info> Activation (wlan0) Stage 1 of 5 (Device Prepare) complete.     NetworkManager[2641]: <info> Activation (wlan0) Stage 2 of 5 (Device Configure) starting...     NetworkManager[2641]: <info> (wlan0): device state change: prepare -> config (reason 'none') [40 50 0]     NetworkManager[2641]: <info> Activation (wlan0/wireless): connection 'EduRoam CACert' has security, and secrets exist.  No new secrets needed.     NetworkManager[2641]: <info> Config: added 'ssid' value 'eduroam'     NetworkManager[2641]: <info> Config: added 'scan_ssid' value '1'     NetworkManager[2641]: <info> Config: added 'key_mgmt' value 'WPA-EAP'     NetworkManager[2641]: <info> Config: added 'password' value '<omitted>'     NetworkManager[2641]: <info> Config: added 'eap' value 'TTLS'     NetworkManager[2641]: <info> Config: added 'fragment_size' value '1300'     NetworkManager[2641]: <info> Config: added 'phase2' value 'auth=PAP'     NetworkManager[2641]: <info> Config: added 'ca_path' value '/etc/ssl/certs'     NetworkManager[2641]: <info> Config: added 'ca_path2' value '/etc/ssl/certs'     NetworkManager[2641]: <info> Config: added 'ca_cert' value '/home/darkhogg/.eduroam/ca.pem'     NetworkManager[2641]: <info> Config: added 'identity' value 'danielescoz@estumail.ucm.es'     NetworkManager[2641]: <info> Config: added 'anonymous_identity' value 'anonymous@ucm.es'     NetworkManager[2641]: <info> Config: added 'bgscan' value 'simple:30:-45:300'     NetworkManager[2641]: <info> Config: added 'proactive_key_caching' value '1'     NetworkManager[2641]: <info> Activation (wlan0) Stage 2 of 5 (Device Configure) complete.     NetworkManager[2641]: <info> Config: set interface ap_scan to 1     NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning     NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associated     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected     NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning     NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associating -> associated     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected     NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning     NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associating -> associated     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected     NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning     NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associating -> associated     NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected     NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning     NetworkManager[2641]: <warn> Activation (wlan0/wireless): association took too long.     NetworkManager[2641]: <info> (wlan0): device state change: config -> need-auth (reason 'none') [50 60 0]     NetworkManager[2641]: <warn> Activation (wlan0/wireless): asking for new secrets     NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating     NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> disconnected     NetworkManager[2641]: <warn> Couldn't disconnect supplicant interface: This interface is not connected.      The network is `eduroam`, used by my university to provide WiFi access. More information can be found here. In particular, I'm from Spain, in Univerdad Complutense de Madrid. This may be relevant as I understand every university implements it more or less as they want. I have unsuccessfully followed multiple tutorials involving `wpa_supplicant` scripts and configuration, and the result is always the same: Authentication fails and it asks my password again on a loop.


title: DisplayPort and Intel HD cause GPU hangs

text: My system has problems with the displayport connection. This is indicated by several problems that, at the first glance, do not have anything in common. The reason why I claim DP for beeing the cause, is that when I connect an other monitor via DVI these problems just vanish. When I put monitor into sleep it wont wake up. Journal contains: `[drm:intel_dp_start_link_train] *ERROR* failed to enable link` and sometimes `[drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung` Qt applications need a few seconds to start. And meanwhile freeze X. Today I had a complete never ending system freeze. As a followup KDE start is painfully slow and accompanied by multiple freezes. I use an up to date Arch System on an i5-4590, using the Intel HD4600. Here is dmesg with drm.debug=0xe comandline. I cut about a million "[drm:drm_dp_i2c_do_msg] native defer" lines to make it cleaner. Intel drivers are installed. The config:               # for i in /sys/module/i915/parameters/*; do echo $i=$(cat $i); done     /sys/module/i915/parameters/disable_display=N     /sys/module/i915/parameters/disable_power_well=1     /sys/module/i915/parameters/enable_cmd_parser=0     /sys/module/i915/parameters/enable_fbc=-1     /sys/module/i915/parameters/enable_hangcheck=Y     /sys/module/i915/parameters/enable_ips=1     /sys/module/i915/parameters/enable_ppgtt=1     /sys/module/i915/parameters/enable_psr=0     /sys/module/i915/parameters/enable_rc6=-1     /sys/module/i915/parameters/fastboot=N     /sys/module/i915/parameters/invert_brightness=0     /sys/module/i915/parameters/lvds_channel_mode=0     /sys/module/i915/parameters/lvds_downclock=0     /sys/module/i915/parameters/lvds_use_ssc=-1     /sys/module/i915/parameters/modeset=-1     /sys/module/i915/parameters/panel_ignore_lid=1     /sys/module/i915/parameters/powersave=1     /sys/module/i915/parameters/prefault_disable=N     /sys/module/i915/parameters/preliminary_hw_support=0     /sys/module/i915/parameters/reset=Y     /sys/module/i915/parameters/semaphores=-1     /sys/module/i915/parameters/vbt_sdvo_panel_type=-1


title: Calling bash from sh (dash) with commands read from args, and "Unterminated quoted string"/"unexpected EOF"

text: Just thought I'd document this: I'm trying something very simple - set env variable in `bash`, and print it out:               $ bash -c "a=1; echo a$a;"     a     $ bash -c "a=1; echo a\$a;"     a1      Now I'd want this same thing, but called as argument of `sh` (on my system, `ls -la $(which sh)` gives `/bin/sh -> dash`):               $ sh -c "bash -c "a=1; echo a\$a;""     a$a          # obviously I have to escape inner quotes:          $ sh -c "bash -c \"a=1; echo a\$a;\""     a          # escape the dollar once more?          $ sh -c "bash -c \"a=1; echo a\\$a\" "     sh: Syntax error: Unterminated quoted string          # nope... inner single quotes, then?          $ sh -c "bash -c 'a=1; echo a$a;'"     a          # nope... escape the single quotes?          $ sh -c "bash -c \'a=1; echo a$a;\'"     bash: -c: line 0: unexpected EOF while looking for matching `''     bash: -c: line 1: syntax error: unexpected end of file     a     sh: ': not found          # nope... escape the dollar too?          $ sh -c "bash -c \'a=1; echo a\$a;\'"     bash: -c: line 0: unexpected EOF while looking for matching `''     bash: -c: line 1: syntax error: unexpected end of file     a     sh: ': not found      So, my question would be - what is the proper syntax for escaping, so that `sh -c [bash -c ...]` gives the same result as just `bash -c ...`?


title: Recovering a (not yet created) RAID5 with URE (Unrecoverable read errors)

text: I wan't to create a RAID5 array at home, the OS is Linux (Kernel 3.15.7) and the array will be created with `mdadm`. I wan't to create the array with eigth or ten 1TB discs. Let's assume a single drive fails, according to the internet, the chance of a URE during the reconstruction is very high. Can't I just ignore the URE? I mean the URE doesn't affect the whole disc, only one sector (AFAIK) and so one RAID stripe. Can I reconstruct the array with errors (,So I only lose some files and can recover the filesystem with `fsck`)? What happens if array is only partly filled with data and the URE happens in empty drive space? Are there better alternatives for RAID5? I've read about ZFS and RAID-Z, but ZFS isn't included in the mainstream kernel and it's not complete open source (AFAIK). I don't want to use RAID10 or RAID01 because with such RAIDs I can only use half of the total disc space.


title: Add sid field to ps -f output

text: I am reading the ps man page and there is something I don't understand.               -f    does full-format listing. This option can be combined with many other           UNIX-style options to add additional columns. It also causes the           command arguments to be printed. When used with -L, the NLWP (number of            threads) and LWP (thread ID) columns will be added. See the c option,           the format keyword args, and the format keyword comm.      I just want to add `sid` to the output of `ps -f` But I was confused by the following output, my understanding is `-o` should just add `sid` to the output of `-f` but looks like `-o` overwrites `-f` completely. I know I can specify all the options I want, like `pid,ppid,pgid,sid,user,comm` etc etc but is there a way just add one additional column to output of `-f` ? That is what the man page says, correct ?               [njia@cst-cgxfile01 ~]$ ps -f     UID        PID  PPID  C STIME TTY          TIME CMD     njia      3397 26106  0 12:23 pts/1    00:00:00 ps -f     njia     26106 26105  0 09:45 pts/1    00:00:00 -bash     [njia@ ~]$ ps -f -o sid     Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ       SID     26106     26106     25875     25875     25875     25875     25875     [njia@ ~]$      In addition, `ps -ef -o sid` will limit the process selection to those owned my me, that was a surprise as well.


title: How can I unlock a self encrypting disk using an sata usb adapter

text: Suppose I plug in a self encrypting disk (for example the samung 840 pro) via a sata usb adapter to a linux-box. Suppose I know the password. How can I access the hard-drive in this case?


title: How to configure mod_rewrite with an Alias in Apache 2.4?

text: How do I use apache mod_rewrite with an Alias ? I have a test directory that contains the files: correct.html index.html test_httpd.conf wrong.html I would like an example rule using an alias that directs any requests to wrong.html be redirected to correct.html. And another example rule that directs any requests for any files in the directory test to point to correct.html Here is what I have tried in my test_httpd.conf:               #DocumentRoot /var/www/localhost/htdocs/test     Alias /test /var/www/localhost/htdocs/test/     #<Directory /var/www/localhost/htdocs/test>     #<Directory /test>     <Directory test>       RewriteEngine On       #RewriteRule ^*$ rewriteme.html [R]       RewriteRule ^wrong.html$ correct.html [R]     </Directory>      ( I am on apache 2.4.6-r2 on Gentoo ) Thanks


title: RHEL - NFS mounting failed

text: I have an issue with nfs services in one of my client machines. Let me brief you my lab setup. We have a _server_ and _16 client machines_ connected in a network. We have **60 LDAP users** whose home is _/home/users/username_ in the server. So these 60 users can login from any of the 16 client machines and they will always be presented with the same desktop. In one of the client machines, I am not able to login as any LDAP user. I am getting an error as " **your home directory is listed as /home/users/username but does not appear to exist. Do you want to use /root as your home directory instead?** " I believe it has something to do with the nfs mounting services. I tried the below command.               service nfs restart      If I run the above command, I get " **shutting down NFS services** " failed. Is this the cause of the problem? How can I resolve this issue?


title: change icon sizes in Gtk+ 3 applications

text: Using `Gtk+ 2`, I could use the `gtk-icon-sizes` option like this:               gtk-icon-sizes = panel-menu=32,32:panel=32,32:gtk-menu=32,32:gtk-large-toolbar=64,64:gtk-small-toolbar=48,48:gtk-button=32,32      `gtk-icon-sizes` was deprecated and removed in `Gtk+ 3`. How do I change icon sizes in `Gtk+ 3`?


title: How to have a bash script perform a specific action on errors of _each_ command?

text: Similarly to `set -e` performs an `exit` on "uncaught" `$? != 0`, I'd like to have this event trigger the execution of another command, e.g. a `logger` call. How can this be done?


title: Finding all WAV files of multiple directories and copying them to local computer from server

text: I have a Linux server where the directory structure is               Mainfolder1/folder2/firstfile.wav                /folder3/secondfile.wav                /folder4/thirdfile.wav     Mainfolder2/folder1/fourthfile.wav      Now, what I want is to search all .wav files and copy those using `sz` command in my local windows machine.


title: Sort doesn't use natural order

text: I have used `uniq -c` and `sort` extensively on other machines, and it always worked very well. Now, on my new Ubuntu (13.04) machine, I end up with a weird ordering:               % cat queries.log | grep INSERT | sort | uniq -c | sort           1 INSERT INTO A (id, organization_id) VALUES (?, ?)           2 INSERT INTO B (id, resource_id) VALUES (?, ?)           2 INSERT INTO C (id) VALUES (?)           2 INSERT INTO D (email, password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)           3 INSERT INTO E (user_id, type) VALUES (?, ?)       40275 INSERT INTO F (id, resource_id) VALUES (?, ?)       40283 INSERT INTO G (action_id, role_id, user_id) VALUES (?, ?, ?, ?, ?)           6 INSERT INTO H (id, resource_id) VALUES (?, ?)      Why is `6` after `40283`? And how can I end up with the expected "natural" order?


title: How to enable bluetooth in Ubuntu 13.10?

text: Before updating ubuntu to it's current version, bluetooth used to work just fine. But, now I've been facing problem regarding this bluetooth setting. While adding devices,it keeps on searching but never finds. Moreover, I can't set bluetooth setting to visible. I tried the method using Launchpad using this method. But, I failed that way. I got error on this line :               # sudo dpkg -i indicator-bluetooth_0.0.6daily13.02.19-0ubuntu1_amd64.deb      The error says like this:               dpkg: error processing indicator-bluetooth_0.0.6daily13.02.19-0ubuntu1_amd64.deb (--install):      cannot access archive: No such file or directory     Errors were encountered while processing:      indicator-bluetooth_0.0.6daily13.02.19-0ubuntu1_amd64.deb


title: debootstrap local download dir

text: Can someone tell me where does `debootstrap` store downloaded packages that it's about to install? Possibly also the download method would be interesting (wget/curl/apt-get). In my case I run:               sudo debootstrap --variant=build --arch=i386 precise /srv/chroot/precise_i386 http://archive.ubuntu.com/ubuntu/      All packages are correctly downloaded and installed, but didn't find them in the `/var/cache/apt/archives` where apt-get would download them normally.


title: create a cronjob to run php script

text: I've created a cronjob in Xubuntu to run a PHP script in every 5 minutes. I did it as follows. I entered the following command:               $ crontab -e      Then entered the following:               */5 * * * * /usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php      I dont understand what is use of `/usr/bin/php` and there is no such a file in `bin` directory, but the PHP script won't run?


title: Can I speed XFCE menu right-click pop-up up?

text: When I right-click on empty space of XFCE desktop the menu pops-up after about a 1.25 second delay. At the same time the menu pops-up immediately (with no notable delay) in case I call it by clicking on the menu button on a panel. Can I make desktop right-click to work as fast? I use XFCE 4.10.


title: Find only destination of symlink

text: For use in a shell-script, I'm looking for a commandline-way to get the destination of a symbolic link. The closest I've come so far is `stat -N src`, which outputs `src -> dst`. Of course I could parse the output and get `dst`, but I wonder if there is some direct way of getting the destination.


title: What's wrong with this udev rule?

text: I'm reading through this link in trying to make the appropriate rule to make the BSG device nodes have group ownership of wheel and permissions of 0660. This is the rule that I have:               [user@mylinux ~]$ cat /etc/udev/rules.d/bsg.rules     NAME=="bsg/[0-9]:[0-9]:[0-9]:[0-9]", SUBSYSTEM=="bsg", GROUP=wheel, MODE=0660      But it's not working, as this shows:               [user@mylinux ~]$ ls -l /dev/bsg     total 0     crw-rw---- 1 root root 252, 0 Oct 30 06:02 0:0:0:0      Here's the output from `udevadm info -q all -n /dev/bsg/0:0:0:0` on which I'm going:               P: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0     N: bsg/0:0:0:0     S: char/252:0     E: UDEV_LOG=3     E: DEVPATH=/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0     E: MAJOR=252     E: MINOR=0     E: DEVNAME=/dev/bsg/0:0:0:0     E: SUBSYSTEM=bsg     E: DEVLINKS=/dev/char/252:0      Now, I'm assuming that the value `N: bsg/0:0:0:0` is the **NAME** key that udev is expecting in the rule file. Ultimately, I need to have this rule generic enough that any number of BSG devices will be appropriately changed for permissions. The `NAME="bsg/[0-9]*:[0-9]*:[0-9]*:[0-9]*"`. That wasn't working either. In case it matters, this is on CentOS 6.2. * * * Updating question to show output of `udevadm test` as suggested by slm below. I have changed the name of my rules file to `/etc/udev/rules.d/80-bsg.rules`. The file name seems to be unique. No changes as yet to the file contents. Here's the output from `udevadm test`:               parse_file: reading '/lib/udev/rules.d/10-console.rules' as rules file     parse_file: reading '/lib/udev/rules.d/10-dm.rules' as rules file     parse_file: reading '/lib/udev/rules.d/11-dm-lvm.rules' as rules file     parse_file: reading '/lib/udev/rules.d/13-dm-disk.rules' as rules file     parse_file: reading '/etc/udev/rules.d/40-hplip.rules' as rules file     parse_file: reading '/lib/udev/rules.d/40-isdn.rules' as rules file     parse_file: reading '/lib/udev/rules.d/40-libgphoto2.rules' as rules file     parse_file: reading '/lib/udev/rules.d/40-multipath.rules' as rules file     parse_file: reading '/lib/udev/rules.d/40-redhat.rules' as rules file     parse_file: reading '/lib/udev/rules.d/50-firmware.rules' as rules file     parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file     parse_file: reading '/etc/udev/rules.d/56-hpmud_support.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file     parse_file: reading '/etc/udev/rules.d/60-fprint-autosuspend.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-net.rules' as rules file     parse_file: reading '/etc/udev/rules.d/60-pcmcia.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file     parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file     parse_file: reading '/etc/udev/rules.d/60-raw.rules' as rules file     parse_file: reading '/lib/udev/rules.d/61-mobile-action.rules' as rules file     parse_file: reading '/lib/udev/rules.d/61-option-modem-modeswitch.rules' as rules file     parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file     parse_file: reading '/lib/udev/rules.d/64-device-mapper.rules' as rules file     parse_file: reading '/lib/udev/rules.d/64-md-raid.rules' as rules file     parse_file: reading '/lib/udev/rules.d/65-libsane.rules' as rules file     parse_file: reading '/lib/udev/rules.d/65-md-incremental.rules' as rules file     parse_file: reading '/lib/udev/rules.d/70-acl.rules' as rules file     parse_file: reading '/lib/udev/rules.d/70-anaconda.rules' as rules file     parse_file: reading '/etc/udev/rules.d/70-cups-libusb.rules' as rules file     parse_file: reading '/lib/udev/rules.d/70-hid2hci.rules' as rules file     parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file     parse_file: reading '/lib/udev/rules.d/70-printers.rules' as rules file     parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file     parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules file     parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file     parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-ericsson-mbm.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-longcheer-port-types.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-platform-serial-whitelist.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-simtech-port-types.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-usb-device-blacklist.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-mm-zte-port-types.rules' as rules file     parse_file: reading '/lib/udev/rules.d/77-nm-olpc-mesh.rules' as rules file     parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file     parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file     parse_file: reading '/etc/udev/rules.d/80-bsg.rules' as rules file     parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file     parse_file: reading '/lib/udev/rules.d/80-udisks.rules' as rules file     parse_file: reading '/lib/udev/rules.d/85-regulatory.rules' as rules file     parse_file: reading '/lib/udev/rules.d/88-clock.rules' as rules file     parse_file: reading '/etc/udev/rules.d/90-alsa.rules' as rules file     parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file     parse_file: reading '/lib/udev/rules.d/90-pulseaudio.rules' as rules file     parse_file: reading '/etc/udev/rules.d/91-drm-modeset.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-battery-recall-dell.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-battery-recall-fujitsu.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-battery-recall-gateway.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-battery-recall-ibm.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-battery-recall-lenovo.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-battery-recall-toshiba.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-csr.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-hid.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-devkit-power-wup.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-dm-notify.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file     parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file     parse_file: reading '/etc/udev/rules.d/98-kexec.rules' as rules file     parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file     parse_file: reading '/dev/.udev/rules.d/99-root.rules' as rules file     udev_rules_new: rules use 141480 bytes tokens (11790 * 12 bytes), 29125 bytes buffer     udev_rules_new: temporary index used 50200 bytes (2510 * 20 bytes)     udev_device_new_from_syspath: device 0x89af120 has devpath '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0'     udev_device_new_from_syspath: device 0x89c7ac0 has devpath '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0'     udev_device_read_db: device 0x89c7ac0 filled with db symlink data '/dev/bsg/0:0:0:0'     udev_rules_apply_to_event: LINK 'char/252:0' /lib/udev/rules.d/50-udev-default.rules:4     udev_device_new_from_syspath: device 0x89b0d48 has devpath '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0'     udev_rules_apply_to_event: RUN 'socket:@/org/freedesktop/hal/udev_event' /etc/udev/rules.d/90-hal.rules:2     udev_event_execute_rules: no node name set, will use kernel supplied name 'bsg/0:0:0:0'     udev_device_update_db: create db link (bsg/0:0:0:0 char/252:0)     udev_device_update_db: unable to create db file '/dev/.udev/db/bsg:0:0:0:0': No such file or directory     udev_node_add: creating device node '/dev/bsg/0:0:0:0', devnum=252:0, mode=0660, uid=0, gid=0     udev_node_mknod: preserve file '/dev/bsg/0:0:0:0', because it has correct dev_t     udev_node_mknod: preserve permissions /dev/bsg/0:0:0:0, 020660, uid=0, gid=0     node_symlink: preserve already existing symlink '/dev/char/252:0' to '../bsg/0:0:0:0'     udevadm_test: UDEV_LOG=6     udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0     udevadm_test: MAJOR=252     udevadm_test: MINOR=0     udevadm_test: DEVNAME=/dev/bsg/0:0:0:0     udevadm_test: ACTION=add     udevadm_test: SUBSYSTEM=bsg     udevadm_test: DEVLINKS=/dev/char/252:0     udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event'


title: How to change a firefox option on a quick way (via shortcuts, command line,..)?

text: In Firefox we have two options at `Firefox->Preferences->Preferences->Fonts and colors->Colors` menu, `Use system colors` and `Sites can use other colors`. I would like keep the first one checked (and this is ok) and change the second on a quick way. A quick way could be pressing a shortcut on keyboard, running a terminal command or changing a content of a config file (because I can do a shell script and use a keyboard command). My motivation is I would like to always use my system colors but if a webpage has strange visuals, I'd like change it to the original quickly. Any ideas?


title: Is there a command or method (other than RTFM) to determine if a system has a UEFI BIOS?

text: My inspiration for asking this is **this other question** on Ask Ubuntu. One reason I am asking is that I am just curious. I would like to know more about this for whatever value it might have in the future. But I would also like to know so that I have a procedure I can ask a user to perform when I am wondering `WTF` might be up with them and their system. ;-) Initially I wondered if this information might be detected and reported by a tool such as (or similar to) `dmidecode`. But what would happen when a `UEFI BIOS` is simulating a `pre-UEFI BIOS`? I expect this question will only become more interesting as time passes. It appears that the companies behind each of the major operating systems will insist on implementing `EFI` support by doing " _the same thing only different_ ". `<sigh/>`


title: Installing OpenJDK on a Netbsd Sparc64 Server

text: I am currently working on a project that involves running the lift framework on a sun sparc64 architecture. Due to limited support from more popular unix distros, I am running NetBSD 64-bit on the system. Before i can even tackle trying to install lift, I have to be able to install java on this system. I found that OpenJDK is what I should be using. Through all my digging, I can't seem to get a straight answer on compatibility or installation for this specific setup. Also if i am to find a compatible version, what kind of route am I to take in terms of installation (i.e. pkg_add, pksrc or compiling the code myself) Can anyone shine a light on the subject or am I just on a wild goose chase to nowhere?


title: Trying to cp a path with spaces, fails when scripted but echoing and pasting succeeds?

text: I have a script that is trying to copy a directory from a path that includes backslash-escaped spaces and is stored in a string variable to a subdirectory of the working directory. When I run the script, I get the usage for `cp`:               usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file            cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory      However, if I echo the command, it looks perfectly correct. And even if I then copy and paste that echoed line back into the terminal, it executes fine!               rm -rf Payload     mkdir Payload     echo cp -Rf $APP_PROTOTYPE/ Payload/${BUNDLE_NAME}.app     cp -Rf $APP_PROTOTYPE/ Payload/${BUNDLE_NAME}.app      I'm at a loss to understand why it would not execute properly in Bash, but manually pasting the command back in works flawlessly. Moreover I can't even tell what the problem is because it works fine when I do it manually (however I obviously suspect the spaces). The exit code from `cp` is 64, if that helps at all. `$APP_PROTOTYPE` looks like `.golden_repo/Production\ Releases\ Only/Kiosk/1.0.3/Prototype/Kiosk.app`, and note that `.golden_repo` is a mounted smbfs share.


title: Passing a variable to a bash script when sourcing it in another bash script?

text: Suppose I have in main.sh:               NAME="$HOME"     if [ -f "$HOME/install.sh" ]        then        . "$HOME/install.sh" "$NAME"     fi      and in install.sh:               echo $1      This is supposed to echo `/home/user/`, but it echoes nothing. Why?


title: Creating bootable usb stick with NetBSD installer on Linux

text: How can I create bootable usb stick with NetBSD installer on Linux? I tried to use UNetBootin, but on download list there is only 4.0 version and when I select my ISO with 5.1 version it doesn't work (it create only few config files) . Other instruction that I found was NetBSD specific and I don't have NetBSD installed...


title: How do I autostart an application in Gnome when a volume is mounted?

text: According to Gnome's Desktop Application Autostart Specification, I should be able to have a program execute simply by naming it any of ".autorun", "autorun", or "autorun.sh". None of these seem to work: I get a prompt from nautilus-autorun-software asking if I want to let it run, I say "Run", and it results in a dialog that says "Error autorunning software: Cannot find the autorun program". Is it a bug or am I not doing something correctly? The autorun file contains the following:               #! /bin/sh     gnome-terminal -x sh -c '~/bin/podcatcher/copypodcasts.sh; echo Done!; read pause'      It works if I manually run the autorun file. The filesystem is fat, here's the mtab entry:               /dev/sdd1 /media/disk vfat rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush 0 0


title: How to shut down the computer after a task has been completed?

text: I usually start a download before I go to school.   Which command should I use to automatically make the necessary saves and turn off the computer after a particular task has been completed?   (Say, after installing the updates, or after downloading a large file.) I have also cross-posted at askubuntu.


title: What is Debian's stance regarding GCJ and OpenJDK?

text: Both OpenJDK and GCJ are available for install on Debian, and now I wonder what's happening. Don't these provide same functionality?


title: Cannot log in via a display manager on Debian Jessie

text: I updated `libc` on my Debian (Jessie) and with it hundreds of packages. Now I can't sign in using a display manager. After entering password and signing in it loads with a black screen and then pushes me back to the display manager.   * Logging in via a virtual terminal and `startx` with my desktop environments (xfce, xmonad) still works.    * I installed another display manager (gdm, lightdm, xdm) and tried to log in with different users (including users with empty sessions) and I even replaced systemd with init, but that didn't help. And I installed a fresh xorg.   * I installed not just libc, but the development files `libc-dev-bin` in this one step. So there are even more new packages.   * My system is multiarch. Got i386 and amd64 packages installed.   * I have one screen and use the Nvidia card and proprietary drivers via bumblebee. Usually everything runs on the Intel graphics card.   * Years ago, the system was an Aptosid. But I changed all repository sources to Debian. After many updates, all packages should be from a Debian repo by now, I guess.   * I don't know if its a bug, but I can't start a terminal emulator on X, which has been started with `startx`. I have this issue since some years but it wasn't a problem. Running a terminal as root still works on any X.   * It has installed some `libwayland-*` packages, but i don't have weston installed.   * I updated some libpam and libdbus packages now. No difference.   * I checked the auth logs and other logs, but i couldn't find anything useful. Suggestions where I should search next?    * apt log of the update. Edit:   * The display disables and enables while black screen. Maybe an attempt to change screen resolution.    * In _~/.xsession-errors_ there is `OpenSSL version mismatch. Built against 1000105f, you have 10001090`. Maybe it's the issue, but I don't know how to fix this.


title: Difference between a distributed and a cluster file system

text: I have been reading some articles and I didn't find the answer for which I am looking for. What I understand is the following: Both systems span over a network. A distributed file system features several places where the file-system is kept(for example each workstation may have a copy of it), thus creating many copies in case something happens to one or more of the nodes. The different nodes are synchronized in some logic (and conflicts are resolved) A Cluster file-system is a distributed file system with just one node, meaning that everyone takes the data from one node and updates it there. Are the following statements correct, if not what is the difference?


title: How to extract a single file from tbz

text: I have the following archived directory:               itunes20140618.tbz      I want to extract single file from it called:               itunes20140618/video      How would I do this? So far, I am doing               $ bzip2 -d /tmp/itunes20140618.tbz       But it seems to create a tar directory of everything. How would I extract just the single video file? Currently, if I extract one file via tar it takes about 1 minutes and then 'hangs' for another 20 minutes while it finishes reading the tar archive. Any ideas how to improve this?


title: Spoof current MAC address to a known address to trick router and register device

text: I want to connect to a device to the internet, a `Roku player`, that has its own `MAC` address. The network that I currently have access to requires that I login using my credentials prior to being connected to the Internet. The process is such that the first time you try to access a website you are forwarded to a "login" page, where you enter your credentials. The problem is that the `Roku player` does not have a browser, which I can use to do this step. So when I attempt to use the device it just sits. Even though I am _connected_ to the Internet, I do not have _access_ to it through the router. So I was thinking that it may work, if I used my laptop to spoof my `MAC` address to the specific address of my `Roku player` and login that way to register this device. Would this work? If so, how could I go about doing it?


title: Why does FreeBSD use the GPL-licensed GCC?

text: Why does FreeBSD use GCC as its default compiler? I am under the impression that a core pillar of the FreeBSD philosophy is _not_ to use any GNU software and in particular, GPL code. Yet GCC which is both GNU and GPL comes bundled with FreeBSD. Why?


title: How should I restore /var/cache?

text: I just restored my Raspberry Pi server from an `rsync` image. During the backup, I had excluded `/var/cache/*`, thinking that this would restore an empty directory. This worked, but when I rebooted, a process complained that it couldn't write to it in the following mail.               Subject: status report from ddclient@raspberrypi     ...     WARNING:  updating <url>.dynu.com: nochg: No update required; unnecessary attempts to change to the current address are considered abusive     FATAL:    Cannot create file '/var/cache/ddclient/ddclient.cache'. (No such file or directory)      I checked the permissions of `/var/log`, which were consistent with my Arch desktop system.               $ ls -ld /var/cache/     drwxr-xr-x 3 root root 4096 Aug 15 13:23 /var/cache/      Do I have to do anything else? If the permissions are `a-w`, then how can non- root processes write in here?