Howto install Minus.com filesharing desktop app on Debian Squeeze or Crunchbang

Minus.com Free 10Gb Unlimited Bandwith Dropbox rival
I just recently heard about minus.com on Google + and thought that their claim of 10Gb FREE along with unlimited bandwidth was suspicious. My comment was “Wait until somebody uploads and publicly shares a Linux distro iso.

Then Phillip Newborough (Corenominal – Crunchbang Linux) said he had actually communicated with John Xie, one of the minus.com founders, aksing exactly the same thing. John said that the minus.com team are all Linux users and have no problem whatsoever with Linux users/developers sharing their isos via the service.

This-is-awesome! I am uploading all my Dropbox files as I type this. Minus.com is going to be huge if they can maintain this type of service.

Ok, so I signed up and immediately started to look for Android and Debian desktop synchronization. I found only Ubuntu and Arch packages, and the screenshots clearly show a Gnome desktop, but I thought “what the hell” an downloaded the 64bit Ubuntu.deb package and threw caution to the wind.

Installation on Debian Squeeze 64bit with Openbox Desktop:


Download and install the .deb file from: 
http://minus.com/pages/tools

wget http://blog.minus.com/updates/minus-desktop-tool_amd64.deb

Install it:

sudo dpkg -i minus-desktop-tool_amd64.deb

Errors:
I got told I needed the libqt4-gui, I am on a very basic Squeeze with Openbox, so I just installed it.

dpkg: dependency problems prevent configuration of minus-desktop-tool:

 minus-desktop-tool depends on libqt4-gui; however:

  Package libqt4-gui is not installed.

dpkg: error processing minus-desktop-tool (–install):

 dependency problems – leaving unconfigured

Errors were encountered while processing:

 minus-desktop-tool

Get the dependencies:
sudo apt-get -f install

All done!

Just to check, I ran minus in the run dialog box, and hey presto! all working schwimmingly 🙂

Files:

The config.ini file is in ~/.local/share/data/minusdesktop
Minus runs from /usr/bin/minus

Autostart:
And i also added minus to start at login with my Openbox autostart.sh

vim .config/openbox/autostart.sh

And add: 

# Autostart the Minus daemon

(sleep 30s && minus) &

Howto Debian Live – Build your own Squeeze based distro


How to build your own Debian
Debian live-build was created to help you to build a Debian Live CD or USB. There are other applications and scripts which allow you to respin/remaster, but live-build will help you buil a Debian-based distro “the Debian way”.

Anybody can start with a base Debian and add a desktop environment and within around 30 minutes have their own Debian-based distro. It is that simple to use. A more experienced user could dig-in deep and add scripts, themes, wallpapers, specific applications and scripts.

Installation
You will need an installed Debian system to start. Install the live-build package.

*NOTE* sid-snapshot live-build error with squeeze builds

cp: cannot stat `/usr/share/syslinux/themes/debian-squeeze/isolinux-live’

Squeeze or Wheezy based distro?
If you want to build a Squeeze-based distro, use “squeeze-snapshots” to avoid the above error.
If you want to build Wheezy/sid-based distros, use the sid-snapshots repo. (live-build 3.0 is still under development, and therefore can break)

For Squeeze Pin the Squeeze Live-Build version:

cd /etc/apt/apt/preferences.d

Then create a file called “live_build” and add the Pin:

vim live-build

Package: live-helper
Pin: release a=squeeze
Pin-Priority: 900 

Package: live-build
Pin: release a=squeeze
Pin-Priority: 900 

Now add the Squeeze Live Build to your sources.list:

echo deb http://live.debian.net/debian/ squeeze-snapshots main contrib non-free >> /etc/apt/sources.list

echo deb-src http://live.debian.net/debian/ squeeze-snapshots main contrib non-free >> /etc/apt/sources.list

wget http://live.debian.net/debian/project/keys/archive-key.asc -O – | apt-key add –

apt-get update

apt-get install live-build dosfstools genisoimage memtest86+ mtools parted squashfs-tools genext2fs mtd-tools sudo fakeroot uuid-runtime win32-loader syslinux syslinux-themes-debian syslinux-themes-debian-squeeze

Configuration And Testing
Create a work directory as Root:

su
password

mkdir my-livecd

cd my-livecd

To create a simple test Live system (no X, just shell):

lb config

And you should end up with this directory structure:

|– binary_debian-installer

|– binary_grub

|– binary_local-debs

|– binary_local-hooks

|– binary_local-includes

|– binary_local-packageslists

|– binary_local-udebs

|– binary_rootfs

|– binary_syslinux

|– chroot_apt

|– chroot_local-hooks

|– chroot_local-includes

|– chroot_local-packages

|– chroot_local-packageslists

|– chroot_local-patches

|– chroot_local-preseed

|– chroot_sources

|– includes

`– templates

The Config Directory
lb config will create a CONFIG directory with some very simple default settings in commented files that can be edited by hand. This is where you will be adding your config files, packages (.debs) and the contents of your skel directory. This will probably be the most important directory for live-build distro builders.

Get lb config info from your Debian terminal:

man lb_config

The Build Command
lb build will download the packages from the debian repository, install them in a chroot, apply hooks and other things and then create an ISO file which you can burn or run virtually.

Editing/Adding/Removing and Rebuilding
Each time you want to rebuild the live-cd to include some changes, you’ll have to run:

lb clean

lb build

The process will be repeated, but this time the packages you downloaded before will be reused from a cache directory where they were saved the first time round.

Build an Xfce4 based Debian
Debian Squeeze with Xfce live USB image and some extra stuff: (These are straight commands that will add the information to the live-build scripts. Obviously you can edit the scripts themselves manually, and have all this preconfigured so that you run “lb build”, go and have a coffee and come back to a shiny new Debian iso, alreday to be fired up in VirtualBox to test.

lb clean

lb config –architecture i386 –archive-areas “main contrib non-free” –packages-list xfce

You can find more packages lists for gnome, kde and others in /usr/share/live/build/lists/.

debian-forensics debian-live-pxe-server gnome-core gnustep kde-extra lxde  standard studio-gnome xfce debian-junior debian-science gnome-full kde kde-full    minimal standard-x11 studio-kde xfce-junior debian-live-devel gnome gnome-junior kde-core kde-junior rescue studio studio-xfce [your-personal-list]

The i386 architecture boots on 32 and 64 bit processors.

Add some more packages you’d like:

lb config –packages “irssi screen obmenu obconf iptraf vim”

Rebuild

lb build

Customizations
You can make changes to the system interactively during the build process in a shell, using interactive shell parameter.

lb clean

lb config –interactive shell

lb build

A prompt will appear during the build process. Make the changes you want and then log out with “exit” to finish the build process. To disable interactive shell again for unattended builds run:

lb config –interactive disabled

Create Hooks to automate customizations:
Add the following example script inside config/chroot_local-hooks/, make it executable and then rebuild (more hooks in /usr/share/live-helper/hooks/):

#!/bin/sh

echo “HOOK: ssh server”

# install

apt-get install –yes –force-yes -y openssh-server

# disable root login

echo “I: disabling root login in ssh”

sed -i “s/PermitRootLogin yes/PermitRootLogin no/” /etc/ssh/sshd_config

# don’t start ssh on boot (safer)

update-rc.d -f ssh remove

Now rebuild.

Skel and the /home/user directory
To add some files to the user $HOME directory, copy them to config/chroot_local-includes to the /etc/skel directory:

lb clean

mkdir -p config/chroot_local-includes/etc/skel

cp -ra ~/.config/openbox config/chroot_local-includes/etc/skel/

lb build

Installing to USB pendrive:

lb clean –binary

lb config -b usb-hdd

lb build

Now copy the resulting image file to the USB pen drive

dd if=binary.img of=/dev/sdb

Where /dev/sdb is the usb pendrive.

Persistent Pendrive (Allows you to save files and settings)
To save changes between boots (a.k.a. live persistence), create a new partition with the remaining free space in the pen and change the label of the new partition to “home-rw”. Boot with the “persistent” boot option to use it. Now the changes in $HOME will survive. They can be used again booting with “persistent” again.

Installing To Hard Disk
One of the advantages of live-helper is being closely linked to Debian, Debian Policy and to Debian-Installer. Once you have selected the packages you want and have the system setup/configured the way you want with your hooks and preseeds, you can use the livecd iso to install your distro to hard disk with debian-installer (d-i) as with a normal official Debian CD.

The installer work normally (language selection, partitioning) but when it comes to installing the system, it will extract the live system to disk, then remove the live addons and install a bootloader. It is actually much faster that the normal installation, because it doesn’t have to unpack all the deb packages.

Debian guides:
http://debian-live.alioth.debian.org/,
http://wiki.debian.org/DebianLive/FAQ,
http://live.debian.net/manual/html/index.html,
http://www.debianuserforums.org/viewtopic.php?f=9&t=185.

How to: Shared Directory Permissions for specific Users of a specific Group


This guide is basically aimed at Debian server Administrators who want to control access to specific directories, to specific groups and/or users.

Scenario: 

You want ONLY user1 and user2 to have Read/Write access to the_shared_dir 
Create the new directory: 

sudo mkdir the_shared_dir 

Create new group: 

sudo groupadd thenewgroup 

Add users to the group: 

sudo adduser user1 thenewgroup 

sudo adduser user2 thenewgroup 

Give the directory group permissions: 

sudo chgrp -R thenewgroup the_shared_dir 

Change the directory/file permissions to Recursive Root/Group Read/Write: 

sudo chmod -R 774 the_shared_dir 

sudo chmod g+s the_shared_dir 

sudo setfacl -d -m group:thenewgroup:rwx the_shared_dir/ 

Use getfacl to see directory permissions: 

sudo getfacl the_shared_dir/ 

Which will produce this output: 
# file: the_shared_dir/ 
# owner: root 
# group: thenewgroup 
# flags: -s- 
user::rwx 
group::rwx 
other::r– 
default:user::rwx 
default:group::rwx 
default:group:thenewgroup:rwx 
default:mask::rwx default:other::r-x 
**Now the user has to log-off and on again for permissions to work** 
Links: 
ACL 
Getfacl 
Setfacl 
Permissions 

How to install Libre Office on Debian or Crunchbang with Openbox

Current (October 2012) Final LibreOffice 3.6.3

You can find the .tar.gz packages containing 32 and 64bit .debs on the download page:
32bit Debs (Torrent)

64bit Debs (Torrent)

Download and Unpack
First download the package for your version (mine is 64bit)  to your “/downloads” directory, then unpack it:

cd downloads

ls (then copy and paste the package name after the “tar -xvf” command)

tar -xvf LibO_3.6.3_Linux_x86-64_install-deb_en-US.tar.gz


Install Libre Office 3.6.3
Change to the extracted LibO directory and install all the .deb packages in one go.

Java
**Note** If Libre Office asks for Java (and you want to install it)

sudo apt-get install sun-java6-jre


Libre Office

cd LibO (hit Tab button to complete)

cd DEBS 

sudo dpkg -i *.deb


Where is Libre Office installed?
Libre Office 3.6.3 is now installed in /opt/libreoffice3.6/ and the application launchers are stored in /opt/libreoffice3.6/program

Add Libre Office to your Openbox menu

I use scite text editor to edit my Openbox menu basically as I have the option to save in .xml format (otherwise you get xml, end of line extra character errors etc) . You can also do this with Vim, Nano etc, if you know how to do it. I prefer having Scite already setup for xml editing.

Back-up and Edit

cp .config/openbox/menu.xml .config/openbox/menu.xmlBKP

scite .config/openbox/menu.xml


Add the Office Menu where you like

        

            

                

                    /opt/libreoffice3.6/program/soffice

                

            

        

        

            

                

                    /opt/libreoffice3.6/program/swriter

                

            

        

        

            

                

                    /opt/libreoffice3.6/program/scalc

                

            

        

        

            

                

                    /opt/libreoffice3.6/program/simpress

                

            

        

        

            

                

                    /opt/libreoffice3.6/program/sdraw

                

            

        

        

            

                

                    /opt/libreoffice3.6/program/smath

                

            

        

            

            

                                

                                        /opt/libreoffice3.6/program/sbase                   

                                

                        

                


All done!
That’s it, you now have the latest Stable edition of Libre Office and you can launch everything from your Openbox menu 🙂