Howto

I just love twitter, especially right after we do a release. The #Sabayon tweets just rise up in record numbers. My favorite twitter client is TweetDeck. I can setup a column that just sits and monitors for #Sabayon. I see all the tweets and can holler out to people. I was able to get TweetDeck working on my funtoo install, but it really raises havoc with the web browser when it came to flash sites. It just literally crashed the browser right off my desktop. So, it does work on the linux, but really isn’t the desired effect I was hoping for. I usually bounce between twittux and there is a firefox add-on that isn’t to bad either. I really like having the search/monitor feature tho. I do hope TweetDeck picks up Identi.ca in the future #Sabayon. If anyone has a great method of using TweetDeck and keeping a stable environment, let me know.

So last night, I am looking over the recent #Sabayon posts and find that Linux Live USB Creator has a beta version out that now supports Sabayon. This is great news as it is another powerful tool for people to use to try out Sabayon. It’s a simple windows program that allows you to turn a USB key into a bootable operating system. What is really nice about this, you can use it and boot it up right in windows. No need to reboot to use it. It has the option to download, you will need internet for this option, a portable Sun VirtualBox version. It’s the portable version, so it’s not installing stuff on your computer ever. It’s completely safe to use this option. Now you can fire up Sabayon right up on your desktop. How cool is that? I highly recommend that you adjust the settings in VB first as the defaults are set too low. I went in and bumped up the RAM and Video RAM, this produced a much better experience for me. So now I have my USB key and all I have to simply do is insert it into any computer and I can launch Sabayon through the VirtualBox. The interface is straight forward, awesome!

Linux Live USB Creator

Of course you can not install Sabayon from within Windows. You will need to boot the computer up with the USB key to do your installation. Booting up the computer with the USB key is same thing as booting it up with a dvd disk. I did notice tho, the menu options aren’t there like they normally are. You just have to hit enter if you don’t need to add any cheat codes in. Linux Live USB Creator has persistence abilities also, I’m not sure how that works. I know what it is, but don’t know with what it works with. I encourage you to check out the homepage and read through the FAQ and Guides. If you find the program useful, drop the guy a small donation too. It’s things like this that make things easier for people. Remember tho, if you want to try this out, You Must Have the Beta Version 2.3 Beta.

My Windows 7 Desktop

Linux Live USB Creator in Action

A quick side note, core-cd rc1 has been released out to the testing team. Mitch is doing a fantastic job at cleaning it up. Last I saw, it was only at like 378mb in size. I’m hoping we can get this released soon. I believe he had to make a couple more changes and than I am sure it will be golden. So hold on, it’s coming!

Now that Fabio has released Sabayon 5.1-r1 mini-dvds, you might be wondering what is up with the -r1 appended to the iso file. This seems to cause confusion every time we do this and we try to avoid it, but we had 5.0 iso and were set to release it, but we discovered some last minute bugs and caused a slight delay in release. So our 5.1 iso was revised to revision 1 to take care of the bugs for release. It’s all good, and no there will not be a -r2 or -r3 release of 5.1. The next release at this time is slotted for a 5.2 release.

You may remember my last post on Sabayon with Gnome Shell. Well, with the release of 5.1-r1 Gnome, gnome-shell is included and you can try it out for yourself. Please see my previous post for screenshots of gnome-shell in action.

If you have 5.0 Gnome and been rolling it along and would like to have gnome-shell also to play with, you can install it via our overlay or via entropy with equo install gnome-shell or emerge gnome-shell if using our overlay. It appears we also need to install equo install gir-repository also, emerge it if using portage. To start the gnome-shell interface open up terminal and type in gnome-shell –replace as user, don’t need to sudo or su and it should kick in. To get your desktop back to normal gnome, just close the terminal box. You should be able to start it up with gnome-shell –replace& if you don’t want to keep the terminal box open. I would love to hear feedback on what you guys think of gnome-shell.

Oh yea, one big change on the mini-dvd is the usernames and passwords. They always use to be root with password root and sabayonuser with password sabayonuser. The user names are the same, but there is no passwords now. So if you punch in su on the live mini-dvd, you will get the password prompt, just hit enter and you will be root. I found that hard to get use to after all these years. I kept typing in root by habit and than it would spit the authentication fail message at me. So remember, live mini-dvd, just hit enter if asked for password.

I hope your experiences with Sabayon 5.1-r1 are good. It took a bit longer to get it here, but I think you will find it was worth the wait. I’m hoping Mitch can get the core-cd out now also, so keep an eye out for that release.

Daniel Robbins has created Funtoo, which has grown from a simple blog to gentoo stages to funtoo portage. Funtoo portage is for helping the development of Gentoo. I guess you could call it a community portage tree. The nice thing is, you can still use the gentoo portage tree and it’s really easy to switch between the branches. You can even produce your own portage tree and share it. Please understand that the packages can and will vary between the branches. Daniel even states funtoo isn’t for a production tree, so you’ve been warned. Seriously tho, using regular portage for a production tree can be dangerous so I don’t feel too worried. I wouldn’t recommend this to anyone that didn’t fully understand portage tho. You’re kinda on your own for support and figuring things as Gentoo nor Sabayon can support funtoo portage.

Now the next part is up to you as to where you want you new portage directory. I’m going to use /funtoo

# mkdir /funtoo

# cd /funtoo

# git clone git://github.com/funtoo/portage.git

# cd portage

The next two steps only need to be done once as they will set up your branches funtoo and gentoo.

# git checkout –track -b funtoo.org origin/funtoo.org

# git checkout –track -b gentoo.org origin/gentoo.org

So which branch are you in you are wondering? Simple type

# git branch

Now you should see your branches and the * indicates which branch you are currently using. To switch between the branches use git checkout. For example

# git checkout funtoo.org

# git checkout gentoo.org

Don’t forget to use # git branch to keep track of which branch you’re using. You can see the difference between the two branches by doing:

#git diff gentoo.org funtoo.org

Now you need to break the emerge –sync habit and start using:

# git pull

That will update your branches to latest changes and packages.

One last thing we need to do before using our new trees is to set it in your /etc/make.conf You will need to add:

PORTDIR=/funtoo/portage

Remember, you can put your trees any where you want to, just make sure you keep your paths straight when setting them up. Now you are ready to start emerging like you normally did. Just remember # git pull instead of emerge –sync.

Please make sure you look at Funtoo Wiki and bookmark it. The above information came from First Steps. You can learn more about creating your own tree, using git and contributing back from the Funtoo Wiki.

This doesn’t work with entropy unless you are maintaining an entropy community repo. You could build your packages from Funtoo and dump them into your community repo.

You may run into a really nice piece of software and discover that is it not in portage nor in an overlay. You really want the software and would like the package manager to handle it for easier maintenance. I stress using the package manager for everything. It’s just one of those things you don’t question and follow the proper practices. One of the first things I do is head over to Gentoo’s bugzilla and see if an ebuild has been submitted. In this scenario I will use Galaxium im software as an example. I jump over to Gentoo bugzilla and presto, someone has already done up the ebuild. Now if you’re new to portage you maybe thinking great, but what do I do with these ebuilds. So than we need to look at the gentoo wiki for a guide on 3rd party ebuilds. Let me do a quick walk through of this process. You will need to be root to do this process. Since Galaxium has two ebuilds, we need to create two directory structures, which are:(Note I edited the ebuilds and resubmitted them to sabayon linux bugzilla so I will be using those one – reason for edit was so I could install it on my 64 bit install.)

Since I have been hanging out over at the archlinux forum and seeing their monthly screenshots, I have always liked it when they use a really neat little script to take their screenshots. So I dug around and found the script and changed it to add SabayonLinux to it. Take a peek below and I will explain how to do it.

See how neat that is? It displays all your info so people don’t have to ask what theme you are using or icons etc. I made two different ascii art pics. I’m not an ascii artists so if someone can improve upon the ascii art, by all means do it and let me know.

This is how you do it. First a script needs to be downloaded -I zipped the two files use the one of your choice. Right click on the link and choose save as to save it. You can name them anything you want, just make sure the .pl stays. Now what I did in my home directory is created a folder called bin mkdir /home/username/bin and I put the file into that folder. Replace the username with your actual user name btw. Now you don’t have to use it for screenshots either if you don’t want too, on line 17 of the script you can change my $shot = 0; to my $shot = 1; and than it won’t take a screenshot but still display. Line 19 you can change the time delay. Note you will need scrot installed to do this, so emerge scrot if you don’t have it.

Ok, so you made a folder called bin in your home directory and have the file in there. You have installed scrot and ready to go. I will use the file name info3.pl, but if you changed the name you will substitute the name in the command to the one you gave it. Open up terminal or konsole and issue the command as a normal user perl /home/username/bin/info3.pl and it should display and take a snapshot, remember your delay! You snapshot will be found in your newly created bin folder. How is that for organization?

Now next time you participate in a monthly screenshot thread, you can show off.

I take no credit for this script. I did not create it, only added to it.

One of the scariest things people run into with Gentoo based systems is Portage. It’s not that scary if you just take 5 minutes and read through the material. So you just did a fresh install and have no idea how to install packages. Sabayon and Gentoo have wonderful package manager. Emerge is the client to Portage. We will use emerge to do what we want.

First thing you want to do as root – to do this, open up konsole and type su than

emerge –sync ——> this may take some time the first time. This is updating your package list so you can have access to the latest packages.

After that is complete you are now ready to install the latest packages. You may issues both commands at same time by simply doing emerge –sync && layman -S. That one command will do the same as running both the commands above. So now lets say we want to install the package called foo.

emerge foo ——-> pretty tough huh? What if you just want to update foo since it’s already installed

emerge foo or emerge -u foo ———> either of those will work. The -u option also upgrades all dependencies of that package instead of just the package itself.

You should get into the habit of using the -av or -pv switches so you can see what is going to happen to your system before hand. emerge -av foo will ask with verbose before it actually installs and emerge -pv foo will just do a pretend with verbose and not actually install anything. You don’t want to spend 45 minutes compiling something to discover you forgot a flag or something.

Super now you are adding packages to your system. Installed something you don’t like?

emerge -C foo ——> will remove that package, but it doesn’t remove the dependencies it brought with it. You will have to use depclean for that, but you better know what you are doing before depclean as you will more than likely hose your system. Also note, Portage is case sensitive.

Lets say we want to install or uninstall several packages

emerge foo foo1 foo2 foo3 foo4 foo5 ——–> this will install each package one after another.

emerge –resume –skipfirst ——–> use this option if package foo2 fails in the above command, but you still want foo3 foo4 and foo5 to install. It will resume the installations, but will skip the package foo2.

emerge -s foo ——–> this will find all packages that contain foo. So if you want to install firefox and you are punching in emerge firefox and portage is going there are no ebuilds for firefox you will want to do a emerge -s firefox and you will discover that the package is really called mozilla-firefox.

I highly recommend you install eix as it is the king for searching portage. You don’t want to be without this great tool. It works for finding packages in overlays even. Don’t even think about it, just get it.

emerge eix && update-eix Than all you have to do is eix foo instead of emerge -s foo

Gentoo based systems are an install once and just maintain your system via portage. It takes a while to get the hang of doing system and world updates. You need to understand portage and listen to it as you can run into errors with compiling packages for various reason. You will need to search out the solution via gentoo, sabayon forum or bugzilla. It’s something that just comes to you as you use the operating system

emerge -uaDN –world —–> is the command you will want to get familiar with. After you have done your syncs this command will bring you current with portage. I highly recommend you take a look at a really nice script that will make your life easier for updating. This will do the above command and more, such as help work around blocks and packages that fail.

It’s not necessary to do this daily, but some do setup a cron job to run a world update. I personally do it like once a week. I guess do it as you feel you need to.

People frequently ask about an auto update notification. It’s pointless in the gentoo based world as portage changes every day. As I said, some people set up a cron job to run daily for a world update. You can see for yourself daily changes.

C0mpiling isn’t fast by any means. People are horrified to find out it took 40 minutes to install firefox. I just say back, try openoffice than, you’re talking 6 hours on a fairly decent machine. Luckily there is a binary version of openoffice in portage to ease the pain.

Sabayon Linux is developing a binary package manager that you can use in replace of portage. As of today, it is still in beta and is called entropy that uses the client equo to manage packages. Instead of emerge foo you will do equo install foo. You can even do world updates with equo, but keep in mind that entropy will not have the latest packages like portage will. It will be close to portage, but portage will always have the latest. So if you don’t want to compile your packages, entropy will be for you. There will be a GUI available with entropy also.

Speaking of GUI package managers, I don’t really recommend them. They all have their problems and are just not reliable. Many people have a GUI package manager and use it for browsing portage, but use the command line to actually install the package. Don’t be afraid to use the command line, it’s your most powerful tool you will get your hands on. When all else fails you can normally always depend on your command line. Learn it, can’t stress it enough.

Layman is another handy tool to have. Let’s face it, portage can not contain every single package out there. Overlays help solve this and you can even maintain your own personal overlay if you wish. So if a package is not in portage, check the overlays. You can use eix to search for packages in portage and overlays. Once you find the package, use layman to add your overlay and emerge your package.

glsa-check -p $(glsa-check -t all) – to see what packages will be installed

glsa-check -f $(glsa-check -t all) – to apply updates

It’s definitely something you have to learn and see the Sabayon Linux wiki for even more information on Portage. Bookmark the gentoo wiki as it is full of howtos to follow. Follow the links posted in this post to explore more information. Use the package manager as much as you can as this will help maintain your system with ease. Things installed outside of the package manager are totally on their own and can cause problems.

There are 4 wonderful config files located in /etc/portage/ directory that everyone should get familiar with. These files will help control how your system is built. The four files are package.keywords, package.mask, package.unmask and package.use.

Let’s take a look at package.use. One thing you are gonna have to get to know is USE Flags. They determine how all your packages will be built. You can add and subtract support from a package by simply using this file. Your make.conf file contains USE flags that are being used globally through out the entire system. You should try to keep your global use flags to a minimum. This will cause less conflicts when using emerge/portage.

Lets take for example one of my favorite applications, app-admin/conky. It’s USE flags that it currently can be built with are ( X hddtemp mpd rss truetype vim-syntax wifi audacious bmpx ipv6 nano-syntax). To see what use flags you can use on a package, just do emerge -pv conky and it will display the information you need. So now I can decide which one I want to build conky with.

You can see from the above that I have built in support already for X hddtemp mpd rss truetype vim-syntax wifi and no support for audacious bmpx ipv6 nano-syntax. The – sign means it will not be built with that flag. So let’s say I don’t have wifi and I don’t use vim-syntax so I want to remove them. So as root:

echo “app-admin/conky -wifi -vim-syntax” >> /etc/portage/package.use

Than you will need to reinstall conky to have the effects take place.

emerge -av conky should display that the flags have changed and you should now see that -wifi -vim-syntax is indeed going to take place. If it’s not than issues emerge -avN conky the N stands for New Use to make portage more aware of change.

So let’s recap, it’s best to keep your global USE flags to a minimum and to take advantage of the package.use file to customize your packages. Why build stuff with stuff you don’t need? Save frustrations with portage by thinning down your make.conf. Welcome to the wonderful world of customization and complete control of your operating system!

There are 4 wonderful config files located in /etc/portage/ directory that everyone should get familiar with. These files will help control how your system is built. The four files are package.keywords, package.mask, package.unmask and package.use.

Lets take a look at package.mask, it does exactly what is sounds like. You will use it to mask packages so they don’t install. Why would you want to do this you may ask. There is several reasons why and an example would be you are upgrading your system and you notice one of the files wanting to install has been reported as being broken so you don’t want that package to get upgraded. You will use package.mask to block that package from being upgraded. Lets look at an example of media-video/vlc. Currently the stable version is 0.8.6d-r1 but there is 0.9.0_alpha20080117 available and when I do a world update, it wants to pull the alpha version and I do not want. So I can simple tell portage no by doing as root:

echo “>media-video/vlc-0.8.6c” >> /etc/portage/package.mask

That is telling portage to ignore all package versions above media-video/vlc-0.8.6c version. Notice you can use the = < and > to influence your packages. If you are running out of the ~x86/~amd64 branch, you will frequent that file often. When the next stable release of vlc comes out, I will have to remove the line or change the version to get it so it will install. If you are specifying a version make sure you use the = < > signs, if you simply do a media-video/vlc-0.8.6c it will complain of an invalid package atom. When ever you see invalid package atom, you have entered the line wrong. Trust me, portage will let you know every time.

There are 4 wonderful config files located in /etc/portage/ directory that everyone should get familiar with. These files will help control how your system is built. The four files are package.keywords, package.mask, package.unmask and package.use.

Let’s take a look at package.mask. You’re going to run into something like >> app-admin/filewatcher-2.4.0 (masked by: package.mask) << notice the package.mask. It’s telling you that you need to unmask that particular version. It’s good practice to find out why that particular version is masked. It’s usually masked for a reason as it may cause breakage in the system some where. So if you unmask a file and weird things happen, you know why. In the package.unmask file you will simple add the package. As root – Example

echo “=app-admin/filewatcher-2.4.0″ >> /etc/portage/package.unmask

Notice you can use the = > and < signs with the config files to specify versions. You can’t do app-admin/filewatcher-2.4.0 as that will cause your system to complain of an invalid atom in your config file, instead use app-admin/filewatcher to use what they call a version less approach. This will unmask all versions regardless of version.

This is great for simple one on one packages, but what if you want to unmask a whole suite of packages such as KDE? KDE4 is a great example as it is masked and to unmask every package by hand would be a killer. They have a great tool called autounmask. You can simple emerge autounmask and use that for handling it. It will auto edit your config files adding each package that is needed to properly install the package. An example would be

autounmask kde-base/kde-meta-4.0.1 use the autounmask –help to see options. Than you can simply use the emerge command and install kde-meta, emerge kde-base/kde-meta