Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
evol262
Nov 30, 2010
#!/usr/bin/perl
I'm not sure compiling things from the AUR is much better.

Has Arch fixed their "QA is not our responsibility" philosophy? Last time I ran it, they pushed a new (incompatible) version of ncurses that broke half the packages on my system.

Adbot
ADBOT LOVES YOU

evol262
Nov 30, 2010
#!/usr/bin/perl

Comatoast posted:

The AUR is incredibly easy.

yaourt -Sy packagename --noconfirm

While I don't disagree, I'm really not sure how this is any better than "emerge packagename", since you're compiling it either way (and compiles with Gentoo were the complaint).

Carthag posted:

Can anyone tell me why this doesn't work as expected (apache 2)?
code:
	RewriteCond %{HTTP_HOST} ^subsite.website.com$
	RewriteRule ^/(.*)$ [url]http://www.newurl.dk/[/url]$1 [QSA,R=301,NE]
When I try accessing http://subsite.website.com/Literally_whatever I get a redirect to http://www.newurl.dk/Literally_whatever, but if I just access http://subsite.website.com/ with no path, I get no redirect at all?!

^/(.*)$ ought to match a request for "/" in my book.
Is there a reason why you're not just using:
code:
        RewriteRule ^(.*)$ [url]http://www.newurl.dk/[/url]$1 [R=301, L]
If you're redirecting an entire site?

Inquisitus posted:

Which distro is the better choice for a small-scale (personal) VPS: Ubuntu or Debian?
Whatever you're more comfortable with.

Inquisitus posted:

It'll mostly be for my own personal projects with a few small-scale websites, so I'm not too worried about utmost stability and would rather have access to the most up-to-date packages. Supposedly Debian's slow release cycle means Ubuntu is better in this regard?
Ubuntu is essentially Debian unstable. Just use that. Debian's much better about having, ah... reasonable dependencies on packages, so your VPS won't get crapped up quite as fast.

Inquisitus posted:

Also, what's the difference between vanilla Ubuntu and Ubuntu Server? Is the distinction worth worrying about?
GNOME/KDE/whatever. CD has BIND, Apache, other server crap. Basically the same, marginally different kernel (which doesn't make a difference if you're on OpenVZ/Xen PV anyway, as far as I know).

evol262
Nov 30, 2010
#!/usr/bin/perl

Inquisitus posted:

I'm leaning toward Debian in that case. I'll see if they're willing to set me up with testing/unstable, but they might be reluctant screw around with specific distros/releases rather than using the pre-created VMs, so is it simple to upgrade from Debian stable?

Just to say, you're ordering a VPS. Learn to manage it yourself. You could install Gentoo in a chroot and swap over to it from there. Makes no difference to them, really. Templates are for their convenience, but you can do whatever.

evol262
Nov 30, 2010
#!/usr/bin/perl

angrytech posted:

Does anyone know anything about bind? I'm setting it up on my server and it seems to be having problems.
/var/log/syslog shows:
code:
Jun 10 13:10:34 mydomain named[29818]: zone mydomain.net/IN: NS 'mydomain.net' has no address records (A or AAAA)
Jun 10 13:10:34 mydomain named[29818]: zone mydomain.net/IN: not loaded due to errors.
Jun 10 13:10:34 mydomain named[29818]: running
/etc/bind/zones/mydomain.net.db has:
code:
$TTL 86400
mydomain.net.      IN      SOA     8.8.8.8 admin.mydomain.net. (
                                                        2006081401
                                                        28800
                                                        3600
                                                        604800
                                                        38400
 )
mydomain.net.    IN      NS              mydomain.net.
mydomain.net.    IN      MX     0        mydomain.net.
mydomain	  IN	  A	   	  int.ern.al.ip 

That's not how you configure BIND. I don't see reverse DNS either, but eh.
code:
$TTL 86400
mydomain.net.     IN   SOA mydomain.net. root.mydomain.net. {
#serial and poo poo here
                       }
                  IN   NS ns1.domain.net.
                  IN   MX mail.mydomain.net.

ns1               IN   A $ip_address
mail              CNAME  ns1

evol262
Nov 30, 2010
#!/usr/bin/perl

Anjow posted:

Does anyone know why httpd is giving this error or how I can fix it? At present, the virtual IP is assigned to no interface on either node.
Can you dump the heartbeat init script on pastebin or something? I suspect the author is mistaken.

evol262
Nov 30, 2010
#!/usr/bin/perl

FeloniousDrunk posted:

Nope, no floats in what I have to work with, but whoever made the Access db thought it would be fun to have columns titled "Student?" and other stuff that MySQL doesn't like so I just munged the column names and added in backtick quoting for the export because elsewhere they were using some MySQL keyword as a column name.

Also something about boolean fields being 'Y' or 'N' I think, but it was a while ago.

IIRC, FALSE is 0, and TRUE is -1 due to idiotic VB bitwise booleans (and Jet being written in VB).

evol262
Nov 30, 2010
#!/usr/bin/perl

angrytech posted:

Boom! Got it working. Thanks evol262, you put me on the right track; and stathol for showing me named-checkzone, which is way easier than restarting the damned server just to look for error messages.
My /etc/bind/zones/mydomain.net.db now has this:
code:
//a bunch of lines of stuff
mydomain.net.	IN      NS              mydomain.net.
mydomain.net.	IN      MX     0        mydomain.net.
mydomain.net.	IN	A		ip.of.my.server
which seems to work

Yay. Now add reverse DNS. You may want to chroot BIND, too.


Anjow posted:

http://pastebin.com/B02URkr2

It does seem strange to me that one wouldn't have to have that IP assigned to anything. Some other tutorials make reference to using ipvs to deal with the IPs.

I don't see anything in the init script that would create a virtual IP, and absolutely nothing that'd start Apache. I mean, you may want to recursively grep through /etc/ha.d, but I'd suggest you use one of the other tutorials.

evol262
Nov 30, 2010
#!/usr/bin/perl

Hughmoris posted:

Doesn't work, tells me my password is incorrect. This seems to be a common problem with Windows 7 and Samba for home use. Anyone else run into it?

smbpasswd -a $username

Underflow posted:

spankmeister posted:

Actually in ubuntu they will be sdX as well.
Aha, didn't know that.
I think this started in 2.6.19 or something. Any modern Linux system should be that way.

evol262
Nov 30, 2010
#!/usr/bin/perl

badlarry posted:

Thank you so much, I really appreciate you posting that and breaking it down for me. I do not have time to get through it tonight, but you have just provided my first glimpse of Perl, which is awesome. Most of my exploration of the power of computation has come through working on pet projects, and figuring out tools will work best in getting around each subsequent roadblock I come across in trying to finish them. So in this case, Perl is now at the top of my list of topics explore. Gracias.

Perl is a great Swiss Army Knife. I can't think of any UNIX variants that don't have Perl (even awk is sometimes iffy if you're on Linux, since HP-UX/AIX/Solaris don't have gawk in the path by default).

Even more so if you love regular expressions, where it really shines.

evol262
Nov 30, 2010
#!/usr/bin/perl

Longinus00 posted:

Perl is indeed ubiquitous but what is this line supposed to mean?

That for cross-platform scripting, if necessary, GNU awk doesn't function exactly like BWK awk, nawk, or SysV awk, making Perl a better choice.

evol262
Nov 30, 2010
#!/usr/bin/perl
It can, but it's more of a pain.

This is probably a better bet, unless you want to get into IPSEC. The Arch instructions are pretty generic (should work on Debian).

evol262
Nov 30, 2010
#!/usr/bin/perl
ldapsearch -x -d5 ${whatever}

Post results.

Check ldap.conf to make sure it's not pointing at something stupid (like localhost).

Is IPv6 enabled?

evol262
Nov 30, 2010
#!/usr/bin/perl
You'll probably want to actually configure ldap.conf, but does this look like a problem to you?

quote:

Some text
TLS: peer cert untrusted or revoked (0x42)
TLS: can't connect: (unknown error code).

ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
What if you don't bind with TLS/SSL?

Is there a cert out there somewhere from your university that you can grab?

evol262
Nov 30, 2010
#!/usr/bin/perl
This seems odd (are you sure it's not '\.??*' ), but...

. -> matches any character
?? -> makes it optional (tries not to suck it in)
* -> match the preceding pattern zero or more times

As opposed to:

? -> makes it optional (greedy -- grabs it as part of the match if it can)

So:
.??* should match any string you dump in, really, since it'll reduce down to .* in 99% of cases.

code:
irb(main):026:0> test
=> "abc"
irb(main):027:0> test2
=> ".abc"
irb(main):028:0> test3
=> "."
irb(main):029:0> /.??*/.match(test).to_s
=> "abc"
irb(main):030:0> /.??*/.match(test2).to_s
=> ".abc"
irb(main):031:0> /.??*/.match(test3).to_s
=> "."
Reliably:

code:
^\.\w+?*
Or:

code:
^\.[^\.].+
What language is this?

evol262 fucked around with this message at 21:35 on Jul 5, 2011

evol262
Nov 30, 2010
#!/usr/bin/perl

JHVH-1 posted:

The O'Reilly book Mastering Regular Expressions is pretty good. I learned a bit just going through it. Didn't use it for a long while and forgot most of it though. It covers the different flavors of regex, so not just perl.

Practically every language uses Perl Compatible Regular Expressions (PCRE), including Java and .NET, with minor syntactical differences. @"" in .NET, r'' in Python, and the like for raw strings, matching can be:
code:
Match re = new Regex(@".*").Match(somestring);
re.sub(r'.*', r'replace', somestring)
/.*/.match(somestring)
/.*/ =~ $somestring
etc...
But they all use the same basic syntax for the regex itself, it just comes down to how you call it.

The holdouts are mostly awk and shell scripting (my personal take being that you're better off using Perl for these cases anyway).

BnT posted:

I thought that the limitations on firewall VPN sessions were not due to memory and more due to licensing profit or CPU in low-end hardware.

Looks like my VPS uses about 650KB of memory for a non-interactive SSH tunnel and more than 2MB with a full shell.
CPU and memory both matter for VPN sessions, since the router needs to keep track of the state table/routing table and such for the VPN clients. 10-25 is a very real limitation if you have some consumer router with a 100Mhz CPU and 16MB of RAM.

evol262
Nov 30, 2010
#!/usr/bin/perl
Such as...?

evol262
Nov 30, 2010
#!/usr/bin/perl
I hear this from the people who absolutely, positively can't live without htop (or whatever eye-candyish tool they happen to be using is), and I'm still not sure if inotify exists for BSD yet (or if you have to use kqueue), but as far as "things I need to get work done", I haven't found anything.

For that matter, Solaris is fine.

I guess I don't tend to think of fancier/rewritten versions of existing utilities (iotop, htop, iftop, whatever) to be mandatory, since sar/iostat/vmstat and their ilk will also be on AIX and many embedded systems if you happen to touch them, instead of being the AIX guy who can't live without smit, HP-UX guy who can't do without sam, or Linux guy who "needs" htop.

evol262
Nov 30, 2010
#!/usr/bin/perl
yes | command

Yes, HP-UX has yes.

evol262
Nov 30, 2010
#!/usr/bin/perl
My personal take is going to be not running Ubuntu in a corporate environment. Use Redhat, Scientific Linux, CentOS, SuSE, whatever. Something with a support contract and tools to support a large deployment in an enterprise setting.

As far as a "good 100% Linux alternative to AD"? Nothing I'm aware of. Sad, really, but nothing.

You can use FreeIPA (which is likely to be your best starting point) to handle all the ugliness of rigging LDAPS and Kerberos to work together for authentication and SSO (which is a big part of what AD does), but there's just no equivalent to some things.

Getting automount working isn't that hard. Getting automount working with NFSv4/GSSAPI authentication is harder, but not impossible.

There aren't "logon scripts" that I've ever seen. You could probably force this with SELinux rules to arbitrarily prevent people from executing `ssh ${somehost} /path/to/a/shell/you/dont/have/managed`, but otherwise, there are always users who are going to realize that you fake this out in .bash_profile, .profile, or some other place and get around it.

Same case for GPO, but worse.

You can sort-of solve both of these problems with Puppet/Chef/CFEngine, but it's going to be a lot of work for you, and there are still likely to be holes in your game plan.

Additionally, it's difficult to get software pushed to automagically install on user's workstations. Sure, Puppet/Chef/whatever can do it in a semi-distro-agnostic way, but you're going to want something like Spacewalk/Satellite (depending on whether or not you want to pay for licensing or use an open-source version that may break on you) or Landscape, which I've never used one way or another.

In truth, Windows doesn't cost all that much for "small businesses". SBS is a good product, and cheap. Small businesses are buying workstations that already have Windows licenses. Server 2k8 comes with Hyper-V out of the box, and you can virtualize more on top of that. And Windows support personnel/admins are cheaper. Plus the cost of retraining users. And their software may not be available on Linux.

Even assuming all these ducks were in a row, Ubuntu is a terrible choice for a business compared to one of those "enterprisey" distributions. Remember when they implemented PulseAudio and spent the next 3 releases with users trying to rip it out of the system and go back to ALSA because it was a terribad implementation that 5% of applications supported well? Or Unity? Or the number of people who have show-stopping bugs when they try to dist-upgrade to the new release? Do you want to deal with these things in your business?

evol262
Nov 30, 2010
#!/usr/bin/perl

Longinus00 posted:

You can buy a support contract directly from Canonical for Ubuntu. Can you do that with SciLinux or CentOs?
No, you can't, but it's sort of irrelevant. If you're going to buy a support contract, Redhat is about price equivalent with Ubuntu.

Additionally, a lot of 'enterprisey' software is RPMs or nothing. If you buy an HP server, and you want the RAID monitoring tools, they're in RPMs. You could use alien to unpack them, track down dependencies yourself (libstdc++.i386, for one), and butcher the scripts with a new LD_LIBRARY_PATH to point to the right location, but this is a lot of unnecessary work for you, the admin.

Same goes for Oracle, SAS, UPS configuration utilities, iLO/DRAC/whatever, Symantec Endpoint Security, and a fuckload of other packages.

To the user, Ubuntu has sort of become Linux. The enterprise (and the tools you may use in the enterprise) simply doesn't see it that way. It's RHEL or go home unless you're in webhosting or building a large environment from scratch and you have a team of admins/developers to hammer out all of these issues.

Longinus00 posted:

Whats wrong with pointing all the computers to a local repository and turning on auto update?
That you can't enforce anything reliably. Want your developer's workstations to have a newer version of Perl than your (presumably QA-tested) production machines? Too bad.

Application A works with Python 3, but Application B only works with Python 2.6, and Application C with Python 2.4? Want to set up a new app server and get the right version of Python on there? Too bad. Application B works with Python 3 now, and you want to push Python 3 to those application servers, along with a new version of the application? Too bad. But it's dead simple in Satellite (and presumably Landscape).

Yes, you can set up multiple repositories, but that's going to be a lot of manual work for you, and there's little reason to do it when solutions exist.

Lastly, and this is more of an ideological distinction, but why would you support Canonical? They rebase to Debian unstable and fork, but don't commit much upstream, and their business model relies on support contracts (which would be mostly unnecessary if the aforementioned enterprisey tools ran on Debian without hacking at them) and closed-source software (Ubuntu One, Landscape). What do they send back? Upstart?

Ignoring the number of kernel/gcc/whatever developers Redhat employs, it's notable that their entire business model is open-source. Buy support contracts and licenses if you want, but the code for Redhat Directory Server, Satellite, RHEV-M, Redhat Cluster Server, and everything else is entirely open, and hosted by them.

If you're at a small company, and you want software management, you can buy Satellite, or you can follow Redhat's instructions for installing Spacewalk (which is functionally identical -- Satellite is forked from Spacewalk, not the other way around, and primary development is in Spacewalk). The replacement (Katello)? That's open-source, too.

They buy companies and open-source their software (see: Redhat Directory Server, Redhat Certificate Manager, JBoss, RHEV). Which would you rather support?

evol262
Nov 30, 2010
#!/usr/bin/perl
Huh? HP publishes the Proliant Support Pack for CentOS themselves.

evol262
Nov 30, 2010
#!/usr/bin/perl
Doesn't handle laptops and synchronization when you can't reach the NFS server.

evol262
Nov 30, 2010
#!/usr/bin/perl

Bob Morales posted:

I think they get too much credit for hardware support out of the box, because it's not like like (to my knowledge) Canonical went in and wrote a million drivers for all the low-end (consumer) network and sound chipsets out there.
Granted, but the restricted-driver-manager is fairly slick, compared to getting binary drivers (and NDISwrapper in particular) running yourself on Slack/Debian/whatever.

Bob Morales posted:

Fedora/OpenSUSE were always on the level of whatever Ubuntu release was out there at the time. Maybe people just found apt-get easier to use than RPM/Yum, and Ubuntu putting a pretty face on it all was the kicker.
SuSE was always fine, but Fedora still sort-of has this problem. The official repository is pretty sparse compared to enabling multiverse and browsing with Synaptic.

angrytech posted:

I'm calling it: this is the next thing that Canonical fucks with fixes in Ubuntu 13.04 vibrating velocipede.
Seriously though: In the last several years Canonical has done more to drag Linux into the future than anyone else, with the possible exception of RedHat.

I, ah...

Who do you think employs Lennart Poettering (the developer of Avahi and PulseAudio), and who employed Kristian Høgsberg when he started writing Wayland? It's not Canonical. Moreover, Poettering excoriated Canonical for their ill-tested PulseAudio integration (it sort of just worked on Fedora when they merged it).

I want to like Canonical, but I can't think of a single thing they've done to "drag Linux into the future" other than increasing adoption with installfests and free CDs. Unity is a step backwards (in terms of fragmenting the community, they should have just contributed to GNOME3 if they wanted a new desktop environment).

evol262
Nov 30, 2010
#!/usr/bin/perl

juggalol posted:

The officially supported Fedora repos contain, as a rule, 100% free and open source software distributed under community-friendly licenses. Projects like EPEL and rpmfusion make it pretty easy to install software that don't meet those standards, but they won't be considered for inclusion into the main Fedora project.
Yeah, I'm aware of that, but it doesn't help the newbie who's looking for Flash, MP3 codecs, binary drivers, or whatever and has no idea that EPEL/RPMFusion exist.

evol262
Nov 30, 2010
#!/usr/bin/perl

spankmeister posted:

Anybody know if it's possible to add a shared library to an executable without recompiling. I.E. I need to convince this executable that it should also load some lib next to the ones it already does.

To make it more fun: HP-UX 11.0 on PA-RISC, the binary is PA-RISC1.1

LD_PRELOAD and SHLIB_PATH (equiv to LD_LIBRARY_PATH for PA-RISC1.1) does not work.

I can use chatr to change a bunch of stuff but I can't seem to get it to work.

An alternative would be combining two shared libs into one? I tried ar x on the libs so I could ar them into a new lib but ar doesn't seem to understand the lib's format.


Yeah I know it's crazy but recompiling or otherwise fixing this issue is not really an option.

Mind giving the output of chatr ${executable}?

Is this 32-bit PA-RISC code or 64-bit?

Either way, I'm not at all sure it's possibly without the actual object libraries -- ar won't touch shared libraries, and ld might be able to with -rpath, but I've never tried it, and it's HP-UX :black101:

evol262
Nov 30, 2010
#!/usr/bin/perl

covener posted:

Can you create a fake libresmon that runtime links with the real one and has the addl symbol, then put it in SHLIB_PATH? You might need to use chatr to have it forget about the baked in libresmon path.

I played around with that this morning. I don't think it's possible without the actual object files, assuming libresmon is shared, but my ld-fu isn't all that great, either.

Options seem to be:

Get elfedit on there. You can `dyn:value -s DT_NEEDED librescli.1`. I have no idea if elfedit understands SOM PA-RISC 1.1 executables, though. Probably not. If you can find PA-RISC 2.0 code for it compiled with +DAportable, maybe.

Get the source, or a patch. I'm guessing from the 2004 comment that you're on 11.11 (I don't think 10.20 was supported that late, but maybe wrong).

Force LD_PRELOAD. I know you said it doesn't work, which is confusing, since that's exactly what LD_PRELOAD is supposed to do:

# file write
write: PA-RISC1.1 shared executable dynamically linked -not stripped dynamically linked
# chatr write
write:
shared executable
shared library dynamic path search:
SHLIB_PATH disabled second
embedded path disabled first Not Defined
shared library list:
dynamic /usr/lib/libsec.2
dynamic /usr/lib/libc.2
shared library binding:
deferred
global hash table disabled
plabel caching disabled
global hash array size:1103
global hash array nbuckets:3
shared vtable support disabled
explicit unloading enabled
runtime checks disabled
static branch prediction disabled
executable from stack: D (default)
kernel assisted branch prediction enabled
lazy swap allocation disabled
text segment locking disabled
data segment locking disabled
third quadrant private data space disabled
fourth quadrant private data space disabled
third quadrant global data space disabled
data page size: D (default)
instruction page size: D (default)
nulptr references disabled
shared library private mapping disabled
shared library text merging disabled
# ldd write
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libsec.2 => /usr/lib/libsec.2
/usr/lib/libm.2 => /usr/lib/libm.2

# LD_PRELOAD=/usr/lib/libil.2 ldd write
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libsec.2 => /usr/lib/libsec.2
/usr/lib/libm.2 => /usr/lib/libm.2
/usr/lib/libil.2 => /usr/lib/libil.2
/usr/lib/libm.2 => /usr/lib/libm.2

evol262
Nov 30, 2010
#!/usr/bin/perl

spankmeister posted:


edit: I GOT IT TO WORK

I set the library binding to nonfatal, in addition to deferred (chatr -B nonfatal).
This means that the binary will keep running instead of being killed when it finds an unresolved symbol.

Now I need to see if the drat thing will actually do what it's supposed to and not crash horribly or something.

Here be dragons.

evol262
Nov 30, 2010
#!/usr/bin/perl
Ripping my hair out on a new Pacemaker/cman/(OCFS2|GFS) config. I can't use the Pacemaker integration with OCFS2, since the Fedora team, in their wisdom, decided to remove the .pcmk.

Supposedly, I don't need to configure fencing in /etc/cluster/cluster.conf (the cman part, of course), and Pacemaker manages things fine if I have o2cb's cluster personality set to o2cb (rather than pcmk, which is unusable, or cman), but I lose fcntl() that way, whereas cman supports it.

o2cb/OCFS think they're running fine under cman, and the control daemons are brought up properly, but I'm unable to mount anything (which works fine with the volumes/o2cb tuned to o2cb as the cluster manager). OCFS2 volumes and GFS2 volumes (just to test them) both bomb out with something akin to:

dlm_join_lockspace no fence domain

STONITH is configured in Pacemaker, fenced is running (with no errors in the logfile there), and everything seems peachy. Except I can't get cluster filesystems to mount. Has anybody dealt with this before?

evol262
Nov 30, 2010
#!/usr/bin/perl
At least SMF can give you actual error messages. My biggest complaint with systemd (at least the way it's implemented on Fedora, and presumably RHEL7 at some point in the future) is that debugging output is pretty much worthless.

Let's say, hypothetically, Pacemaker. systemctl start pacemaker.service fails. It says to check systemctl status pacemaker.service, which tells me that... it failed. Helpful. If you're on the console, and the kernel isn't set to 'quiet', you might see something useful, but I won't be happy with systemd until they make it give me useful error messages without dissecting systemd scripts/sysconfig and putting the pieces together manually until I see why it failed.

evol262
Nov 30, 2010
#!/usr/bin/perl

ToxicFrog posted:

I tried Arch sometime last year and eventually decided that I didn't like it and switched back to Mint + OpenSUSE.

gently caress if I can remember why I didn't like it, though. Maybe I should initiate a VM and try it again.

Because, as near as I can tell, they don't actually QA test anything. I've used Arch off and on for a while, and I like it (with caveats), but as an example:

Last summer-ish, they pushed out an updated version of... something. I'm thinking it was libreadline or ncurses. Half the packages on my system (from the repos, not AUR) were linked against the old, now nonexistent (on my system) package.

Pacman worked.

zsh didn't. bash didn't. vim didn't. psql didn't. perl didn't. Etc.

The Arch user elitism/stupidity:

quote:

switch to arch and be amazed. Seriously, they seem to be the only ones that have any understanding on how to set up linux. pacman is a cinch to learn, the aur makes installing third party software a breeze.
Doesn't help matters either. Tends to be newish Linux users, who don't have any idea what BSD init vs. SysV init means, have poor comprehension of what bigger packaging systems (both deb and RPM) offer in terms of validating what's on your system, et al. Plus third-party software is almost always distributed as debs or RPMs (or both), so you don't need an AUR (read: bad reimplementation of Portage) on Debian. It's the new Gentoo:

quote:

Everything is really well supported and the community is almost as active as ubuntu, except almost everyone has more experience.
Except Gentoo (helped by the -mm kernel) usually worked on newer setups, as opposed to Arch, where getting it booting as a KVM guest involved dicking with grub's device.map to get it to recognize virtio disks until very recently (it may still be this way, I just haven't installed an Arch VM in a while).

What it has going for it: it's the new Gentoo. If you want to experiment with minimalist, BSD-ish systems and you're opposed to Slack for whatever reason, much less just installing FreeBSD (which is more minimalist, has the same level of package support, and has better documentation to boot), Arch is a blast.

evol262
Nov 30, 2010
#!/usr/bin/perl

Zom Aur posted:

That's strange, because I don't remember encountering any such issue a year ago. Granted, I wasn't very active on their forums during that summer. Judging by the news, no warning was issued either about an update that'd break your system when updating without taking some precautions (which could just mean that there was one they weren't aware of really). It does sound more like a mirror didn't sync completely, or maybe you were running with the testing repo.
I wasn't following the forums/RSS very closely at the time, but it definitely wasn't the testing repo. Wasn't awful to recover from by reinstalling after backing up /etc and /home, but not pretty, either.

Zom Aur posted:

Regarding your issue with arch and a KVM, I suppose you could try grub2. Arch still uses the old grub as default, but you can install grub2 after the install is completed, if you want to give it another shot.
I could try grub2, though it's installed and working now. More that having kvm in the kernel with paravirt-ops but Arch as the only distro I tried which couldn't do it without manually screwing with it was... amusing. I suspect, though I haven't tried, that it wouldn't do well with cciss on HP servers, either.

Zom Aur posted:

Anyhow, regarding overall package stability, I agree that things break sometimes. Most of the time this is known in advance, where a warning will be issued on the newspage, which also has a feed you can subscribe to (and a mailing list, if you don't use RSS).

The main issue with keeping packages stable is that the system is rolling release, which is pretty unstable by design really. They do have a testing repo to try to make sure new packages don't break your system when they're pushed, but they don't catch everything.
This is rather what I mean about QA. I can run FreeBSD-CURRENT until the cows come home without worrying about things breaking in horrific ways, and `emerge -U system && emerge -U world` is pretty safe, but I don't feel comfortable running Arch in anything remotely resembling production unless I have the root FS backed by iSCSI on ZFS (or something which sucks less than LVM snapshots).

Zom Aur posted:

Personally, I've used arch as my only OS for... more than 4 years I think. There have been issues, yes, but during the last year there haven't really been any serious ones, other than those encountered with 3rd party repos or AUR packages breaking on updates, both which are unsupported.

It's far from perfect, of course, and it's fairly high maintenance too, since you'll need to update most configs by hand when a package ships a newer version, and if things break you'll spend some time fixing it. The grade of elitism in the community can be very annoying too. Overall though, I like it, and I think it's a fairly good distro.

I agree that it's a fairly good distro, and the documentation is great. I just don't see why I'd actually run it instead of using their docs when I need to do something on another distro.

evol262
Nov 30, 2010
#!/usr/bin/perl
Why.

evol262
Nov 30, 2010
#!/usr/bin/perl

MC Fruit Stripe posted:

I'll show my Linux idiocy quite freely.

I've played around with Ubuntu just enough to do anything I need, but not a lot more. Is it a good use of my time, if I want to learn more about Linux and not just Ubuntu, to get another distro and use that for a while?

I found a few very nice images which describe the timeline of forks and give me a pretty good feel for how far apart two distros might be from each other (HERE'S ONE) so choosing one shouldn't be hard, but I'm wondering if it's in any way useful, or if learning two distros would just be unnecessary.

Despite the accuracy of that graph on forks, I'm not really sold on their family trees based on closeness. In particular, SuSE is a lot closer to Redhat than anything (uses RPM, uses /etc/sysconfig) else.

You've got a few basic things:

RPM-based distributions (Redhat, Fedora, CentOS, Scientific Linux, SuSE)
DEB-based distributions (Knoppix, Debian, Ubuntu)
Other, including, but not limited to:
Source (Gentoo)
Some binary, some source (Arch Linux, primarily)
Almost all binary, source for things that aren't packaged (Slack)

With varying degrees of capabilities in their package managers, with RPM/yum and DEB/apt near the top, Gentoo below, Arch below that, and Slack somewhere at the bottom (Slack didn't do dependency management at all for quite some time).

Additionally there are:
/etc/sysconfig distros (mostly the RPM crowd)
/etc/default distros (the DEB crowd)
BSD-ish/rc.conf distros (Slack/Arch/Gentoo)

All of them manage configuration files differently. PAM is the same across all of them, but all of them are going to have a different way to configure networking, for example.

Mostly, these differences are irrelevant except for initial configuration of the server and reconfiguration of services/installation of new services. BIND/Apache/PostgreSQL and everything else you really use will be mostly the same from system to system, distro to distro.

Learn a scripting language (try not to have it be shell, please).
Learn to use RPM/sysconfig based distros. They're more common out here in the "real world", and it's important to know how they operate.
Compile something from source (./configure && make && sudo make install)
Then make a package (DEB or RPM) out of it instead.
Read the CentOS Deployment Guide.
Read the FreeBSD handbook.
Et al.

evol262
Nov 30, 2010
#!/usr/bin/perl

Bob Morales posted:

I really liked playing around with Arch for a week, getting things setup, learning Pacman, tweaking things. I probbaly wouldn't use it to get anything done, but it was fun to go back to the 'old days' of Linux. These days it's dead simple to load a LiveUSB and install Fedora or Ubuntu and have literally everything work out of the box.

I guess I don't personally my xf86config, lilo, tweaking acpi by hand, and all the other old stuff (I realize Arch doesn't use any of these, but it's the same basic theme). When I was younger, I saw the appeal of customizing everything, and putting sweet themes on my Litestepped Win98 install and running Slackware so I wouldn't "get stuck in dependency hell".

These days, I just see that poo poo (Arch, Gentoo) as an enormous step backwards. It's like they learned all the wrong lessons from pkgsrc/ports, and it's assumed that needing to configure every little drat thing by hand somehow makes the system more "yours", and less "bloated", as if disk/CPU aren't cheap. Plus, as far as I know, unlike Gentoo/*BSD, Arch's binary packages link against all the same libraries as Fedora/Ubuntu/Debian's, or you need to recompile them so they do when you want some common feature (like managing your iPod with Banshee).

It's idiotic. If you want a stripped system, Debian works just as well as Arch. As does Slack, RHEL with @minimal, Fedora with @minimal, etc. Sure, CUPS may drag in more dependencies on Fedora than Arch, but that's a minor detail in the end of it all. My time is more valuable than that, I guess.

I do appreciate their push for Xmonad/Awesome3/whatever, though. Tiling WMs need more attention.

Colonel Sanders posted:

My reason for switching to syslinux was thinking it was newer, but also because I had a previous Arch install with grub, I installed a iogear 2 port usb/vga KVM (any recommendations on a good USB/DVI KVM for windows, Linux, and Mac?) and then my keyboard was no longer usable with grub. My keyboard with KVM lets me get into the BIOS but not grub, I could have looked into this issure farther but my I had also accidentally destroyed my Arch install (the system acted as if the root password was changed, would not let me login as myself or root).
Append "single" to your boot options.

Oh, wait, you were using syslinux.

The Arch install CD will still get you into rescue, though:
code:
mount /dev/your/partition /some/mount/point
mount /dev/your/boot/partition /some/mount/point/boot
mount -o bind /dev /some/mount/point/dev
mount -t proc none /some/mount/point/proc
chroot /some/mount/point /bin/bash
#fix it
Bleeding edge isn't the greatest idea in Linux, all things being equal. Broken commits get pushed a lot. Run unstable, but not testing. And for critical parts of your system (filesystem, bootloader), stay stable.

Colonel Sanders posted:

I am enough of a Arch noob to not know about this problem. Personally, I like the idea of rc scripts because my understanding is all the boot config should be in that one file making it easier to track down issues during booting. Speaking of which, my arch install is currently pausing for like 30 seconds when udev looks for device sr0, I have no idea what an sr0 is. But I am probably going to just start over from scratch with this install later today anyways so hopefully that little issue won't come back again.
/dev/sr0 is your optical drive. Why udev is hanging on it, I couldn't say. Only you could, with the logs.

How's that "one file" philosophy helping you track down issues there?

Learn to use chkconfig, systemd, upstart, or even ntsysv to manage services. rc.conf is a nightmare. Even the BSDs (where rc.conf really came from, back in the SysV v. BSD days) are smart enough to have ENABLE_SOMESERVICE=yes and script dependencies rather than a flat array (I'm looking at you, Arch Linux) where putting services in the wrong order can blap what works.

If you're a Linux "noob", honestly, go with a well-documented system, which Arch ain't. The forums and wiki are ok, but a lot of the time it's the blind leading the blind, and there's no official deployment guide/documentation (unlike Debian, FreeBSD, CentOS, RHEL, et al), which is really where you need to start as a "noob".

Colonel Sanders posted:

I chose Arch Linux because I I want to learn Linux, I wanted a minimal install, and I really hate Gnome. It seems like most distros I looked at offer Gnome as their primary desktop manager, I simply cant force myself to use an older "out of date" 2.x gnome, and there is no chance at all of me learning gnome 3.0. Thats my somewhat stupid reason for liking Arch.
Why do you want to learn "Linux"? And what part of "Linux"? Really, Arch isn't very marketable. If you mean that part of "Linux" to get a job, learn Fedora/RHEL/Debian/SuSE. If you mean the command line, use any of the previous distros, or a Mac (which is certified UNIX as well, though I dislike NetInfo).

You "really hate Gnome"? Great. Install Openbox, Fluxbox, Xmonad, dwm, wmii, kde, or something else on another distro. Part of the beauty of Linux is that you're not locked in. Even if there are "Gnome" distros, they all have the option of adding more WMs/DMs. If you think you need to use Arch just to avoid Gnome3, that's some sweet brainwashing by whatever document convinced you of that. I've used Xmonad on Solaris, which is a lot pickier than Fedora, I assure you.

Cinnamon is actively developed. Gnome2 isn't "out of date", necessarily. Eventually, it'll be dead, but this happens. When KDE4 came out, KDE3 development stayed alive for a while. Apache2 did not immediately supersede Apache. Etc.

spankmeister posted:

For me the biggest hurdle with Arch was going from an xorg.conf based to KMS-based power saving options for the video chip in my laptop. But that applies to other distro's as well nowadays so...

I still haven't figured out how to approach CPU throttling and other power saving options with Arch, so if anyone has a few pointers....

I've got a first gen Centrino platform if it matters. (Pentium M)

See the Arch wiki on CPU frequency scaling. Really, see the Arch wiki for most of the problems you get with a distro that thinks it's a good thing to manually configure cpufreq and acpid in 2012.

evol262
Nov 30, 2010
#!/usr/bin/perl
The alias won't be sourced by a non-login shell, though (generally, .bash_profile or .bashrc bombs immediately if it's non-login, before it tries to set PS1 and do all that crap).

If it were me, I'd make a symlink to ~/bin or /usr/local/bin (if you've got administrative rights), ala /usr/local/bin/foo -> /usr/bin/foo2, and let $PATH take care of it (as /usr/local/bin/ SHOULD win over /usr/bin), or add ~/bin to $PATH.

evol262
Nov 30, 2010
#!/usr/bin/perl

Corvettefisher posted:

Anyone know a legal way to obtain RHEL 6? I thought the book I bought for the RHCSA exam would include one, it doesn't. I don't mind using fedora or Centos 6, but would prefer the real thing if possible.

The sign up at Redhat.com tells me to go get fedora

Honestly, just go get Scientific Linux or CentOS. If you can live with centos-release instead of redhat-release as a package, you'll be a-ok. Nothing specific to RHEL (as opposed to CentOS/SL) should come up on the RHCSA, or at any point before you take a Satellite/RHEV/whatever exam.

evol262
Nov 30, 2010
#!/usr/bin/perl

Zom Aur posted:

I think the most significant difference, besides the package manager, would be that fedora uses systemd, centos uses sysvinit (I think?) and ubuntu uses upstart.

Probably means jack poo poo to the average user though, but yeah.:)

CentOS6 uses Upstart.

evol262
Nov 30, 2010
#!/usr/bin/perl

Bob Morales posted:

When you have multiple consoles using one account in Linux (over SSH), what decides what gets put in .bash_history?

Obviously it doesn't log every command entered.

.bash_history is written when you exit. If you kill -9 your SSH session from the initiating server, you won't have .bash_history either. shopt histappend will show you what happens. Generally, .bash_history is appended to every time your shell exits.

evol262
Nov 30, 2010
#!/usr/bin/perl

dolicf posted:

On a similar note, (I don't have the specifics available at this second, but I can provide them on Monday when I'm back in the office if someone is curious and no one else knows how), if a Bash session is currently open and you need to know what is in the unwritten history, there is a way to snag this. You can't just kill the process, because that wouldn't give the process the opportunity to write to the file before exiting, but you can use gdb to attach to the PID and spit the command history held in memory to a file in /tmp or whatever. It's pretty slick.

Just attach and write_history(filename). You can also go through hell trying to find what it has malloced and extracting that,b ut it's not worth the time, generally.

Adbot
ADBOT LOVES YOU

evol262
Nov 30, 2010
#!/usr/bin/perl
I can count on one hand the number of times RHEL engineering has been more useful than Server Fault or Google in the last 5 years.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply