Skip to content

Instantly share code, notes, and snippets.

@smoser
smoser / README.md
Last active Jun 10, 2021
Using -proposed on Ubuntu selectively
View README.md

Enabling and Selectively using Ubuntu -proposed.

Often times people will want to test a package from -proposed, but do not want the whole ball of wax.

This covers how you can selectively use -proposed.

It is based on the backports doc. But also mentioned in EnableProposed in the Ubuntu Wiki. I used 'priority' of 400 below. You can read more about priority in apt_preferences(5).

After doing this you can leave -proposed enabled and your 'dist-upgrade' will not pull from it.

@smoser
smoser / README.md
Last active Apr 30, 2021
firefox , java, flash in a container
View README.md

Flash, Java and Firefox in a functional container

Revisit the days of yesteryear by running unsupported and abandoned and security-vulnerability infested software. This will build a container with old enough versions of firefox, flash and java to all work together.

My purpose was to access a non-updated Cisco Integrated Management Controller (CIMC). Older versions used flash-only but required java plugin for KVM access.

It should be obvious to the reader that running out of date software might not be a good idea.

How to build

build the container

@smoser
smoser / README.md
Last active Apr 27, 2021
swtpm / libtpms notes
View README.md

swtpm notes

Info on how to build/use swtpm and libtpms. Pretty good doc at swtpm wiki. Qemu page has good info also, including qemu command lines. Qemu tpm.

Debian/Ubuntu

libtpms and swtpm seem to be working their way into debian/ubuntu.

@smoser
smoser / README.md
Created Sep 23, 2020
git branch cleanup tool, for deleting local and remote branches
View README.md

git-branch-cleanup

git-branch-cleanup basically just allows me to do housekeeping more easily on my many branches.

@smoser
smoser / README.md
Created Aug 27, 2020
golang (go) cmd.ExtraFiles example
View README.md

This is an example of using cmd.ExtraFiles in golang with a os.Pipe()

There are 2 things that might be a bit tricky:

  • the order of closing the read and write side of the pipe. I got this right by reading the implementation of cmd.StderrPipe.
  • the number of the file descriptor for the child. I'm not sure of a good way to cleanly determine what that is. Golang cmd processes do not inherit all open filehandles, so you can't just use pipeWrite.Fd().

Ultimately, we did this because we were working with tssnvread which is possibly the worst user interface I've ever seen. We wanted to read the contents without writing to a file on the filesystem. To do so, we were able to tell it to write to /proc/self/fd/.

@smoser
smoser / README.md
Last active Jul 23, 2020
proxy setup using tiny proxy
View README.md

proxy setup using tiny proxy and proxy command

set up tinyproxy and /etc/environment for system wide proxy.

By default, this only reports how you can set this up. No changes to the system will be made unless the first argument is 'update' or UPDATE=1 is found in the environment.

No root access is required for dry-run.

The values configured at the top of the script are for an internal

@smoser
smoser / README.md
Last active Jul 9, 2020
bootstrap (bs) run (vcs-run)
View README.md

Docker ubuntu containers are pretty useless by themselves. The expectation is that the user will create a DockerFile and build their own image and push that image somewhere and maintain it.

In 2013 I authored vcs-run as part of cloud-utils. It is installed by default in ubuntu server images, but not in the docker images. :-(. The idea of vcs-run is that you can just invoke something like:

vcs-run https://your.git.server/repo.git bootstrap your-args-here

vcs-run would handle:

  • installing git
  • cloning repo
  • change dir to repo
@smoser
smoser / README.md
Last active Jul 22, 2020
codimd-index create an index for codimd
View README.md

codimd-index: maintain a global index for codimd pages.

We have a team codimd and it is wonderful. We have CMD_ALLOW_FREEURL=true so that users can create alias'd (named) pages.

Users can't see each others pages though, unless they know to look for them (codimd/#975).

This is just a "manually updated" script to generate a simple index page. It'd be wonderful if codimd/#103 was fixed, then we could generate a table and let user sort.

To run it, you need pyscopg2 (apt install python3-psycopg2).

Then:

@smoser
smoser / README.md
Created Jun 12, 2020
demo of yaml anchors and yaml-dump script.
View README.md

yaml anchors demo

yaml anchors are:

  • useful
  • confusing
  • hard to google for

yaml can be quite hard to read and see if it is valid.

I use 'yaml-dump' script here to just load a file and dump it as json to more easily see what it loads as.

@smoser
smoser / README.md
Last active Jul 17, 2020
build-upstream-pkg build a package from upstream source
View README.md

build-upstream-pkg

Usage: build-upstream-pkg [ options ] <<ARGUMENTS>>

   build-upstream-pkg <upstream-commitish> <packaging-commitish>

   options:
      --version  VERSION    make the upstream version VERSION
                            default is to use git-describe
      --output   DIR        put created files in DIR