Mac X High Sierra and exfat

So, Mac OS X has exfat file system support built in. I spent about an hour trying to repair and otherwise fix my nearly full 2TB external drives before I decided to simply wait. Turns out if you have lots of files, it takes Mac OS X a long time to parse through them all. After about 20 minutes the drive showed up normally with all files ready to go.

LinApple and Xubuntu 17.10

bzip2 -d to Working folder, followed by tar xvf

switch to Working folder and src folder

make should first return sdl error

sudo apt-get install libsdl1.2-dev (may also need libsdl2-dev)

sudo apt-get install libcurl4-openssl-dev

sudo apt-get install libzip-dev

Other libraries may be necessary but these seem to fulfill the needs on my system (I allow them to install all dependencies and don’t bother trying to analyze everything).

Hope this helps!

VLC Audio okay but no Video in Xubuntu 17.10 amd64

(this probably applies to various other distros as well)

Reinstalled Xubuntu 17.10 and found that VLC (VideoLAN) playback for at least 1 MKV file was resulting in audio only with no video. One possible resolution:

Go to Tools -> Preferences and enable Advanced. In the resulting tree, go to Video -> Output Modules then select OpenGL or other output. Automatic doesn’t seem to detect right, depending on configuration.

As always, YMMV

CentOS 7 and WebTrees 1.7x

So I finally started getting the new web server up and running with CentOS 7. First step once running was to install a LAMP configuration (php7.1) and to get WebTrees running. Rather than hang WebTrees directly off /var/www/html/webtrees or similar, I chose to place it at /var/www/wt. I basically unzipped it into a working directory in my home folder so I could examine it and then copied the entire folder to my target location.

I ran into three large issues that prevented running the application:

  1. Needed to configure the system properly inside apache’s configuration files to ensure the directory is accessible to the webserver process, and also to create an alias that points to the folder.
  2. Once that part was complete, the web process couldn’t write to /var/www/wt/data folder; apache (httpd) runs with a user/group of apache rather than www-data as found on many other debian-based distros.
  3. Even when correct user/group had been applied to all files, still couldn’t write. Finally dawned on me that SELinux is used on CentOS (and many other distros) and requires some additional permissions to be set. I highly recommend that you do not follow the WebTrees setup wizard advice of assigning 777 (world-read/write) permissions as this bypasses many security things. Also, it won’t work anyway without disabling SELinux, which is an even greater security breach. Read on, do some additional research (not specific to WebTrees) and you’ll see it’s not really that hard. I’ll describe as best I can what the various components mean.

1 – Configure folder access (since it’s not located under /var/www/html)

I normally add this right after the last <Directory> tag found in /etc/httpd/conf/httpd.conf, which for a default installation will probably be your normal /var/www/html access. Please note that this currently does not add SSL as I have the system limited to my local home network. Later, I’ll try to detail how to make this an SSL (https) access instead for additional security.

The Alias directive tells the system that the files found at /var/www/wt should be considered to off /wt on the web server (http://servername/wt). The following Directory entry simply controls whether the files in the directory can be listed, etc.

Alias "/wt" "/var/www/wt"
<Directory "/var/www/wt">
   Options None
   AllowOverride None
   Require all granted
</Directory>

2 – Set correct user/group ownership

This is a relatively simple fix; both 2 and 3 must be done before any noticeable change will occur.

If you use

ls -l /var/www

You’ll see that the default user:group for the wt folder is www-data:www-data. Use the following command to change it to the correct webserver process apache:apache. -R changes everything in the folder not just the folder itself.

sudo chmod -R apache:apache /var/www/wt

3 – Edit SELinux policies to permit proper access control

(Please note that I am definitely not an SELinux expert and have adapted these steps from the description provided by Shane Rainville’s Overview located on http://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/. I highly recommend reviewing this information yourself as I have summarized it to the steps I utilized only.)

I normally login to my web server as a normal user and then use sudo for any commands that require root/admin access. There are many flame wars about what is best for isolated systems, YMMV. If you login as a normal user, prefix all commands with sudo.

Install the core policy utilities:

yum install -y policycoreutils-python

Also install the SELinux troubleshooting (there is a typo on Shane’s list, should be setroubleshoot, not setroubleshooting):

yum install -y setroubleshoot

The two above steps allow you to manage the SELinux policies, view them, etc. Shane’s page illustrates how to list existing policies in place, which is probably handy when combined with grep, but my system printed more than enough to fill up the scroll-back buffer. Knowing how to do it comes in handy later, though, for troubleshooting your typos, etc.

Shane illustrates the need to create several types of process accesses, including content, logs, and cache. However, for WebTrees all that I currently need is the content access. Therefore, I issued the command:

semanage fcontext -a -t http_sys_content_t "/webapps(/.*)?"

to permit the httpd process to access content within the entire /var/www/wt folder and derivatives. Note that the last bit on the end of the command above makes sure all subfolders, files, etc., are covered within that context. Note that double quotes, forward slashes, etc., are all critical to the command.

Next, you need to permit read/write access to the /var/www/wt/data folder and files in order to get past the server check on the setup wizard. In reality, this permits the system to store multimedia files, etc., within the data structure properly. (Note that there was a typo here and the -t was left off Shane’s page, I’ve added it here)

semanage fcontext -a -t httpd_sys_rw_content_t "/webapps/app1/public_html/uploads(/.*)?"

At this point, you should be able to run the setup wizard successfully and get to the MySQL/MariaDB configuration portion to setup the database itself.

One point to make here is that WebTrees places its configuration file (config.inc.php) within the data directory so a command to allow read/write to that file is not required as it is already covered by the previous command. As Shane points out, though, it could be necessary if setting up an application that stores that file in a more traditional location (which could be anywhere, tradition be damned).

Have fun. No guarantees, warranty, etc.

 

Windows 10 and SQL Server 2016 Installation

If SQL Server 2016 is giving errors when attempting to install on Windows 10 (relating to C runtime, etc.), you might find some Google articles that recommend running SFC /scannow, then when that faults out on a message relating to the service not running, you run:

net start trustedinstaller

or similar, only to find it’s already started. Just reboot your machine. That might be all it takes. I spent 4 hours working on this, consulted logs, tech sites, etc., only to find the only missing component was a reboot for some update or install that didn’t finish. YMMV, but with Windows, rebooting probably can’t hurt. Uptime on Linux: 8 months+ without a reboot. Uptime on Windows: better reboot when you get a chance. Uptime on Mac: could go either way. I run all 3 configuration, not a phanboi of any.

Brother HL-2270DW and NetGear WNDR3400V2

So, moved my printer to a different location in the house and somehow wiped the configuration. Using a MacBook with Sierra, I tried for a couple of hours to get the WPS functionality of the router (which basically sucks as a router) to work with the printer. It was generally an exercise in futility, resulting in some cussing at the dogs and reinforcing the need to get my new Cisco equipment hooked up. The other issue is that the Ethernet port didn’t seem to want to enable, which would probably make it much easier to configure the printer. The solution?

Plug in the Ethernet cable at both ends, do a factory reset on the printer, and the port will enable in DHCP mode initially. It grabbed an IP address from the DHCP server and came online without any problem. A quick login to the printer and I was able to set the desired IP address and just completely disable wireless (the new location was near the router/switch so no need to use wireless). Problem solved in only 2-1/2 hours. What a pain in the back-side. I have a feeling that WPS isn’t all it’s made out to be.

CoCo3 (Tandy / Radio Shack Color Computer 3) and DriveWire 4 with Linux

I picked up a CoCo3 several months ago and had been trying various ways to get it to communicate with DriveWire 4 under Xubuntu (an Ubuntu derivative). Yesterday, I finally had some success.

First, I was lucky in that my CoCo3 included a cassette cable (4-pin round DIN connector and 3 plugs on the other end). This is helpful as I have no diskettes at all for the machine, although I have a total of 5 floppy drives available. Additionally, I ordered an RS-232 Serial cable (round DIN to DB9) which I’m using with a USB-Serial adapter on the Xubuntu end.

When setting up DriveWire 4, simply unzip the archive to its own folder. Make sure you install OpenJDK runtime 8 (9 might also work). You’ll need to change the shell script to executable using chmod +x as well. Finally, add yourself to a group that is permitted to access serial ports. Generally speaking, I add my normal user to dialout, tty, and uucp. I believe, but I’m not certain, that each of these will permit access to the serial port. Once added, you have to log out (not necessarily reboot) and then log in.

Once you’re logged in, start DriveWire 4 and go to the Config -> Simple Config selection. Choose CoCo3 (presumably any of the others would work as well). Make sure your serial adapter is plugged in and select the correct serial port, followed by finished (the defaults are probably okay for starting out).

You now have a chicken-and-egg problem; if you’ll download the DriveWire3 cassette files, etc., from Cloud-9’s web site you’ll then be able to transfer the cassette file (.wav) to the CoCo3 and boot. That will allow you to transfer additional files, images, etc., and if you have the proper hardware can save disks and/or cassettes.

I’m sure I’m leaving out some things but maybe this will help get you off to a good start. Remember, if DriveWire is having trouble finding your RS-232 USB adapter under Linux, it is almost certainly going to be a problem with groups/permissions. If the adapter is found but doesn’t seem to transfer, you probably then have a null-modem vs. terminal issue and need to make sure you are in the correct mode with the correct cable configuration.

Xubuntu 16.10 – Install LinApple (LinApplePie)

I recently installed the LinApplePie version of LinApple in Xubuntu 16.10. In order to compile from source, you’ll need to install the following:

libsdl1.2-dev (for SDL2 development)

libcurl-ocaml-dev (for CURL development)

libzip-dev (for zip file handling)

libsdl-image1.2-dev (for SDL2 images)

It’s possible that other requirements might exist but these seemed to satisfy my system; I always install build-essentials when installing Xubuntu, so if the above doesn’t work you might also give that a try. Remember, you’ll need to use

sudo apt-get install

as regular user accounts won’t work. The final executable (linapple) will be in your src folder so you’ll ultimately need to move it somewhere in the path if you want to run it from arbitrary locations, as well as setting some additional configuration settings to mark the location of MASTER.DSK and/or other files.