LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Arch
User Name
Password
Arch This Forum is for the discussion of Arch Linux.

Notices

Reply
 
Search this Thread
Old 09-08-2010, 02:57 AM   #1
Holering
Member
 
Registered: Feb 2010
Distribution: Slackware
Posts: 157

Rep: Reputation: 22
Is Arch like Gentoo? Can I recompile the base system for my system? Easily?


So once upon a time (few days ago) I did an emerge --update --newuse --world all omgxHAxCKXS to update my gentoo system. So it's compiling everything and sure enough later in the day there's an error. So I tried to emerge the package it errored on and guess what? Emerge didn't do a thing. It didn't even say (no such file or directory for emerge) it just did nothing and wen't back to prompt? So basically my system became borked. I re-downloaded a portage tarball but that overwrote my portage directory and messed up my squashfs filesystem that I made for the portage directory. Yeah I don't wanna deal with all this b.s. so now I'm really looking at arch.

As I write this right now my new gentoo install (chrooted) going from ubuntu (I'm running linux mint) is emerging the linux kernel and keeps getting a checksum failure! Like omg!

So from what I read, Arch seems like a really enjoyable O.S.. Completely rock solid with no b.s. in the way. Really easy package manager (that makes real packages unlike gentoo!) which sounds very similar to ubuntu's ease of use. Also I read that you can pick optional dependencies with each package which sounds very much like gentoo's use flags except it's for each package rather than globally. I.M.O. it's atrocious and tedious to set so many use flags to make the system how you wan't it. What if you change your mind on something later?! Arch sounds just like what I wan't. Oh and if I wanna try something before I decide to compile it later I can do that too without affecting everything else I compiled right?! Sounds alot better to me but how difficult is it after everything is the way you wan't it? What if I wanna update my whole entire system? Can you use unstable packages and have the latest stuff available?

I read someone was trying to recompile just there base install and arch wanted to install other packages that the user didn't even have in the first place. It turn's out it needs them just to do the building process but afterwards they just sit there useless. I guess somehow they figured out how to fix that but it seemed kinda quirky there. I mean I don't wan't abunch of garbage I don't need sitting their. I don't mind the extra wait just to temporarily build the build dependecies (yeah the dependencies for just the building process to build the package you wan't LOL) but will it get rid of it afterwards. Here's the post where this quirk came about https://bbs.archlinux.org/viewtopic.php?id=102418&p=2

So far Gentoo is disappointing for me in that: /usr/portage takes a huge amount of space just to sit there (I'm talking gigs here folks). This is perhaps the worst thing I've ever seen especially considering this o.s. is supposed to be minimal and fast! Ridiculous! It's so much bandwidth to be downloading an entire portage tree to the user's hdd. Wouldn't it be better to have a master portage tree on a server and let everyone's emerge read from it instead of downloading the whole thing, and then reading it from the downloaded tree on the user's hdd which is taking gigs of space. Crazy! It can easily break, use flags are global so if you change even just one use flag it can cause hours of recompiling affecting the rest of your system. If I wan't a package that doesn't exist in gentoo's portage nor doesn't have an ebuild, it'd be very scary and unclean to manually ./configure && make && make install, and then have no way to uninstall it via a package manager. Maybe I'm missing something here but even something like Slackware has what you need to make your own packages. Yeah I have many issues here with gentoo but it's amazing for me to be able to build everything from source so seamlessly. I first heard about gentoo and thought how amazing it was, but it turns out there are other distro's that might do the same thing better. It bums me out knowing what a great community gentoo has and their support and documention is like no other!

So yeah will arch linux fill me in on these flaws I have with Gentoo. If I recompile the base system from source and everything else will it be pretty easy in comparison to Gentoo.

I like Slackware but sometimes recompiling your system from source is true pain! There's no dependency tracking whatsoever and you pretty much have to make your own packages. There's gslapt-get but it doesn't automagically compile everything. SBOpkg I think does that but I never really used it. Oh and it only gives you what's available from slackbuilds.org which isn't too much either... It's nice though since you're learning linux rather than a distro. Also if I don't feel like compiling and wan't to just use something I can install a binary (if I can find it), have fun and then decide if it's worth keeping and recompiling it. Overally I've felt pretty lonely using slackware. And it wears you out alot.

Ubuntu is nice with apt-get. Easy smooth sailing with everything! That's my favorite part about it. A real package manager! But it doesn't do me any good if I can't nit pick and recompile everything with leet uber epic flags and OMG haXIngORsz meLikeLOTSWinDOUGHmanGEErzs cuSTOmxsz.

From what I read It sounds alot like Arch would give me the best of all the distro's I've mentioned.

Would really like to hear what other user's have to say about it in regards to the issues I have with the distro's I mentioned.

Last edited by Holering; 09-13-2010 at 12:45 PM.
 
Old 09-08-2010, 08:56 PM   #2
Meson
Member
 
Registered: Oct 2007
Distribution: Arch x86_64
Posts: 606

Rep: Reputation: 66
c'mon man, you really think someone's going to read that =)

IMHO Arch is nicer than Gentoo. Arch's packages are binary by default but you can _easily_ recompile any package you wish. You can recompile for the simple reason to have -march=native, or you get change ./configure options, make options, really anything you like. I typically use binary packages but I recompile the kernel.

Again, this is a lot nicer because you don't _have_ to spend your entire life recompiling for updates.

Do you have any questions about the specifics of PKGBUILDs?
 
Old 09-08-2010, 09:15 PM   #3
Meson
Member
 
Registered: Oct 2007
Distribution: Arch x86_64
Posts: 606

Rep: Reputation: 66
Ok, so I started reading through your post =( and I'll answer some of your specific questions.

The optdepends aren't really like USE flags (I tried Gentoo a few weeks before I got fed up and discovered Arch, haven't looked back). The handling of optdepends at this point in time is pretty minimal, but there are discussions on the bugtracker and mailing list about things to be done, someone just needs to take the initiative.

You can use unstable packages from the [testing] repository. And unlike my experience with Gentoo, you can choose a single [testing] package if you want, whereas with Gentoo I recall being forced to go all or nothing on the stability. It's also quite easy to manually update a package if the devs don't quite have the time. It usually requires not much more the downloading the PKGBUILD and changing the version number variable =)

Every packages has 0 or more dependencies and make dependencies. You may not want gcc on your system, but obviously you'll need it as a make depend to build a package. In fact, I don't think gcc even shows up as an explicit makedepend anyware. In any event, it's quite easy to remove uneeded packages with
Code:
pacman -Qdt # list packages which were installed as dependencies but not currently a depend of another
sudo pacman -Rcs $(pacman -Qqdt) # remove the packages, all their dependencies, and anything that is dependent on them
In fact, the popular AUR package "yaourt" will automatically prompt you for a "-Rcs" when you specifiy "-Qdt"... I'll explain further if you ask =)

Arch packages are .tar.xz (used to be .tar.gz). By default when you choose to install a package, it's saved on your computer under /var. When you build your own package, the source code is downloaded directly from upstream's website, it is not stored on your computer. As for handling the .tar.xz's, "pacman -Sc" will remove all but the latest version of each package that has accumulated. "pacman -Scc" will remove all cached packages. And there are options in pacman.conf to choose to not store the pkg files at all. I'd say 1 - 2 gigs is normal with the default settings, but you can _easily_ change the behavior.

Arch's documentation (Wiki) is on par with Gentoo's. In fact the Arch wiki and Gentoo wiki are two of my most used sources of info. The message board is pretty slow, but the mailing lists get a lot of activity. The IRC channel is also very popular (usually around 850 users).

I absolutely love Arch. The feature that apt-get has that pacman doesn't is that it can handle changes in configuration files. pacman has a very simple algorithm for how it handles changes in config files. If the config from the old version and new version is different *and* your config is different from the both of them, it will store the new file with a .pacnew extension and tell you to take a look. Checkout "man pacman" it's very clear.

You will learn a lot about _*nix_ with Arch. Not just the distribution itself. It has just the right amount of mandatory DIY. And unlimited optional DIY. You don't even have to do get your hands dirty but you can just read the PKGBUILDs to see a lot about how packages are set up and compiled.

Oh, and Arch's installer is perfect - the devs have done a great job with it. Besides the fact that the same image can be used for a CD or a USB without any extra work. It also has both x86_64 and i686 on the same image (if you want). The core_dual image encompasses all of the other images in ~600 mb. The only reason the others are available are for size restraints.

You didn't ask, but Arch packages also have minimal (usually 0) non-vanilla patches. (A plus in my opinion)

Last edited by Meson; 09-08-2010 at 09:33 PM.
 
Old 09-08-2010, 09:32 PM   #4
Meson
Member
 
Registered: Oct 2007
Distribution: Arch x86_64
Posts: 606

Rep: Reputation: 66
I'll just add some of the benefits of Gentoo over Arch.

The ability to have multiple versions of the same package is built in to Gentoo. I've never tried it with Arch, but I suppose it would take a bit of work, there's no support for it and the only discussion even remotely related has been about the possibility of creating a new line of packages for each 2.6.x kernel so multiple kernels. (On kernels, the are a number of customize kernel's in the AUR, like with the BFS patch, and those install side-by-side with the official Arch kernel).

Along the same lines, with Arch, you're pretty much expected to keep your system up to date. If you decide, for example, that you want to stick with a particular version of Firefox indefinitely, you'll probably need to edit the PKGBUILD and make sure it's built statically.

However, back to Arch's benefit. Even though Gentoo is also a rolling release system, I found that it took a long time for packages to become stable. I even remember it taking quite long for there to be unstable versions of updated software. With Arch, new upstream versions are very quickly available, if not in the main repos, in testing. I'd say Arch is probably #1 in terms of releasing software quickly. In fact, I often don't even have a chance to realize something like Firefox has a new version out before I see it update on my system; the devs are just that fast.

The only thing that takes a few weeks is the kernel (Dev's usually wait for the 2.6.x.1 release upstream to move from [testing] to [core]), and upstream updates that involve a lot of packages. For example xorg-server 1.9 is still in [testing] (but I could easily install it and all of the updated xf86-* drivers to go with it, and it'll probably be pretty stable at that).'

There. I think I've written enough about Arch to warrant a minimum of a 1 month commitment from you =)

Last edited by Meson; 09-08-2010 at 09:34 PM.
 
Old 09-08-2010, 11:50 PM   #5
Holering
Member
 
Registered: Feb 2010
Distribution: Slackware
Posts: 157

Original Poster
Rep: Reputation: 22
Lol thanks! Yeah I guess my post was a bit excessive. I might clean your house for a month if you pay and feed me

Yeah I like the pkgbuilds. They remind me alot of slackware's *.SlackBuild scripts.

I'm actually running arch right now and it seems good. It's very bare bones with just the basic necessities. Much like slackware which I've used for years so I kinda like that. Not only that but it's got just the extras I'm looking for. Dependency tracking, making packages, updating the entire system, etc.

I'm still figuring out how I'm gonna recompile my entire system from source code.

This is the reason why I started using Gentoo. I was recompiling slackware from source but it's just so much work omg! LOL! I made basic scripts that would run every *.SlackBuild from each source folder (copied from slackware dvd sources directory) after replacing the cflags cxxflags with my own. But once in a while I'd get a really stupid make error that made absolutely no sense. I don't go heavy on cflags either. Just according to my system specs and that's it.

Of course I got fed up with gentoo and got rid of it due to it breaking. I really don't mind using my system and then deciding if I like it the way it is, to recompile everything from source later overnight && shutdown -h now.

I'm having a little trouble with arch installing audacious 2.4.X (and others I'm sure). I uncommented the testing repository (and the include line) in /etc/pacman.conf and it always wants to install audacious 2.3.X which is old. If you go here http://www.archlinux.org/packages/extra/i686/audacious/ you can clearly see that audacious 2.4.X is listed and this seems to be a stable package to top it off... I've synced a few times already (don't wanna abuse the servers) and tried with abs but it just doesn't wanna do it. I think I may have overlooked something. Could it have something to do with the mirror I selected? Would a different mirror provide more updated packages?

Last edited by Holering; 09-08-2010 at 11:51 PM.
 
Old 09-08-2010, 11:54 PM   #6
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
Also following this thread ...

Slackware is a binary distro, compiled to the lowest common denominator of CPU. If you want
to change any apps you can, best done with SlackBuild scripts, and you should keep up with them.
Updating Slackware is a crap shoot ... read CHANGES_AND_HINTS.TXT, as well as other release notes.

Arch is a rolling binary release, with customization available. Never used it so can't say more.

Gentoo is a rolling source release, with customization available. Used it a bit, and it suits my tastes.

Beyond installing one needs proper documentation for what the distro does that makes it different, where
config files are, ect. IMO Gentoo is the best documented of the three by far. Seems Danny Robbins' legacy
lives on after he left the project.
 
Old 09-09-2010, 12:55 AM   #7
Holering
Member
 
Registered: Feb 2010
Distribution: Slackware
Posts: 157

Original Poster
Rep: Reputation: 22
Well I'm running pacbuilder right now which is great! I can't believe how many additions there are for arch's package managing. The potential is limitless!

My only gripe right now with pacbuilder is it seems to not rebuild packages in the correct order... It finished compiling-installing audacious before it recompiled gtk+. Also I don't think it'll recompile binutils-gcc-glib2 in the correct order but that's asking for too much I.M.O.. I don't even know if gentoo does this properly since they have to be cross compiled three times before they're fully optimized!

So far arch seems like a really nice distro. I always felt good with slackware but when you wanna recompile the system from source it can suck the life outta you. Eventually you'll get sick of all the work you're putting into it. Even if you're learning linux it can be very draining and frustrating at the same time!

Arch seems really great so far!

P.S. : Still can't figure out why arch isn't using the latest packages available... Oh well I'll just leave it for now.

Last edited by Holering; 09-13-2010 at 12:51 PM.
 
Old 09-09-2010, 06:02 AM   #8
Meson
Member
 
Registered: Oct 2007
Distribution: Arch x86_64
Posts: 606

Rep: Reputation: 66
The order of the repositories in pacman.conf matters. If you have [testing] first, all of it's packages will override the other repos automatically. If you have [testing] last, you will need to specify testing when installing a package, for example:
Code:
sudo pacman -S testing/kernel26
.

I've never heard of pacbuilder, but if you're going to start using some AUR packages, you'll probably want to install yaourt. It's a wrapper for pacman which basically just adds the ability to install/upgrade/etc AUR packages in the same way you'd do official packages. So
Code:
y -S pacbuilder # I alias y='yaourt', I also alias update='yaourt -Syu --aur
.

"abs" is a useful thing to have too.
Code:
sudo abs #download all PKGBUILDs (and addition files int /var
sudo abs core/kernel26 #get a specific pkg from a specific repo
Then you can copy it over into ~/builds or something and simply run makepkg.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to make an image (back-up) for easily restoring tweaked operating system CharlieBucket Linux - Software 2 09-23-2007 04:32 PM
Gentoo-like "base" system install for slackware 9.1 busbarn Slackware - Installation 5 12-14-2005 11:52 PM
Remove all except base system? scheidel21 Debian 1 09-23-2005 06:30 AM
swaret! keep your slackware system up to date easily. VERY NICE PROGRAM ratbert90 Slackware 1 09-22-2003 02:42 PM
Whats your base system? Shak Linux From Scratch 13 04-29-2003 12:04 AM


All times are GMT -5. The time now is 03:51 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration