Installing Media Codecs in Fedora 16

Tags:

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

su -c 'yum update -y'

su -c 'yum -y install gstreamer-plugins-bad-free gstreamer-ffmpeg gstreamer-plugins-bad gstreamer-plugins-ugly'

Compiling Simutrans on Fedora 16

Tags:

To a base Fedora system you will have to install the development tools, the g++ compiler (in the gcc-c++ package; hard to find since 'yum search g++' doesn't find it), the SDL libraries, and bzip2 and zlib development packages:

sudo yum install gcc gcc-c++ SDL-devel SDL_mixer-devel bzip2-devel zlib-devel

Related errors:

/usr/bin/ld: cannot find -lz

Resolution: Need to install zlib-devel (see above)

Also "command not found" with sdl is related to the SDL libraries.

Solved: Fedora 16 Boot and NFS mount problems

Tags:

I installed Fedora 16 today. First problem: System would not boot. I got "No bootable devices found. Insert media and press any key." That turned out to be, because the "old style" DOS partition table didn't have the new partition marked as bootable. Overcoming this took re-booting the Live CD, opening a terminal window, executing the command "su" to become root, then "fdisk /dev/sda" ...ignoring the message about the new GPT partition table type, and using the fdisk command "a" to set sda1 to be bootable (then "w" to write, ignore the error, and reboot). Very sloppy of Fedora to fail to do this. And why do we need a new partition table format at all?

Anyway the next bit that got me stuck was trying to mount an nfs share. The error message says you need to start the "statd" service (see several failed attempts below) but the actual name of the service is rpcbind ...go figure.


# <strong>yum install nfs-utils</strong>
<em>(needed for nfs mount to work at all)</em>
# <strong>mkdir /mnt/home</strong>
# <strong>mount 192.168.1.10:/home /mnt/home</strong>
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified

# <strong>service statd start</strong>
Redirecting to /bin/systemctl  start nfslock.service
Failed to issue method call: Unit nfslock.service failed to load: No such file or directory. See system logs and 'systemctl status nfslock.service' for details.
<em>(It tells you to 'start statd' but there is no statd to start! Ugh.)</em>

# <strong>service nfslock start</strong>
Redirecting to /bin/systemctl  start nfslock.service
Failed to issue method call: Unit nfslock.service failed to load: No such file or directory. See system logs and 'systemctl status nfslock.service' for details.

# <strong>service nfs start</strong>
Redirecting to /bin/systemctl  start nfs.service
Failed to issue method call: Unit nfs.service failed to load: No such file or directory. See system logs and 'systemctl status nfs.service' for details.

# <strong>service rpcbind start</strong>
Redirecting to /bin/systemctl  start rpcbind.service
<em>(( Success! ))</em>
# <strong>mount 192.168.1.10:/home /mnt/home</strong>
<em>(( Success! ))</em>
#

Mass Editing Posts' Timestamps to Attachment Dates

Tags:

I had migrated a portfolio website to WordPress, and used the Add Media from Server plugin to make the various files into attachments. I made sure to check the option that makes the attachment's date equal to the file's timestamp.

Then I added the various posts to the site, and used the Change Attachment Parent plugin to attach the various media files to their proper parent post.

The final step was to set each post's publish time to the date of that post's newest attachment. A bit of MySQL wizardry does this:

update wp_posts as pp
      inner join(
        select post_parent as pic_parent, ID as pic_id, max(post_date) as pic_date
        from wp_posts
        where post_parent>0 and post_type='attachment'
        group by post_parent
      ) as attach
      on pp.ID=attach.pic_parent
   set pp.post_date=attach.pic_date, pp.post_date_gmt=attach.pic_date;

Virtualmin and Quotas

Tags:

Loaded Virtualmin onto a Linode running Centos 6. Ran into some errors when trying to add a domain:

Failed to create virtual server : setquota: Cannot stat() mounted device /dev/root: No such file or directory setquota: Mountpoint (or device) / not found or has no quota enabled. setquota: Not all specified mountpoints are using quota.

And indeed, from a root prompt:

# <strong>quotaon -p -a</strong>
quotaon: Cannot stat() mounted device /dev/root: No such file or directory
group quota on /home (/dev/xvdc) is off
user quota on /home (/dev/xvdc) is off

Hmm, yep, that's the same error. This thread on Virtualmin's forum was a big clue, here's the first step to resolution:

# <strong>mount</strong>
...
/dev/xvda on / type ext3 (rw,noatime,grpquota,errors=remount-ro,usrquota)
...

Right, so our root / partition is indeed on /dev/xvda so we can create the missing symbolic link:

# <strong>ln -s /dev/xvda /dev/root</strong>
# <strong>quotaon -a</strong>
quotaon: cannot find /home/aquota.group on /dev/xvdc [/home]
quotaon: cannot find /home/aquota.user on /dev/xvdc [/home]
#

Good, no error message. But things are still not working yet:

# <strong>quotaon /home</strong>
quotaon: cannot find /home/aquota.group on /dev/xvdc [/home]
quotaon: cannot find /home/aquota.user on /dev/xvdc [/home]

Before proceeding, in /etc/fstab please be sure "usrquota" and "grpquota" are in the options line:

/dev/xvdc  /home  ext3  grpquota,errors=remount-ro,usrquota,grpquota,noatime,rw  0  1

Now, instead of going thru a dozen cryptic commands, go back to Webmin (if Virtualmin is up, click Webmin on the top line). Open the System tab and then Disk Quotas. You should see the /home partition listed, and it probably says that quotas are not active. Simply hit "Enable Quotas" and the display should change to:

*Filesystem *

*Type *

*Mounted From *

*Status *

*Action *

/home (users) /home (groups)

Linux Native Filesystem

Xen device C

User and Group Quotas Active

Disable Quotas

...Done!