[131027280010] |What libraries are there for reading/editing ID3s of mp3? [131027280020] |I think the title says it all. [131027280030] |I need a library to allow me to read and edit ID3 Tags from C++ in Linux. [131027280040] |Suggestions? [131027290010] |id3lib has an OO C++ interface you may like. [131027290020] |It is licensed under the LGPL. [131027290030] |The MAD MPEG audio decoder includes an ID3 manipulation component. [131027290040] |Since it is used as the underlying decoder for so many applications —there's a long list on the page I linked to —it may be in your distro's repository already. [131027290050] |It is GPL'd. [131027300010] |Taglib is quite feature rich. [131027300020] |It comes as C++ lib without dependencies to Qt or KDE libs. [131027300030] |A C API is bundled (and there are a lot of other languages bindings available). [131027300040] |A lot of projects (like amarok, juk, vlc ...) use this library. [131027300050] |The homepage contains some claims some advantages of taglib over id3lib (mainly performance). [131027310010] |
  • libid3tag
  • [131027310020] |
  • taglib
  • [131027310030] |I used them for a tiny program I once wrote. [131027310040] |Was quite easy to use. [131027320010] |Change main partition size to install another distribution. [131027320020] |I have CentOS 5.5 installed, I have no un-partitioned space and the only ext3 partition I have is huge with lots of free space. [131027320030] |Can I change that partition size in order to allocate another one? [131027320040] |I want to create new partitions in order to install another distribution there (Ubuntu). [131027320050] |I tried to do it through the volume administration tool in CentOS, but when I edit the partition size and confirm, it says that it is mounted in / and it needs to be un-mounted before re-sizing, which of course fails. [131027320060] |Any suggestion? [131027330010] |You should probably look at GParted; as long as you're working in Gnome it'll work without data loss. [131027330020] |If not, there's a LiveCD/media version which lets you boot and reconfigure without involving the current OS. [131027330030] |Something to consider for future system setups is using LVM (man page, Wikipedia reference, additional detailed reference), which allows this kind of reallocation on the fly without special software. [131027330040] |I'm pretty sure you can't convert an existing filesystem to LVM without rebuilding it. [131027330050] |I use LVM on one of my home systems, and it makes adding additional physical drives pretty trivial - they just get added to the volume group, and then I allocate as needed. [131027340010] |The smart and safe thing to do is to boot from a live CD and resize from the CD since the partition does not have to be mounted in that case. [131027340020] |Parted magic is a live CD especially made to repartition drives. [131027340030] |PS Take the LVM suggestion with a grain of salt. [131027340040] |For me LVM seems to use a lot of resources. [131027340050] |Of course YMMV. [131027350010] |Any good LVM tutorial? [131027350020] |I'm planning to user LVM in my next linux installation, any links to good LVM tutorials/guides/FAQs would be welcomed. [131027350030] |Thanks in advance. [131027360010] |http://www.howtoforge.com/linux_lvm [131027360020] |http://www.linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager [131027360030] |These are literally the first few links I get from searching for "LVM tutorial", this stuff isn't exactly hard to find. ;) [131027370010] |I found the LVM HOW-TO to be very clear. [131027370020] |It has probably more info than you want from a first-time tutorial, but reading sections 1. to 3. and 11. to 13. should give you a comprehensive introduction to LVM concepts and its usage in live systems; these days, most Linux distribution have good LVM support out-of-the-box, so you can safely skip the "Installation" and "Scripts" parts. [131027380010] |In my opinion one of the best resources for LVM was Red Hats LVM Administrators Guide, check it out. [131027390010] |Using regex to see if a UNIX process is up [131027390020] |Hello, [131027390030] |In UNIX, I am checking to see if a process is up by executing the following command; [131027390040] |E.g. [131027390050] |This returns the following output if the process is running; [131027390060] |Now in Perl, I want to be able to find out whether this process is up or not. [131027390070] |So far I am doing the following [131027390080] |Now after this I do the following to see if the above Perl command has returned what I am looking for to see if the process is up; [131027390090] |However this is not working - specifically, regardless of whether the UNIX process is alive or not, my code ALWAYS evaluates the if statement as true. [131027390100] |I know this is wrong. [131027390110] |I have tried to escape the "$" character in the regex to see if this was the issue and I have also tried removing the Perl variables from within the regex altogether. [131027390120] |What am I missing here? [131027390130] |I know my regex is wrong somewhere :( [131027390140] |Thanks [131027400010] |I'm not familiar with psg, but I know (the hard way, so to speak) if I run ps ax | grep progname to see if any process is running that contains progname, I'll always get a yes, since grep progname is itself a command that contains "progname". [131027400020] |I don't know perl, but in bash, I get around this like this, e.g., if I want to check if any instance of progname is running, I run ps ax | grep -c "[p]rogname", which solves the problem of always getting a yes. [131027410010] |The command pgrep prints the list of PIDs for all processes (other than itself) that match a grep-compatible regular expression. [131027410020] |It prints nothing if there are no matches. [131027410030] |This should be a sufficient test: [ $(pgrep process | wc) -gt 0 ] is true if the process is running. [131027410040] |False if not. [131027420010] |I don't know if that's what you're looking for, but this is how you can get the PID of your program: [131027420020] |This will output all, if any PIDs for the given command with arguments. [131027420030] |You can use that to pipe it into another program, if you like, and if you need all of the PIDs at once, you can wrap the whole thing in $(): [131027430010] |Your regexp m/dtllst $myNode | $myNode/ will match (in particular) any occurrence of $myNode. [131027430020] |By construction, psg dtllst | grep $myNode will return something that matches $myNode, so you regexp always matches. [131027430030] |If you cannot follow other people's advice and use pgrep or ps ... | grep or variants thereof, you could either: [131027430040] |
  • set "$checkProc = psg dtllst | grep 'dtllst $myNode';" and then just test if $checkProc is non-empty, or
  • [131027430050] |
  • set "$checkProc = psg dtllst;" and then match it against m/dtllst $myNode/
  • [131027430060] |
  • Use the Proc::ProcessTable CPAN module and just search for an entry $p such that $p->cmdline =~ m/dtllst $myNode/
  • [131027440010] |Best practise to diagnose problems [131027440020] |As Linux/Unix users, we run into problems frequently. [131027440030] |And after long hours of problem solving, we develop the skill of debugging. [131027440040] |Now, what are good principles, methods or best practises when trying to debug general unix problems? [131027440050] |What tools should I have, as an average user, to make finding the cause of problems easier? [131027450010] |The methods will depend on the kind of the problem. [131027450020] |In general "How To Ask Questions The Smart Way" by Eric S. Raymond and Rick Moen is sometimes a helpful advice to focus on the problem and to check if you have thought about important parts of the problem. [131027450030] |Your first source of information during debugging are the logfiles your system/application writes. [131027450040] |The common place for them is your terminal or a file in /var/log/. [131027450050] |Many applications support different types of loglevels which you should increase if you can't find any usable messages. [131027450060] |Often there is an -v verbose switch to get more messages. [131027450070] |Still nothing usable? [131027450080] |Check your configuration files, permissions of the files needed by the application and maybe you have to change the config of your systemlogger, for example /etc/syslog-ng.conf. [131027450090] |If you have an error message, a google search will often lead to message board entries or usenet postings discussing the problems behind it. [131027450100] |Its likely that you can find a solution there. [131027450110] |A project users mailinglist, message boards and IRC channels can also be very helpful. [131027450120] |Sometimes applications crash without any messages. [131027450130] |A great tool to discover the application flow , beside reading and modifying the code is strace. [131027450140] |This tool will trace system calls and signals. [131027450150] |When errors are caught by the application, you can still discover problems in the systrace. [131027450160] |Another approach would be debugging the application with gdb. [131027450170] |You should be an advanced user and know what to do, to use this. [131027460010] |If you want a single, general principle for debugging, it would be this: Understand how the system works, as much as you can. [131027460020] |Understand each component of the system, and the failure modes of each component. [131027460030] |Be aware of which components you have changed recently, and which components may have changed or failed on their own. [131027460040] |If you were looking for specifics, then echox's answer has lots of good information. [131027470010] |Where in Gnome libs, is 'True' and 'False' defined? [131027470020] |Hi, I'm trying to compile a program with gnome-libs, that uses True and False, in one of the arguments. [131027470030] |But what header file defines them? [131027470040] |I'm getting the following error: [131027470050] |This is one portion of code where this error occurs: [131027470060] |The file only includes gnome.h and glade.h: [131027470070] |...well? [131027480010] |If you really meant TRUE and FALSE then /usr/include/glib-2.0/glib/gmacros.h has [131027480020] |If you meant something else, you'll need to specify what you mean by gnome-libs more precisely. [131027480030] |

    added a pretty reasonable guess

    [131027480040] |The macros you are lacking are not defined within GTK anything, and the Elv* booleans appear to be an enumerated type in the Elvis Text Editor: [131027480050] |I suspect this code was borrowed from some other codebase and lost its headers. [131027480060] |Unsurprisingly, this makes ElvFalse equivalent to 0 and ElvTrue equal to 1 (at least in the Southern Hemisphere, I hear things are backwards up North). [131027480070] |Given the prototype: [131027480080] |the values 0 and 1 seem like pretty good guesses as to the value of the constants. [131027480090] |

    added in response to comment

    [131027480100] |From elvis-2.2_0/doc/bugs.txt: [131027480110] |/ Elvis' BOOLEAN and data type may clash with a standard one. [131027480120] |Change its name, and the names of the True and False values. [131027480130] |Where the / is the author's flag "that I believe it has been solved." [131027480140] |Which is peculiar when there appears [131027480150] |in the code. [131027480160] |But more troublesome still is in guignome/README.gnome (dated October 2003): [131027480170] |The Gnome/GTK+ GUI extension to Elvis is being written by David Alan Gilbert (elvis@treblig.org). [131027480180] |It is very much in it's development stages! [131027480190] |I cannot build Elvis 2.2 on Unbuntu Maverick for different defects than you report (in guix11) and the latest Debian/Ubuntu repositories carry no Gnome version of elvis only X11. [131027480200] |As the main Elvis page was last updated two years ago, I doubt the Gnome version ever worked or works with modern Gnome. [131027480210] |That said, there's no harm in trying [131027480220] |but I'm not sure that will get you far. [131027490010] |Auto-mounting to a directory other than /media in Fedora 13 [131027490020] |Hi all, [131027490030] |I am using Fedora 13. I need to be able to configure how media are mounted automatically. [131027490040] |For an example, I want to change the parent of all mounted media to be a directory other than /media. [131027490050] |All the material on the Internet seem to be old. [131027490060] |I grepped the rules.d of udev but could not find any reference to /media. [131027490070] |Could anybody know how to do that? [131027490080] |Thanks [131027500010] |Are you using autofs? [131027500020] |Did you check /etc/auto.master and /etc/auto.*? [131027510010] |Automounting in a Fedora installation with Gnome as the desktop environment is done by nautilus. [131027510020] |You can turn this feature on / off by tweaking the key /apps/nautilus/preferences/media_automount in gconf-editor. [131027510030] |However, I don't think it is configurable. [131027510040] |In the olden times, this was done by gnome-volume-manager which called gnome-mount. [131027510050] |There you could tweak e.g. the name of the entry in /media which was used. [131027520010] |minimalistic terminal music player that can play all my files randomly [131027520020] |Hi, [131027520030] |I'm looking for a terminal music player. mpg321/mpg123 is quite what I need, but it can't play all my music directory (which contains child directories). cmus seems to be a bit of an overkill, as there are a lot of features I never use. [131027520040] |I just need a program, that I can give it my music directory and perhaps a --random flag, then it will play everything with random orders. [131027520050] |Can someone point out what options I have? [131027530010] |You can easily wrap up a script using find and rl (package randomize-lines on debian). [131027530020] |Something along the lines of: [131027540010] |You might try MPD it consists of a server backend and a separate frontend (which may but needn't run on the same machine). [131027540020] |There are several great command line clients for it (see http://mpd.wikia.com/wiki/Clients) [131027550010] |I use gst123 as a command line player. [131027550020] |Point it at the parent directory and it will shuffle through it and the child directories with the -z flag. [131027550030] |I run it like this. [131027560010] |I've spent some time fiddling with diverse minimalistic music players and today find myself especially partial to the relatively recent xmms21, a descendant (somewhat) of the venerable xmms music player. [131027560020] |It is a robust client-server application, designed to run full-featured from the command line or from multiple graphical clients, play practically any music encoding available, manage music collections while taking up as little processor time as possible. [131027570010] |I just use mplayer. [131027570020] |I generated a list of files from my music folders and mplayer can take that file as a playlist and play it in random order. [131027580010] |Setting up a development environment in Ubuntu [131027580020] |Hi, I'm a long time Window user. [131027580030] |Recently, I learned JavaScript/PHP/mySql and considered that Ubuntu Server will be the choice. [131027580040] |I'll still work on Windows XP/7, though. [131027580050] |Here's my idea [131027580060] |
  • Development Machine (XP/7): Where I do all the programming. The IDEs will be Spket (JavaScript) and Aptana (PHP). [131027580070] |Along with other software like PhotoShop, Office...
  • [131027580080] |
  • Server (Ubuntu Lucid): This is where I store my data, run my HTTP, email, FTP server... [131027580090] |It will be a VPS.
  • [131027580100] |So simply put, I'll be working with Windows as a client (IDE, Client Email Software, FTP...) and Ubuntu as a server to manage my data (Mercurial, Apache, mySql...) [131027580110] |I'm new, I wonder if there is already someone doing this and working with this mix of client/server. [131027580120] |What are the possible downsides of this method? [131027580130] |Is working over FTP with a VPS a good idea or not? [131027580140] |I'm a solo-developer, I was thinking in the last few days of the best approach to work with the cloud. [131027580150] |I do web development. [131027580160] |Please reply with anything related and helpful, I would appreciate a lot developers that will write lengthy post about their working environment. [131027580170] |I have exactly no specific idea in mind, just looking to make better. [131027580180] |Thank you! [131027590010] |Certainly many people have used Ubuntu Server with Windows clients. [131027590020] |The Ubuntu Server Guide covers pretty much all of what you want to do. [131027590030] |Here are a few comments on your proposed setup: [131027590040] |
  • Ditch FTP. [131027590050] |Use SSH instead. [131027590060] |Personally, I would also add that you should set up key-based authentication and disable password auth. [131027590070] |See this page for some help.
  • [131027590080] |
  • I don't see any sort of backup solution mentioned. [131027590090] |Be sure to have regular backups.
  • [131027590100] |
  • Consider Git. [131027590110] |I would consider using Git rather than Mercurial, but that is a personal preference.
  • [131027590120] |
  • Think about security from the start--especially if it is going to be facing the web. [131027590130] |Again see (1). [131027590140] |You don't need to be a security expert, but you should at least consider the following: [131027590150] |
  • Use a firewall. [131027590160] |With Ubuntu Server this is easy to do using ufw and is talked about in the guide.
  • [131027590170] |
  • Don't run services you don't need. [131027590180] |Specifically, I would stay away from things like phpmyadmin.
  • [131027590190] |
  • Don't provide access or privileges that isn't needed to others.
  • [131027590200] |
  • Think about auditing and logging.
  • [131027590210] |A more general comment that I don't want to push too hard is that you might consider just moving your development process over to linux as well. [131027590220] |In my experience, the tools available for linux make working with a remote server much smoother. [131027600010] |I see no need for a web developer to use Windows for development. [131027600020] |Though you will still want a Windows platform for testing. [131027600030] |Which btw you don't include in you list of tools. [131027600040] |You should have some sort of automated testing environment for multiple different platforms, but that can all be done in a VM. [131027600050] |I would not use an IDE like Spket but would learn one of the basic and ( generallly speaking ) highly programmable editors: emacs, vi, or eclipse. [131027600060] |I would also use Mercurial on the client side for all code. [131027610010] |Look at Samba and here - these should cater for a lot of your requirements. [131027610020] |Apache (comes standard with ubuntu) for web-server needs. [131027610030] |If you must have FTP I suggest sftp [131027610040] |As for backups - look at this [131027620010] |I find cygwin, very useful for talking to linux servers. [131027620020] |You can use rsync, ssh, scp and all those tools for copying files back and forth. [131027620030] |Also, you're going to start getting used to unix tools pretty soon anyway, so you'll probably want those tools on you work machine too. [131027620040] |Some people prefer to use putty, but I find cygwin+mintty+openssh to be a much nicer choice, as it works with the same concepts as the native linux tools (ssh-agent, for example). [131027620050] |Last note, and some people may disagree with me on this, if you're going to copy files between cygwin and linux I recommend you disable ACLs by editing /etc/fstab. [131027630010] |Is it bad practice to set root's shell to something other than the default? [131027630020] |Hi, [131027630030] |Once a friend of mine (who is an experienced Unix/Linux user) told me that setting root's shell to something other than sh (i.e bash or zsh) might create problems, because some script might assume that the shell is sh and do something weird. [131027630040] |However, I think Ubuntu have default root shell set to bash, and Gentoo uses bash too. [131027630050] |Can somebody bust the myth? [131027640010] |Scripts written for the bourne shell will most of the time run against BASH or ZSH or $foo without any problems. [131027640020] |On many Linux systems is no original sh installed, instead its often a symlink against /bin/bash. [131027640030] |If some scripts just "assume" that the shell is explicitly sh, they should be rewritten. [131027640040] |Theres the shebang mechanism to choose which interpreter your script needs. [131027640050] |If its the sh, the script should include #!/bin/sh as the first line. [131027640060] |Your default shell setting should not be relevant in this context. [131027650010] |Should not be an issue. [131027650020] |Shell-script files explicitly encode which shell they are executed with. [131027650030] |It is encoded in the first line or other programs or scripts execute a specific shell and give the shell script as argument. [131027650040] |The only program I can think of that uses the user account shell information (besides the login process) is procmail. [131027650050] |Really funny if your user has set as shell /bin/false on the mailserver ... [131027650060] |But you usually do not execute procmail as root. [131027650070] |Another candidate would be the lines in the crontab of root. [131027650080] |I don't know what the policy of crond is which shell to use. [131027660010] |Yes. [131027660020] |If system fails during booting you can log into root shell. [131027660030] |If you have separate /usr some shells can fail to successfully start. [131027660040] |I'd advice to create account toor (uid 0, gid 0) with non-standard shell while left root with default shell. [131027670010] |I would make note of the orignal entry for the shell in /etc/passwd. [131027670020] |Worse comes to worse, you can boot off a live CD and change it back. [131027680010] |I have bash as default shell for root. [131027680020] |I used zsh for some time, but then went back to bash. [131027680030] |What shell you use, doesn't matter much. [131027680040] |It's only an issue, if more than one person has root access. [131027680050] |In that case you may select a 'common denominator' which is usually bash, as this is the most widely used shell. [131027690010] |I don't think changing root's shell would cause any trouble. [131027690020] |I seem to remember some unices (maybe some BSD variants?) having tcsh as the default shell for root. [131027690030] |Root logins are rare anyway. [131027690040] |Normally, you'd log into your own account and then su or sudo to root. [131027690050] |What matters is that root's shell should have as few dependencies as possible so as to be usable in a system reparation context. [131027690060] |For example, it's a good idea to have a statically linked root shell; some distributions ship a statically linked version of bash or zsh or sash (a shell with many standard utilities built-in). [131027690070] |However this isn't so important if your system can easily be booted from a rescue CD or USB drive. [131027700010] |The login shell of a user does not affect the boot process. [131027700020] |You can set this shell to whatever you want. [131027700030] |Not all systems have bash and they work fine. [131027700040] |Also if it's /usr/bin/zsh it was installed wrong, all system shells should be in /bin. [131027700050] |You shouldn't, however, change /bin/sh to point to something other than the default (unless you know what you are doing) as many scripts have #!/bin/sh which usually points to bash, when they should have #!/bin/bash because they use bashisms and other behavior that won't work on zsh or dash. [131027710010] |Difference between references of Linux "utilities", "commands" and "programs" [131027710020] |I read uses of the word "utilities" for commands/programs such as 'ls', 'chmod', 'mv', etc. [131027710030] |Is "commands" is Linux referring to the same things as top, ps, etc., or are those something different? [131027710040] |What about "programs"? [131027710050] |Are those the ones that don't come with the standard distribution which need to be installed like irssi, emacs, kismet, etc.? [131027720010] |This question is hard to answer, as there is no formal definitions of those terms and different people will use them differently. [131027720020] |I here only give my use of them, others will have different points if view. [131027720030] |For me tool and utility are synonyms. [131027720040] |I use the words for small programs which just do one small job. [131027720050] |I'd call e.g. all applications implemented as applets in busybox tools or utility. [131027720060] |Any application is a program for me. [131027720070] |I.e. 'ls' is a tool, a utility and a program. [131027720080] |Firefox is a program but I wouldn't call it neither tool nor utility. [131027730010] |How to disable "Shake password dialog when authentication fails" of Gnome Screensaver? [131027730020] |Is there any way to disable the animation which occurs when attempting to unlock gnome Screensaver and failing? [131027730030] |Currently the password dialog shakes back and forth and for some reason on some laptops, this animation causes the entire system to be unresponsive for about 5 - 7 seconds. [131027730040] |Can be very frustrating because it increases the chances of a second, third, etc mistyped passsword. [131027730050] |I'm currently on Fedora 11 but this issue also occurs in Ubuntu. [131027730060] |The Ubuntu change log calls this feature "Shake the dialog when authentication fails" [131027740010] |For a moment, I thought that this might be inherited from the GDM configuration (since the GDM login screen does the same thing), but apparently it's not. [131027740020] |After checking a few other places without any luck, I decided to find out for myself and took a look at the source code(v2.30). [131027740030] |The code responsible for the shaking only checks to make sure the dialog isn't already being shaken. [131027740040] |It makes no checks against any configuration, so there doesn't appear to be a way to disable it without changing the code itself. [131027740050] |You might try switching to xscreensaver and see if that helps. [131027750010] |I just wanted to add that I have found a semi-convenient workaround: if the box begins shaking, you can actually click the "Cancel" button and it will stop the shaking and return to the screensaver -- not instantly, but it is much faster to do that (at least on my machine) than to wait for the shaking to finish. [131027750020] |I swear that trying to retype my password when the box is shaking leads to dropped chars and thus fails a second time. [131027750030] |Clicking "Cancel" and then re-opening the password box is what I've been doing ever since! [131027760010] |Why use swap when there is more than enough RAM [131027760020] |Using swap space instead of RAM can drastically slow down a pc. [131027760030] |So why, when I have more than enough RAM available, does my linux ( arch ) use the swap? [131027760040] |Checkout my conky output below: [131027760050] |Also, could this be the cause of speed and system-responsiveness issues I'm having? [131027760060] |updated: output of free -m [131027770010] |It is normal for Linux systems to use some swap even if there is still RAM free. [131027770020] |The Linux kernel will move to swap memory pages that are very seldom used (e.g., the getty instances when you only use X11, and some other inactive daemon). [131027770030] |Swap space usage becomes an issue only when there is not enough RAM available, and the kernel is forced to continuously move memory pages to swap and back to RAM, just to keep applications running. [131027770040] |In this case, system monitor applications would show a lot of disk I/O activity. [131027770050] |For comparison, my Ubuntu 10.04 system, with two users logged in with X11 sessions both running GNOME desktop, uses ~600MB of swap and ~1GB of RAM (not counting buffers and fs cache), so I'd say that your figures for swap usage look normal. [131027780010] |This behaviour can be configured by setting the value of /proc/sys/vm/swappiness. [131027780020] |The default value is 60, setting it to 0 means “never use swap when there is still RAM left“ and 100 is swapping out memory as soon as possible. [131027780030] |To change the value temporarily (lost on reboot): [131027780040] |To change the value permanently: Edit the file /etc/sysctl.conf as root (e.g. sudo nano /etc/sysctl.conf) and change the line vm.swapiness=... to the desired value. [131027780050] |There has been some debate on whether swapping out with free memory available is good or bad, but the Ubuntu help does indeed recommend a value of 10 for Desktop systems: https://help.ubuntu.com/community/SwapFaq [131027790010] |From Ubunt Swap F.A.Q. that Marcel linked to [131027790020] |As a base minimum, it's highly recommended that the swap space should be equal to the amount of physical memory (RAM). [131027790030] |Also, it's recommended that the swap space is twice the amount of physical memory (RAM) depending upon the amount of hard disk [131027790040] |I think you should increase your swap space in your system. [131027790050] |The swap speeds up RAM memory allocation by allowing to discard already paged data. [131027800010] |Linux starts swapping before the RAM is filled up. [131027800020] |This is done to improve performance and responsiveness: [131027800030] |
  • Performance is increased because sometimes RAM is better used for disk cache than to store program memory. [131027800040] |So it's better to swap out a program that's been inactive for a while, and instead keep often-used files in cache.
  • [131027800050] |
  • Responsiveness is improved by swapping pages out when the system is idle, rather than when the memory is full and some program is running and requesting more RAM to complete a task.
  • [131027800060] |Swapping does slow the system down, of course — but the alternative to swapping isn't not swapping, it's having more RAM or using less RAM. [131027810010] |A lot of modern programs are built on bloated frameworks that drag in a lot of junk you don't actually need in order to run the program. [131027810020] |Swapping those unused pages out frees RAM for cache and programs that can actually make use of the RAM. [131027810030] |I speak from painful personal experience here. [131027810040] |Last year, I switched one of my web sites to a promising new web server framework that was built on top of Firefox. [131027810050] |It may sound strange to build a server-side system on top of a client-focused program like Firefox, but it had some huge benefits. [131027810060] |Firefox is very powerful, offers some really impressive internal services, and it reduces the impedance mismatch between server and client to have both running similar platforms. [131027810070] |But there's a downside: Firefox is big. [131027810080] |Really big. [131027810090] |This was a version 1.x sort of project, so they hadn't gotten around to things like removing the GUI support.[*] My site didn't need any of that, but because the VPS technology my hosting provider used didn't allow swap space, that GUI code and all the other parts of Firefox I didn't use ate real RAM. [131027810100] |I ended up needing 512 MB RAM minimum just to run the site without it crashing due to memory exhaustion. [131027810110] |If my VPS had some swap space, I probably could have gotten by with a 256 MB plan. [131027810120] |[*] Removing the GUI code from the framework may not even have been desirable, since one of the benefits of this platform was high-fidelity web scraping, because the server side framework could download web pages from another site, and you could manipulate them just as you would on the client side. [131027810130] |Think mashups. [131027810140] |A lot of that sort of thing would break if you can't "render" the web page into some graphical context. [131027810150] |By the way, this web framework is essentially dead now, so there's no point name-and-shaming it. [131027810160] |Best to just take the broader lesson to heart: yes, swap is still useful even if you have gigs of free RAM. [131027820010] |Like everyone said, yes swap will help you get rid of unused memory, so it can help you having more memory available. [131027820020] |But swap can also be used for hibernating which can be really useful when you have a laptop or want to save energy and put your computer and works in hibernation before leaving work. [131027820030] |So you can have a quicker start the morning after. [131027820040] |Having a hibernating function is one of the main reason we still see nowadays advise to have at least the size of RAM for the swap. [131027820050] |That way the system can put all used RAM into the swap and goes into hibernation. [131027830010] |Finding the sector size of a partition [131027830020] |I answered this question, assuming that the *.img file had a sector size of 512. [131027830030] |How do I query a device, or the image of a device, to find the correct sector size? [131027840010] |fdisk -l (that's lower L in the parameter) will show you, among other informations, the sector size too. [131027850010] |Getting and setting screen size for Xorg [131027850020] |I would like to run a command like get-screen-resolution during a X session to get a '800x480' output. ( or whatever the actual screen size is ). [131027850030] |Is there something available for this? [131027850040] |Currently I take a screenshot and measure the resulting *.jpg's width &height attributes. [131027850050] |Also, how do I set the screensize during a X session from the command-line? [131027860010] |You can use xrandr to do both [131027860020] |

    Get resolution

    [131027860030] |

    Set resolution

    [131027870010] |From my personal shell library: [131027880010] |Recovering deleted files on fedora [131027880020] |Hi-- [131027880030] |Everyone, i am in need of an urgent help. [131027880040] |I actually deleted one of .tex files from my laptop. [131027880050] |I use an Fedora OS. [131027880060] |Is it possible that i recover that file. [131027890010] |It is possible, its just going to be a hassle. [131027890020] |UPDATE: before you try this method, please have a look at Steven's answer [131027890030] |You're going to need the testdisk package, a lot of disk space and a lot of time. [131027890040] |PhotoRec, a part of TestDisk, can recover files from almost any disc. [131027890050] |PhotoRec does support finding .tex files [131027890060] |First, install testdisk by running [131027890070] |note: Your going to need a lot of free space on another drive, where you can save recovered files. [131027890080] |Recover all the deleted files on your disc by running photorec on the free space of the disc. [131027890090] |and follow the instructions... ( remember not to save the files to the same disc you are recovering from ) [131027890100] |After the proccess has completed, all the recovered files should be in one directory, where you should run: [131027890110] |This will output a list of files that might be the one you lost. [131027890120] |You will have to check all of them, as the filenames will be lost. [131027900010] |Many text editors keep backup files. [131027900020] |If you are really lucky, there might be something like yourfile.tex~ including a previous version of your file. [131027910010] |I would advise against immediately installing some utility. [131027910020] |Basically your biggest enemy here are disk writes. [131027910030] |You want to avoid them at all costs right now. [131027910040] |Your best bet is an auto-backup created by your editor--if it exists. [131027910050] |If not, I would try the following trick using grep if you remember some unique string in your .tex file: [131027910060] |Replace /dev/sda1 with the device that the file was on and replace 'string' with the unique string in your file. [131027910070] |This could take some time. [131027910080] |But basically, what this does is it searches for the string on the device and then returns 100 lines before and after that line. and puts it in file.txt. [131027910090] |If you need more lines returned just adjust the -B and -A options as appropriate. [131027910100] |You might get a bunch of extra garbage returned, but you should be able to get your text back. [131027910110] |Good luck. [131027920010] |How can I force codepage/locale (different from my Linux system locale) for non-Unicode Wine applications? [131027920020] |I prefer using English locales for my system, but have to use some old Unicode-unaware Russian and Czech applications. [131027920030] |In Windows I could set a locale for such applications in a separate Control Panel place. [131027920040] |How can I configure this in Linux/Wine? [131027930010] |Did you try setting LANG variable? [131027930020] |I don't know the Czech setting, Russian should be ru_RU.utf8 at least that's what I'd use. [131027930030] |See what your current locale settings are: [131027930040] |If your locales are installed correctly, setting LANG should set all other variables. [131027930050] |I cannot guarantee, that this will work in conjunction with WINE, though. [131027940010] |The idea is to set LANG only for this application. [131027940020] |If you start the application from the command line, write something like alias yourapp="export LANG=ru_RU.utf8 /usr/bin/yourapp" in ~/.bashrc. [131027940030] |If you start the application with a GUI button, you can edit the corresponding desktop file, i.e. open ~/.gnome2/panel2.d/default/launchers/yourapp.desktop in a text editor and change the line Exec=/usr/bin/yourapp %F to Exec=sh -c "LANG=ru_RU.utf8 /usr/bin/foo %F" [131027950010] |How to redirect output of wget as input to unzip? [131027950020] |I have to download a file from this link. [131027950030] |The file download is a zip file which I will have to unzip in the current folder. [131027950040] |Normally, I would download it first, then run the unzip command. [131027950050] |But in this way, I need to execute two commands, wait for the completion of first one to execute the next one, also, I must know the name of the file temp.zip to give it to unzip. [131027950060] |Is it possible to redirect output of wget to unzip? [131027950070] |Something like [131027950080] |But it didn't work. [131027950090] |bash: wget http://www.vim.org/scripts/download_script.php?src_id=11834 -O temp.zip: ambiguous redirect [131027950100] |Also, wget got executed twice, and downloaded the file twice. [131027950110] |Thanks [131027960010] |You have to download your files to a temp file, because (quoting the unzip man page): [131027960020] |Archives read from standard input are not yet supported, except with funzip (and then only the first member of the archive can be extracted). [131027960030] |Just bring the commands together: [131027960040] |wget http://www.vim.org/scripts/download_script.php?src_id=11834 -O temp.zip; unzip temp.zip; rm temp.zip [131027960050] |But in order to make it more flexible you should probably put it into a script so you save some typing and in order to make sure you don't accidentally overwrite something you could use the tempfile command to create a safe filename for your temp file: [131027970010] |I don't think you even want to bother piping wget's output into unzip. [131027970020] |From the wikipedia "ZIP (file format)" article: [131027970030] |A ZIP file is identified by the presence of a central directory located at the end of the file. [131027970040] |wget has to completely finish the download before unzip can do any work, so they run sequentially, not interwoven as one might think. [131027980010] |What is the smallest possible Linux implementation? [131027980020] |What are the bare minimum components for a Linux OS to be functional, and that I can use as a base to expand and improve as I learn Linux and my understanding and needs grow? [131027990010] |To me, Damn Small Linux got the name for "the smallest possible Linux distro"! [131027990020] |However I heard that it is kind of discontinued. [131027990030] |You can also see a list of similar distributions (called "Mini Linux") on this wiki page. [131027990040] |If space isn't your aim I'll suggest Gentoo or Arch Linux, they both install a base system. [131027990050] |You choose what to use and install packages as your needs grow. [131028000010] |Archlinux uses a base group of files for a very minimum install. [131028000020] |Along with a base-devel group, if your going to be doing any system development. [131028010010] |If you really want just the bare minimum of what is a Linux system, you might try distributions for embedded systems like routers. [131028010020] |They normally only carry the absolute minimum of software and the common lack of a graphical user interface forces you to become familiar with the command line. [131028010030] |One drawback is, that often those systems break conventions of regular Linux distributions, e.g. they install software in uncommon places or use simplified init systems. [131028010040] |If you want to give it a shot, you might try e.g. openwrt in a virtual machine. [131028020010] |If you mean learn Linux as in getting to know the source code, you may want to try Linux from scratch [131028030010] |You could try Slackware linux. [131028030020] |The menu-driven install will allow you to install quite a minimum system. [131028030030] |You can easily leave off man pages, X11, Tcl, Emacs and that's just from the very top-level install. [131028030040] |You can dive into the install and only install a bare minimum of packages. [131028030050] |After that, I'd recompile the kernel specifically for the machine you installed on. [131028030060] |Slackware still defaults to the Lilo boot manager, so you end up knowing a bit more than you want to know about boot sectors, which partition is marked bootable, what your initrd contains, etc etc than for Grub-booted distros. [131028040010] |You could look at Puppy Linux. [131028040020] |It may not be the smallest but it has a repuation of being small. [131028040030] |However Linux distrtos that are meant to be small generally tend to stay small. [131028040040] |For learning linux, I would a live debian somewhere. .I would get the debian kernel sources, bash sources and grub sources cross compile and install. [131028040050] |Then cross compile install an editor, apt and gcc. [131028040060] |Then generate a list of packages from the debian live. [131028040070] |Install the source for each package, compile and install. [131028040080] |Then add X then the Wm of your choice then you have the basis for what you want to do. [131028040090] |PS: apt-get source gets you the source for a debian package. [131028050010] |How is it that nobody has mentioned tomsrtbt? [131028050020] |(Linux on a single 1.44" floppy) [131028060010] |If you're looking to learn, Gentoo's a good option - the minimal Gentoo installation is a root shell and a package manager, and you build the rest of your system from there. [131028060020] |Gentoo also stays pretty close to upstream on packages, so you won't run into too many problems if you want to download and build some packages yourself (and in fact, you can add them to the /etc/portage/package.provided file after they're installed, and use them as dependencies!) [131028060030] |If you're looking for the absolute smallest possible Linux system, then build your own kernel, stripping out all the drivers and features that you're not planning to use, and then add an initramfs containing a similarly minimized build of Busybox. [131028060040] |The result is a fully-bootable Linux system in a single executable (which you can point your bootloader at), and which you can fit in under 10 MB without even trying. [131028070010] |What you need to do is download the latest kernel from kernel.org, do a make menuconfig and just look through the options, and use that as a starting point for research and investigation. [131028070020] |You'll learn a lot. [131028080010] |Using bridge utils to connect two computers via Linux [131028080020] |I have been using bridge utils previously to connect my network connected computers to a single interface on my Linux computer. [131028080030] |The problem I'm having is when I installed a new Linux (with Slackware) the two connected computers cannot even ping each other. [131028080040] |Basically the computers are connected as: [131028080050] |So I am trying to get the two clients to connect to each other. [131028080060] |Both can access the Internet, firewalls are shut off at both clients when testing. [131028080070] |Internet is on eth0, and I have one bridge set up as [131028080080] |ip addr br0 and ip route show shows respectively [131028080090] |So it seems to me like a call from my client should be routed directly to my br0 interface, which should get it right. [131028080100] |I'm not an expert Linux user, so I'm not sure how to diagnose routing problems. [131028080110] |My short question is therefore: How do I configure my Slackware distro to route two network cable attached computers to be able to see eachother, preferably using bridge utils? [131028090010] |Check if ip fowarding is enabled on the server with the command [131028090020] |if this gives 0, do [131028090030] |as root on the server. [131028090040] |If this helps, make the change permanent by editing /etc/sysctl.conf [131028100010] |If the two devices cannot ping each other it sounds like the bridge is not correctly setup. [131028100020] |There is no ip protocol routing involved in the bridge. [131028100030] |What is the output of brctl show ? [131028100040] |That should show something like [131028100050] |If both interfaces are not listed there then that needs correcting. [131028100060] |You may also like to try the brctl showmacs br0 command and if STP (spanning tree protocol) was enabled above the brctl showstp br0 command. [131028100070] |The former should show the mac addresses of the two devices and the for the latter you should look to make sure that each port is in state forwarding [131028100080] |Given that you say that each can access the internet I assume that all of the interfaces have been brought up. [131028100090] |If not the following should do that. [131028110010] |Is the firewall on the server disabled? [131028110020] |It maybe that there are some firewall rules that are blocking the packets. [131028110030] |Look at the output of iptables (must be run as root) and if you see anything other than ACCEPT rules/policies then they may be blocking things. [131028110040] |and [131028120010] |How can I turn off the realtime display of unix command "top"? [131028120020] |I want top to just give me the results when I call it and then exit. [131028120030] |How can this be done? [131028120040] |top's manpage does not list any flag for this purpose. [131028120050] |Also, I do not want to use ps -eLf for the purpose. [131028130010] |From the top manpage: [131028130020] |So just run: [131028140010] |How do I read alternate gnome configuration files [131028140020] |I have a number of versions of gnome installed on a number of different hosts. [131028140030] |All users have network mounted home directories. [131028140040] |In some cases gnome works poorly when reading configuration from the .gnome2 directory. [131028140050] |I would like to read config files from version specific directories. [131028140060] |Is there any way to specify this when starting gnome? [131028140070] |Environment variables perhaps? [131028140080] |I know how to move the .gconf directories but this is not sufficient. [131028140090] |I need to read the .gnome2 from a different path. [131028150010] |Looking at the developer documentation it doesn't look as if it was possible to use other directories than the default. [131028150020] |You could have version-dependent directories and link them to ~/.gnome2 at login, however this breaks as soon as a user is logged in at two different hosts at a time. [131028160010] |Shaping outgoing traffic with iptables [131028160020] |On my laptop, when I run any downloads, torrents, etc, browsing is crippled. [131028160030] |I read somewhere that you could configure your iptables powered router to prioritize certain network traffic. [131028160040] |Could I do the same on my pc for all network traffic? [131028160050] |I would like to prioritize packets in the following order: [131028160060] |
  • SSH
  • [131028160070] |
  • Gaming
  • [131028160080] |
  • Browsing
  • [131028160090] |
  • Chat
  • [131028160100] |
  • Downloads/Torrents
  • [131028170010] |The Linux kernel has the ability to do traffic shaping / QoS which can be set up using the tc(8) command (not iptables). [131028170020] |The full details are too much to go in to an answer here, but as a first step you may want to look at the Linux Advanced Routing &Traffic Control howto. [131028170030] |There are also a number of applications that build on the tc command to allow you to more easily define shaping rules such as wondershaper or as part of a firewall system such as shorewall. [131028180010] |Best way to handle lots of mail on server? [131028180020] |Due to some bad cron jobs I now have ~1600 mail messages, most of them containing the same error log. [131028180030] |I would like to quickly group them by subject and delete them, while limiting the chances of missing some important message. [131028180040] |I couldn't figure out a way to do anything using the mail command other than deleting each message individually. [131028180050] |I tried installing pine, but it seems that even there I have to go over each message individually and hit the D key. [131028180060] |Surely there's a way to script this. [131028180070] |Right? [131028180080] |I'm using ubuntu server 10.04. [131028190010] |If your mails are in a Maildir (like e.g. ~/Maildir/cur) you can just use grep and rm: [131028190020] |if instead they are in a mbox this of course doesn't work. [131028200010] |Mutt is really good at this. [131028200020] |You could tag-pattern (shift-T) on the common subject string, then tag-prefix (;) delete (d) the matching messages. [131028200030] |"Mutt Manual, Using Tags" [131028210010] |Why are the fonts all screwy for remote X11 apps on one Mac client? [131028210020] |I have two Mac OS X clients, both running XQuartz 2.1.6 (xorg-server 1.4.2-apple33). [131028210030] |When I SSH into a remote linux system enabling X11 forwarding and launch gnome-terminal, on one Mac the terminal looks correct while on the other, the fonts are all screwy! [131028210040] |[jnet@Stan ~]$ ssh -X jnet@kyle.local gnome-terminal produces: [131028210050] |powerbook:~ hp$ ssh -X jnet@kyle.local gnome-terminal produces: [131028210060] |The problem goes away on the powerbook if I zoom in twice: [131028210070] |Edit: This affects a number of apps, not just gnome-terminal. [131028210080] |It also affects Thunderbird, for example. [131028220010] |Looks like a font problem - run Font Book.app, click All Fonts, then select all the fonts in the middle pane (cmd-a) and choose File -> Validate Font from the menu. [131028220020] |This will produce a report of any fonts with issues. [131028220030] |If you find a broken font file, look where it is residing: [131028220040] |
  • if it's a system font (any path not in /Users), replace it from install media or the working Mac (easier)
  • [131028220050] |
  • if it's a user font (any path in /Users), delete it - the system fonts should be sufficient, but user fonts take precedence, so if the user installed some borked font it can cause this.
  • [131028230010] |Running a statically linked binary with a different glibc [131028230020] |I have a statically linked binary for a tool that I'm trying to run on RHLE4. [131028230030] |The tool complains about glibc. [131028230040] |It needs 2.4 and the one in the system is 2.3. [131028230050] |Here is the message that it spits out: [131028230060] |Is there a way to build glibc2.4 and use it just for this tool, without replacing the glibc2.3 in the system ? [131028230070] |While building glibc2.4 what prefix should I use for configure ? [131028240010] |Since the source code for this wkhtmltoimage tool is available, I'd suggest you recompile it from source with your system's native glibc. [131028240020] |It will likely be even quicker than recompiling glibc, which is no easy task. [131028240030] |A statically linked executable already includes code for all the C library calls it needs to make, so you cannot separately compile a new glibc and link the executable to it. [131028240040] |However, programs using glibc are never completely static: some library calls (all those connected with the "Name Service", i.e., getuid() and similar) still make use of dynamically-loaded modules (the libnss*.so files usually found under /lib). [131028240050] |This is likely why the program is failing: it is looking for some NSS module but can only find the glibc2.3 ones. [131028240060] |If you absolutely want to go down the road of recompiling glibc, the following could possibly work (Warning: untested!): [131028240070] |
  • configure glibc2.4 to install in a non-system directory, e.g. /usr/local/glibc2.4, then compile and install;
  • [131028240080] |
  • run wkhtmlto* by specifying it as the first component in the dynamic linker search path (LD_LIBRARY_PATH): [131028240090] |env LD_LIBRARY_PATH=/usr/local/glibc2.4/lib wkhtmltoimage ...
  • [131028240100] |Update: This turned out not be so easy: having two distinct libc's on the system requires more than just recompile/install, because the libc will look for the runtime linker and dynamic-load NSS modules in fixed locations. [131028240110] |The rtldi program allows installing different versions of the GNU libc on a single Linux system; its web page has instructions (but this is an expert-level task, so they are definitely not a step-by-step walkthrough). [131028240120] |Let me stress again that it will be far less work to recompile wkhtmltoimage... [131028250010] |How does Ubuntu lock my Live USB? [131028250020] |Hi, [131028250030] |I notice that, after booting from my Live USB (with Ubuntu inside) and shutdown, I won't be able to boot it again, unless I unplug the USB and plug it in again. [131028250040] |Is this a side-effect of something, or is it intentional? [131028250050] |I wonder what mechanism is used to do this? [131028260010] |This is probably caused by some peculiarity of your BIOS. [131028260020] |Definitely not intentional. [131028270010] |Simple file transfer [131028270020] |Given two Linux boxes on a LAN, what's the simplest way to transfer files between them? [131028280010] |For one off file transfers, I usually use SFTP or an existing samba share. [131028280020] |For keeping in sync, I suggest you try rsync or unison (for 2-way synchronization) [131028280030] |Edit: scp would be better then sftp, since it would work on all SSH enabled hosts [131028290010] |I use scp. [131028290020] |to copy from the local machine to the remote machine, or [131028290030] |to copy from a remote machine to the local machine. [131028290040] |If the username is not the same on the remote machine, [131028300010] |I use netcat (if I don't need security) [131028310010] |I usually mount a directory through ssh via FUSE and sshfs. [131028310020] |Mount: [131028310030] |Unmount: [131028320010] |nfs could be useful. [131028320020] |The Network File System (NFS) allows a client node to perform transparent file access over the network. [131028320030] |By using NFS, a client node operates on files residing on a variety of servers and server architectures, and across a variety of operating systems. [131028320040] |File access calls on the client (such as read requests) are converted to NFS protocol requests and sent to the server system over the network. [131028320050] |You might require help from your Unix Admin to setup it first time but its very useful. [131028330010] |Also you could use Giver program. [131028330020] |Using it you could transfer files over LAN with 2 clicks or by "drag'n'dropping" file to recipient. [131028330030] |Recipients (which also have to run giver) are discovered via Zeroconf, so you don't have to know even their IP. [131028330040] |Here's video on how Giver works. [131028340010] |For doing backups I often use rsync. [131028340020] |If I want to backup onto a remote machine I'll put a line in /etc/fstab to keep the remote machine mounted by NFS or CFIS (Samba). [131028340030] |Then have a line in my crontab using rsync. [131028350010] |Giver is a simple file sharing desktop application. [131028350020] |Other people running Giver on your network are automatically discovered and you can send files to them by simply dragging the files to their photo or icon shown in Giver. [131028350030] |In Ubuntu: sudo apt-get install giver [131028360010] |Where and how do I create new system-wide menu items for CentOS/RH 5? [131028360020] |I have some CentOS 5.5 systems. [131028360030] |I have installed the rdesktop rpm, however no entry appears to be made in the gnome or kde menus for it. [131028360040] |Where is the menu structure in the filesystem? [131028360050] |Is it one location shared for both Gnome and KDE installations, or are they in separate places? [131028360060] |I am presuming that once I find this structure, I can copy an existing entry and point it at my newly installed program (rdesktop in this case). [131028360070] |I want to do this so that I can do it automatically at kickstart time in the future. [131028360080] |Is this a bad assumption? [131028360090] |Should I do this another way? [131028360100] |Update: It turns out rdesktop actually did install an icon, intuitively named "krdc". [131028360110] |But the general question stands. [131028370010] |According to the Freedesktop specification, which both GNOME and KDE support, the recommended filesystem locations for placing .desktop files are: [131028370020] |
  • /usr/share/applications for system-wide menu items;
  • [131028370030] |
  • ~/.local/share/applications for user-private menu items.
  • [131028370040] |The command-line utility xdg-desktop-menu is provided to install .desktop files in a specific submenu (identified by a .directory file). [131028380010] |How do I determine a number of sub-directories in a directory from the `ls -l` output? [131028380020] |When displaying directories using ls -l, their number of links (the second field in the output) is at least two: one for the dir name and one for . [131028380030] |Is it safe to always assume that the number of links above 2 corresponds to the number of subdirectories in this dir (.. links) ? [131028390010] |ls -l |grep ^d|wc -l [131028400010] |I can't find anything in the documentation that confirms that the number of links will always be +2 on the number of subdirectories. [131028400020] |But, to find the correct ammount, use: [131028400030] |Or if you have to use ls -l, see the other answer. [131028410010] |It is usually true on unix systems that the number of links to a directory is the number of subdirectories plus 2. [131028410020] |However there are cases where this is not true: [131028410030] |
  • Some unices allow hard links to directories. [131028410040] |Then there will be more than 2 links that do not correspond to subdirectories.
  • [131028410050] |
  • There are filesystems where directories do not have entries for . and ... The GNU find manual mentions some examples in the discussion of its -noleaf option (which disables an optimization that assumes that . and .. exist in all directories): “CD-ROM or MS-DOS filesystems or AFS volume mount points”
  • [131028410060] |An almost reliable way to count the number of subdirectories (it may still fail if a file name contains a newline character) is [131028410070] |A more reliable way uses shell globs */ and .*/; as usual handling the case where the pattern doesn't match is a bit of a pain (except in bash and zsh where you can turn on the nullglob option). [131028420010] |Opensuse 11.3 with Dell inspiron 1564 wireless [131028420020] |Hello guys. [131028420030] |When I was using ubuntu i used to add the cd to software sources and install a package called bcmwl* and the wireless would work immediately. [131028420040] |Now on Opensuse the wireless is not working and as a regular user I am not sure what to do exactly .. [131028420050] |I typed dmesg at terminal and i got a long file with "Broadcom 4312 WLAN found" but i am unable to find my network or connect. [131028420060] |Please help [131028430010] |There is an extensive howto on getting the driver and making it work at http://www.susegeek.com/networking/fix-bcm4311431243214322-wireless-in-opensuse-111-and-earlier/ [131028440010] |Contents of /proc [131028440020] |Is there a site someplace that lists the contents of /proc and what each entry means? [131028450010] |The documentation for Linux's implementation of /proc is here. [131028450020] |Beware that /proc is one of the areas where *ixes differ most. [131028450030] |It started out as a System V specific feature, was then greatly extended by Linux, and is now in the process of being deprecated by things like /sys. [131028450040] |The BSDs —including OS X —haven't adopted it at all. [131028450050] |Therefore, if you write a program or script that accesses things in /proc, there is a good chance it won't work on other *ixes. [131028460010] |Basically /proc has the files that are stored on RAM when system boots and remain there as long as system is up. [131028460020] |Getting to know what's on this file is like reading RAM. [131028460030] |That's why you cant change the contents or values of these files using vim or some any other editor. [131028460040] |They need to be forced with some boolean values. [131028460050] |Here I've got some good documentation with the whole list and their description. [131028460060] |Hope this helps ! [131028460070] |Thanks [131028470010] |Install from RPM, then files change. How can I see the differences? [131028470020] |This is a RedHat Enterprise 5.5 system. [131028470030] |I ran a verification check against an RPM, and it looks like two files have changed: [131028470040] |I have access to the RPM which originally installed these files. [131028470050] |Can diff these changed files against the version which is stored in the RPM? [131028480010] |You can extract the contents of the RPM to the disk (and not into / but some other directory). [131028480020] |I use mc for this, where you can enter a rpm-file like a directory and extract the files you need. [131028480030] |To extract the whole RPM into the current directory you might do something like [131028490010] |Fedora GUI package installer takes very long (>15min) to start [131028490020] |I tried to use Linux GUI for Fedora but I did not find it intuitive than that of windows. [131028490030] |Whenever I tried installing any software using rpm file by double clicking file, many times it stuck and when I reinvoke that from terminal it says yum is already locked and some other installation process is already running and I always have to force quit that process. [131028490040] |From OS point of view this seems to be Scheduling problem. [131028490050] |(How) can we replace scheduling for Linux x window? [131028490060] |Is there any better scheduling available for Fedora linux x window? [131028490070] |Update: [131028490080] |Sorry about late response: [131028490090] |=> When I double click rpm package , it does not show up anything even after waiting for two minutes. [131028490100] |=> When I try to invoke that package from command line thinking something wrong with Fedora GUI it throws me a message saying some other process has the lock. [131028490110] |=> When I kill that process using kill command and try to install using command line it starts with no problems. [131028490120] |=> Many times when I don't kill the process after invoking rpm installation package, I start doing some other work, after more than 15 minutes the installation window comes from nowhere asking for root password, after entering which I get window for downloading dependencies ? [131028490130] |Can somebody clarify me how this problem is not related to scheduling ? [131028500010] |(This is only an answer to your incidental question, not to your main question, but it's too long to put in a comment.) [131028500020] |
  • Your problem has nothing to do with processor time scheduling, which is about sharing CPU time between concurrent applications. [131028500030] |When you click on a rpm package, the GUI package manager starts, and it continues to run until it's done its job; that's exactly the desired behavior. [131028500040] |The fact that the package manager takes more than a couple of seconds to do its first visible subtask (show the password prompt) is a bug or misconfiguration, but it has nothing to do with scheduling.
  • [131028500050] |
  • More generally, scheduling can refer to the attribution of a shared resource to concurrent processes over time. [131028500060] |Here the interesting shared resource is the package database. [131028500070] |Here also, everything is happening normally: when you click on the rpm package, the GUI package installer immediately starts using it, which is exactly what you requested. [131028500080] |Since only one package manager can use the package database at the same time (which is why it takes a lock), you can't start the command-line package manager (rpm) while the GUI package manager is running; even looking at it from a highly theoretical perspective, this is a locking issue, not a scheduling issue.
  • [131028500090] |
  • Scheduling can also refer to scheduling a program for later running; I think it's the primary meaning of the word in the Windows world (“scheduled tasks”), but it's not used as much in the unix world (where “scheduling” out of context refers to CPU scheduling as in my first bullet point above, and people tend to speak of cron jobs).
  • [131028500100] |Turning to your main question, the long delay in starting the GUI package manager is a bug or misconfiguration in that particular program. [131028500110] |I don't know anything about that program, so I'm afraid I can only provide a few generic investigation suggestions. [131028500120] |I'll be asking many questions; the more you answer, the better help you're likely to get. [131028500130] |
  • Is this happening from Fedora out-of-the-box or did you configure some things that may be relevant? [131028500140] |What exact version of Fedora is this anyway? [131028500150] |What architecture (e.g. i386 or amd64)? [131028500160] |Is there any virtualization involved?
  • [131028500170] |
  • Does anything appear in the system logs? (ls -ltr /var/log, and look at any log entry produced when or after you click on the rpm package)
  • [131028500180] |
  • What is the package manager doing? [131028500190] |Is it taking CPU time (top or htop or any of many GUI system activity monitors)? [131028500200] |Is it doing disk I/O (iotop or any of a few GUI system activity monitors or listen to your hard drive if it's near you)? [131028500210] |Is it doing network I/O (tcpdump or Wireshark or ntop)? [131028500220] |Even better, use ps xww or some other process viewer to find out the process ID and run strace -s9999 -p$PID to observe what it's doing that's taking so long.
  • [131028500230] |
  • Do you have the same issue if you start the package manager from your desktop environment's menus?
  • [131028510010] |Develop / Debug C / C++ on Ubuntu? [131028510020] |What's the best IDE for developing C / C++ on Ubuntu? [131028510030] |I tried installing Eclipse but it seems like I need the eclipse-cdt package also. [131028510040] |The problem is there is no such package, at least for Lucid. [131028510050] |How do I proceed? [131028510060] |I am not tied to Eclipse. [131028520010] |The two most common suggestions you will hear are vim and emacs. [131028520020] |Both are good programmable text-editors that are used by many developers. [131028520030] |I am an occasional, amature programmer and an emacs user so here are some of the pros of using emacs: [131028520040] |
  • Syntax Highlighting
  • [131028520050] |
  • Smart Code Navigation &Editing: c-mode allows you to quickly move between various sections of code or quickly comment large chucks of code.
  • [131028520060] |
  • In-browser Compilation: You are always a few keystrokes away from compiling your code.
  • [131028520070] |
  • Version control integration: Almost every major version control system is supported.
  • [131028520080] |
  • Debugging: GBD can be easily used from inside emacs.
  • [131028520090] |This is really just scratching the surface of what you can do from inside emacs. [131028520100] |The downside includes the learning curve, the amount of configuration that most people find necessary to do, and, depending on your hands, the key combinations. [131028520110] |The nice thing is that the key combinations can be made a bit better by remapping CTRL and that once you have your basic emacs configuration you will likely only need the occasional modification. [131028520120] |Here are some good resources if you are interested in getting into emacs: [131028520130] |
  • Built in tutorial system: Start Emacs, press CTRL+h followed by t. ("C-h t" using notation common to emacs users.)
  • [131028520140] |
  • http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html (also available from inside emacs)
  • [131028520150] |
  • http://www.emacswiki.org/ great for information on configuration and unique use cases.
  • [131028530010] |I'm a pretty hard-core Emacs user but still, for developing C++ I prefer Qt-Creator (don't be afraid because of the name, it works well for non-QT-projects) as Emacs lacks good project support and stable code completion [131028530020] |The pros: [131028530030] |
  • Can import CMakeFiles.txt into an automatically created project
  • [131028530040] |
  • Best code completion you'll find on Linux, sometimes even better than Visual Stuudio when it comes to heavily templated code
  • [131028530050] |
  • Very good debugger integration
  • [131028530060] |
  • Available for all major platforms
  • [131028530070] |
  • Free (in both senses) software
  • [131028530080] |
  • version control software integration (SVN. Mercurial, git)
  • [131028530090] |
  • If you develop QT: Interface designer and more
  • [131028540010] |Eclipse is a good choice, because one IDE to many language. [131028540020] |In addition you can install vim plugin, etc. [131028540030] |How to install c/c++: Menu: Help->Install New Software->Add http://download.eclipse.org/tools/cdt/releases/galileo [131028540040] |http://www.eclipse.org/cdt/ [131028540050] |In addition, you should see: http://www.eclipse.org/linuxtools/downloads.php [131028550010] |In addition to mentioned by others I would advice to look at: [131028550020] |
  • Anjuta - Gnome IDE
  • [131028550030] |
  • KDevelop - KDE IDE
  • [131028560010] |QtCreator is great, KDevelop, Netbeans. [131028560020] |Vim is also great if you learn how to use it. [131028570010] |FreeBSD in USB Flash Drive [131028570020] |I like to use live FreeBSD in my USB flash drive. [131028570030] |How can i do it ? [131028570040] |Please give clear way to do it. [131028580010] |Go to http://unetbootin.sourceforge.net/ and download and install their software. [131028580020] |Start the application, choose FreeBSD 8 as distribution and your USB stick at the bottom of the dialog and hit ok. [131028590010] |Changing SMTP authentication in mutt based on From e-mail address [131028590020] |I use mutt as my e-mail reader, and nbSMTP as my SMTP client. [131028590030] |I check e-mail from a half dozen accounts and sort them into miscellaneous folders in my maildir. [131028590040] |Some of the folders are account-specific, but some contain e-mails from multiple accounts in one folder [131028590050] |A number of the accounts are through Gmail, which has the unfortunate security feature of preventing users from sending from addresses that aren't theirs. [131028590060] |Thus if I tell nbSTMP to authenticate as user1@gmail.com and send an e-mail with a From: user2@gmail.com header, Gmail will rewrite the header to From: user1@gmail.com. [131028590070] |I've worked around this somewhat by adding folder hooks for the folders that are account-specific; when I switch to one of those folders the hook changes my sendmail command to pass nbSMTP the appropriate command-line arguments: [131028590080] |However, this doesn't work for the folders that hold mail from multiple accounts, and it doesn't work if I try to e.g. send e-mail from work@example.com when I haven't switched to the work folder (since the folder hook hasn't run). [131028590090] |Is there a way to control how nbSMTP authenticates based on the From header in the outgoing e-mail? [131028590100] |I don't think nbSMTP has the flexibility to handle it itself, so I'm pretty sure it will have to be some kind of mutt configuration like the folder-hook method I'm currently using, but I haven't figured out how to do it. [131028590110] |If necessary I can probably switch SMTP clients, if there's another that does provide the necessary functionality [131028600010] |You could switch to esmtp, there it is pretty trivial: [131028610010] |How to run a script during Gnome log out [131028610020] |I would like to run a script to rsync my home directory to another machine whenever I log out of Gnome. [131028610030] |There is a way to hook into the Gnome logout process? [131028620010] |The script /etc/gdm/PostSession/Default is run by root whenever someone quits his X session. [131028620020] |You might add there something like [131028620030] |before the exit 0. [131028620040] |Then create a file /home/myuser/logout.sh, make it executable and add your rsync call to it. [131028630010] |The myths about viruses in unix/linux [131028630020] |Is it possible for my Linux box to become infected with a virus? [131028630030] |I haven't heard of it happening to anyone I know, and I've heard quite a few times that it isn't possible. [131028630040] |Is that true? [131028630050] |If so, whats up with Linux Anti-Virus software? [131028640010] |Viruses for Linux are possible in principle and there have been some, however in the wild, there are no widespread Linux viruses. [131028640020] |The Linux user base is pretty small and under Linux it is much harder for a virus to do much harm as the user model is pretty restrictive in contrast to e.g. Windows XP. [131028640030] |Therefore virus authors normally target Windows. [131028640040] |There is Linux Anti-Virus software, e.g. from McAfee, but no Linux user I know uses such software. [131028640050] |It is by far more important to install only software from trustworthy sources and keep your system always up to date by installing security updates in a timely manner. [131028650010] |As a historical note, the first Internet worm, the Morris Worm, spread through vulnerabilities in Unix utilities. [131028650020] |It predates Linux, but shows that it is possible for Unix based systems to be infected. [131028660010] |First, it's certainly possible to have viruses under linux. [131028660020] |The inventor of the term "computer virus", Fred Cohen, did his first experiments under 4.3BSD. [131028660030] |A How-To document exists for writing Linux viruses, although it looks like it hasn't had an update in 7 years or so. [131028660040] |Second, source code for sh-script computer viruses has floated around for better than 20 years. [131028660050] |See Tom Duff's 1988 paper, and Doug McIllroy's 1988 paper. [131028660060] |More recently, a platform-independent LaTex virus got developed for a conference. [131028660070] |Runs on Windows and Linux and *BSD. [131028660080] |Naturally, its effects are worse under Windows... [131028660090] |Third, a handful of real, live computer viruses for (at least) linux have appeared, although it's not clear if more than 2 or 3 of these (RST.a and RST.b) ever got found "in the wild". [131028660100] |So, the real question is not "Can linux/unix/BSD contract computer viruses?" but rather, "Given how large the linux desktop and server population is, why doesn't that population have the kind of amazing plague of viruses that Windows attracts?" [131028660110] |I suspect that the reason has something to do with the mild protection given by traditional Unix user/group/other discretionary protections, and the fractured software base that linux supports. [131028660120] |I mean, my server still runs Slackware 12.1, but with a custom-compiled kernel and lots of re-compiled packages. [131028660130] |My desktop runs Arch, which is a rolling release. [131028660140] |Even though they both run "linux", they don't have much in common. [131028660150] |The state of viruses on linux may actually be the normal equilibrium. [131028660160] |The situation on Windows might be the "dragon king", really unusual situation. [131028660170] |The Windows API is insanely baroque, Win32, NT-native API, magic device names like "LP", "CON", "AUX" that can work from any directory, the ACLs that nobody understands, the tradition of single-user, nay, single root user, machines, marking files executable by using part of the file name ('.exe'), all of this probably contributes to the state of malware on Windows. [131028670010] |The simple answer is that no operating system is 100% secure, unless it reads itself from read-only medium at startup is 100% secure. [131028670020] |However, Windows has more vectors for infections, those vectors are more readily accessible, and once infected can do much more harm. [131028670030] |This can be readily seen by reading the "RootKit Arsenal" or other books. [131028670040] |The number of exploits on any machine is roughly proportional to (ave gain for rooting one machine ) * number of machines/(cost to create rooting malware). [131028670050] |Since the number of exploits is proportional to the number of computers it makes sense that the amount of malware is greater on Windows. [131028670060] |But, it is stupid to assume the only reason. [131028670070] |Windows has more viruses is because there are more computers running it. [131028670080] |Note that in Linux getting infected with malware is much less costly then in Windows because the damage is more contained. [131028670090] |Conversly the amount gained by one rooting is smaller). [131028670100] |Note also that the cost of rooting is higher because of the reasons I mention in the first paragraph. [131028670110] |Keep in mind this is true as of now. [131028670120] |At this point linux is a better architected system then Windows. [131028670130] |There are however forces saying that we need more rapid development of user friendly features. [131028670140] |This can lead to making it easier for bugs to exist and viruses to be created. [131028670150] |Already I find Ubuntu to be almost as buggy as Windows. [131028680010] |In my opinion, there is one more reason, beside those mentioned in other answers, that Linux platform does not have much viruses. [131028680020] |Source code of almost all the components of Linux is freely available. [131028680030] |Say, a team of 5 members develop an application. [131028680040] |We include testers and few others in the list and at most 10 person will know the code. [131028680050] |Out of these ten, chances are some will have not enough detailed knowledge of the code. [131028680060] |Hence the number of people who know code good enough to point out bugs, security holes is very less. [131028680070] |Now if this code is made free/open source, the pair of eyes that will review it increases drastically. [131028680080] |Hence the probability of finding security holes also increases. [131028680090] |These new contributors bring their experience with them, and often fresh eyes are able to notice loopholes that originally developers ignored/took for granted/missed. [131028680100] |The more popular the application is, the more contributors it has. [131028680110] |I think this freedom/openness contributes to less number of vulnerabilities of Linux platform. [131028690010] |

    It helps prevent the spread of viruses in Windows

    [131028690020] |Remember that Linux is used in many ways, such as file and email servers. [131028690030] |Files in these servers (MS Office files, outlook messages, EXE programs) can be stored with an infection. [131028690040] |Even though they should not affect the servers themselves, one could configure the server to check every file at the moment that is stored to make sure that it is clean and prevent future spread when they are moved back to a Windows machine. [131028690050] |I myself have it installed for when a friend asked me to check why their XP machine is not working, or for when I plugged my pen drive on a Windows machine. [131028700010] |Sound card not found anymore [131028700020] |I started my ubuntu today and Audio card was not working. [131028700030] |Card is not even listed with lshw. [131028700040] |No device with description like physical id: 1b (I remember the old device settings). [131028700050] |Any ideas? [131028710010] |This can be caused by any number of things, you should take a look at the Comprehensive Sound Problem Solutions Guide on the Ubuntu Forums [131028710020] |Exerpt from the Guide: [131028710030] |(2) Type this into the shell: Code: [131028710040] |Success - At this point, you should see your sound card listed. [131028710050] |This is a positive sign because it means that Ubuntu is detecting the presence of your soundcard, but the drivers are not installed/running. [131028710060] |Leave your shell running since you will need it. [131028710070] |Failure - If it is not listed, then there are a few things that you can do. [131028710080] |
  • If your soundcard is an onboard sound card, then it might be disabled in the system's BIOS. [131028710090] |You will have to reboot and hit the key that lets you enter into the BIOS (usually Delete, F2, or F.
  • [131028710100] |
  • If your soundcard is not onboard, make sure that it is properly seated in the PCI slot. [131028710110] |If your card is working under Windows then this is not a problem.
  • [131028720010] |Configuring a package that was downloaded using apt-get [131028720020] |I have to reconfigure PHP with some extra options but since I downloaded it on Ubuntu using apt-get I can't seem to find the source anywhere (php -i points the source to a tmp folder which no longer exists). [131028720030] |Is there anyway to reconfigure without having to use apt-get -o=? [131028720040] |One of my issues is that I need the version to say the same (5.3.2) doing an apt-get now tries to download 5.3.3 [131028730010] |Christopher's answer made me go read the manpage and you can specify the version when downloading the source with apt-get. [131028730020] |From the apt-get manpage. [131028730030] |source [131028730040] |... [131028730050] |A specific source version can be retrieved by postfixing the source name with an equals and then the version to fetch, similar to the mechanism used for the package files. [131028730060] |This enables exact matching of the source package name and version, implicitly enabling the APT::Get::Only-Source option. [131028730070] |Note that source packages are not tracked like binary packages, they exist only in the current directory and are similar to downloading source tar balls. [131028730080] |so running [131028730090] |should do the trick [131028740010] |apt-get source $PACKAGE=$PACKAGEVERSION will download the source for a package to the current directory. [131028740020] |apt-get build-dep $PACKAGE will install the build dependencies for a package so you can build it. [131028740030] |dpkg-buildpackage will build it. [131028740040] |dpkg -i $PACKAGEFILE will install a package file. (.deb) [131028750010] |If you mean the configuration that happens when you install the package, then [131028750020] |If you mean you want to recompile the package with different compile-time configuration, then, if the package is still available from your configured sources: [131028750030] |If the package has fallen off the repositories, you'll have to search for it on the web. [131028750040] |All Debian packages are archived at snapshot.debian.org. [131028760010] |LiveCD web browser distro [131028760020] |Hi [131028760030] |I'm not too familiar with Linux, but hope it may be ideal for this situation. [131028760040] |I'm hoping there is a boot from CD style distro that will be ideal for my daughter to use solely for browsing the internet. [131028760050] |The only odd requirement is that it must be able to save a list of websites to 'favourites' (maybe on USB for example), or as a next best option maybe that list can be hardcoded (such as on a config file) within the distro? [131028760060] |Would this be possible? [131028760070] |Can you recommend a distribution? [131028760080] |Thanks all. [131028760090] |Many useful suggestions here. [131028760100] |Sorry I could only accept one answer [131028770010] |Although it might be bloated, you could just use Ubuntu Live (netbook or desktop). [131028770020] |If you copy that to a USB disk via their usb-creator-gtk, you can specify an amount of persistent storage for the user. [131028770030] |If you need to make more modifications to a default install, you can always take a look at this article from lifehacker about customizing a live cd. [131028780010] |While Gert's suggestion is probably the best one, it comes with the "disadvantages" that your daughter can do other stuff with her personal persistent storage as well. [131028780020] |A simpler approach would be to just use a generic LIVE CD (take whichever you like) and put the list of websites coded as a landing-page somewhere: Drop the file somewhere and assign it a short URL via an URL shortening service (bit.ly allows you to customize the shortURL so it could be "bit.ly/DaughterName" for example). [131028790010] |One more idea: You can use a normal Live CD without persistent storage and use an online service like http://www.delicious.com/ or http://www.google.com/bookmarks/ to keep track of favorite pages. [131028800010] |Why does sed act differently depending on the output file? [131028800020] |Hey, [131028800030] |If I run: [131028800040] |on one large file (2500+ lines) I find that the resulting file will only have about 900 lines after the command in cygwin and will have no lines in gentoo. [131028800050] |However if I run [131028800060] |it retains all the lines as it should. [131028800070] |My question is why and is there any way to do it other than [131028800080] |Thanks! [131028810010] |Why don't you just write [131028810020] |the -i means "in place" [131028820010] |fschmitt's answer is the best when using sed; however, in a more general sense this anti-pattern: [131028820020] |is likely to cause you a good number of problems. [131028820030] |For instance if I have a file called infile that looks like this: [131028820040] |and run this command: [131028820050] |I get [131028820060] |But if I run cat infile | tr "[:upper:]" "[:lower:]" >infile I will get an empty file. [131028820070] |Why? [131028820080] |Well, when you use the output redirection operator >you are saying "Put my standard output into this file, and if that file exists overwrite it." [131028820090] |Now you may think that this should work since your filter will return all the lines of the original file. [131028820100] |However, what often ends up happening is that the shell will clobber your file before any lines are read. [131028820110] |Then, your filter command will go to read lines from an empty file, find none, and thus return none. [131028820120] |In some places you might get "lucky" enough to have some lines read before the file gets clobber, but it is best to just avoid this pattern altogether. [131028820130] |To get around this particular issue you have a few options. [131028820140] |One is to simply do something like: [131028820150] |If you need to be sure that your temp file won't clobber some other file or have other nasty things happen to it, you should look into mktemp. (see man mktemp and info coreutils mktemp) [131028820160] |Another option is to use sponge from moreutils. [131028820170] |Also, many of these examples are examples of useless uses of cat. [131028830010] |sending & receiving files with windows [131028830020] |I have some movie files on my Ubuntu computer that I would like to send to my XP laptop. [131028830030] |Using a USB is too much hassle. [131028830040] |Is there any other way of achieving this? [131028830050] |Something like the scp command would great. [131028840010] |Install WinSCP on the Windows machine and use it to connect to the Linux machine. [131028840020] |Alternatively, use the Windows mechanisms to create a folder share called e.g. share1 and then under Linux start the file manager nautilus, hit Ctrl+l to get a location text field and write into it smb://192.168.1.24/share1 where you of course have to enter the IP adress or hostname of your windows machine. [131028850010] |Share your windows folder over the network and your linux computer should be able to access it via Samba. [131028860010] |Since you are on Ubuntu which has python installed per default you can just run python -m SimpleHTTPServer in the directory of files you want shared. [131028860020] |This just creates a webserver on port 8000 that serves whatever is in that folder, so on your Windows Computer you can just point a browser to http://IP_OF_UBUNTU_BOX:8000 and download whatever you need. [131028870010] |If you are running a desktop on your Ubuntu machine, you should be able to right click on the folder that contains the items you wish to share. [131028870020] |Start by right-clicking the folder you want to share, and select Share Folder. [131028870030] |If the services required to share files/folders aren’t installed, you’ll be prompted to install them. [131028870040] |After clicking Install services they will automatically start to download and install. [131028870050] |Once that has completed you’ll be presented with an options window. [131028870060] |From here you can select the type of sharing (SMB or NFS), give the shared folder a name and decide if you want read-only access to the folder. [131028870070] |Click OK when you’re done. [131028870080] |Now open a terminal in Ubuntu and enter the command: [131028870090] |Samba user should now be added. [131028870100] |And now other computers can connect to your shared folder.. [131028880010] |vector images in linux [131028880020] |Gimp cannot create vector images, is there a good linux application for this? [131028890010] |How about Inkscape ? [131028900010] |Try Google, Wikipedia or freshmeat. [131028910010] |inkscape is today the de facto standard. [131028910020] |In earlier times, people used xfig and I still love it, however it isn't for the faint of heart as the user interface is disturbingly ugly and unusual (but highly efficient once you got to know it). [131028910030] |Then there is also dia which is modeled a bit after xfig but with a normal Gtk GUI. [131028920010] |I want to mention Calligra Suite's Karbon, formerly Koffice Karbon 14, for KDE. [131028920020] |Fits in nicely with Any KDE/QT based desktop, in contrast to other Vector tools, though I'm not sure that it currently competes on features, or stability, but you'd have to try it to find that out. [131028920030] |To quote their features page [131028920040] |
  • Loading support for ODG, SVG, WPG, WMF, EPS/PS
  • [131028920050] |
  • Writing support for ODG, SVG, PNG, PDF, WMF
  • [131028920060] |
  • Customizable user interface with freely placable toolbars and dockers
  • [131028920070] |
  • Layer docker for easy handling of complex documents including preview thumbnails, support for grouping shapes via drag and drop, controlling visibility of shapes or locking
  • [131028920080] |
  • Advanced path editing tool with great on-canvas editing capabilies
  • [131028920090] |
  • Various drawing tools for creating path shapes including a draw path tool, a pencil tool as well as a calligraphy drawing tool
  • [131028920100] |
  • Gradient and pattern tools for easy on-canvas editing of gradient and pattern styles
  • [131028920110] |
  • Top notch snapping facilities for guided drawing and editing (e.g. snapping to grid, guide lines, path nodes, bounding boxes, orthogonal positions, intersections of path shapes or extensions of lines and paths)
  • [131028920120] |
  • Includes many predefined shapes including basic shapes like stars, circle/ellipse, rectangle, image
  • [131028920130] |
  • Artistic text shape with support for following path outlines (i.e. text on path) Complex path operations and effects like boolean set operations, path flattening, rounding and refining as well as whirl/pinch effects
  • [131028920140] |
  • Extensible by writing plugins for new tools, shapes and dockers
  • [131028930010] |kile not appearing under applications in suse [131028930020] |I have installed kile via yast package manager in suse but it does not appear under applications. [131028930030] |I am using suse 11.2. [131028930040] |When I search in applications kile is not found but I can launch it in the terminal. [131028940010] |How to install compiler and binutils on FreeNAS? [131028940020] |I'd like to run a backup tool, duplicity, that apparently requires a cc compiler and binutils. [131028940030] |I'm able to locate and install the required BSD packages for python, gcc, and dependencies from ftp2.freebsd.org. [131028940040] |However, I can't find binutils. [131028940050] |How are binutils installed on a system like FreeNAS? [131028940060] |I'm working with FreeNAS 0.70 (based on FreeBSD 7.2). [131028940070] |I see several packages with binutils in the name, but it's not clear any of them are for my i386 platform. [131028940080] |e.g. [131028940090] |I see i386-rtems-binutils-2.19.1, but I can't find any info that suggests this is correct for my platform. [131028940100] |Google results mention it's for realtime systems. [131028950010] |There is an extensive howto on how to get gcc and binutils running on a FreeBSD System at http://www.freebsd.org/doc/en/articles/custom-gcc/article.html As you say FreeNAS is based on FreeBSD, this probably applies here, too. [131028950020] |But keep in mind, that compiling complex software on an embedded system isn't much fun. [131028950030] |Probably you will have more success by setting up a cross-compiler on your main system and compile there the software for you FreeNAS system. [131028950040] |See http://www.productionmonkeys.net/guides/freenas/building-freenas for a howto on this. [131028960010] |Where can I find Software for Unix/Linux that does X? [131028960020] |I'm looking for a program that does X and runs on unix (or at least on my particular unix system). [131028960030] |Where can I look? [131028960040] |Is there a more efficient way than a generic web search? [131028970010] |The first place to look is your distribution's package list. [131028970020] |That's where you'll find the easiest-to-install programs. [131028970030] |Some package management tools provide advanced ways of searching it. [131028970040] |
  • On Debian and Debian-based distributions (e.g. Ubuntu), you can search package descriptions with apt-cache search or aptitude search (on the command line), or through the search facility in interactive package managers such as Aptitude and Synaptic. [131028970050] |There's also more structured information in the form of tags: install the debtags package, and make basic queries with the debtags command or browse the tag database in Aptitude. [131028970060] |Tags are a good way to find packages to work with a particular file format, for example.
  • [131028970070] |
  • On Red Hat and other distributions using yum (e.g. CentOS, Fedora), you can search package descriptions with yum search (on the command line).
  • [131028970080] |If your distribution doesn't have anything, you can also look in the package database of another distribution. [131028970090] |Example distributions with a large package database are Debian, Fedora, FreeBSD, Ubuntu. [131028980010] |The Free Software Foundation maintains an online catalog of free software applications at http://directory.fsf.org/ From the website: [131028980020] |We catalog useful free software that runs under free operating systems — particularly the GNU operating system and its GNU/Linux variants. [131028980030] |Licenses are verified for each and every program listed in this directory. [131028980040] |For each listed piece of software, a short description is provided, together with links to the homepage and user support resources are provided, as well as checkout commands and/or links to where the program sources can be downloaded. [131028990010] |In addition to the other suggestions forwarded, there is a good site out there called Alternative To that is great for looking up software for other platforms based on some piece of software you know on another platform. [131029000010] |If we mention freshmeat, we should also mention Sourceforge.net with the slogan: [131029000020] |"SourceForge is your location to download and develop free open source software". [131029000030] |Also sometimes Google Code may be a great source. [131029010010] |In line with Caleb's answer there is the Linux App Finder. [131029010020] |I generally find it easier to start with a Windows app and search for "linux alternative " as Windows apps are usually easier to find information on because they are more heavily promoted and more people know about them. [131029020010] |BerliOS also hosts a good number of UNIX/Linux applications. [131029030010] |Is there a pbuilder-like environment for RedHat? [131029030020] |I would like to know if is there any utility like Debian's pbuilder, to build RPM packages on RedHat using a clean environment (chroot). [131029030030] |I've found mach which has support for something like this but under a Debian environment, and doesn't support RHEL. [131029030040] |I need something that runs on RHEL 5.5. [131029040010] |The OpenSUSE Build System support multiple distributions and supports the environment that you describe, a sandboxed environment to ensure that the builds are consistent and reliable: [131029040020] |https://build.opensuse.org/ [131029040030] |You can also install the OpenSUSE Build System as an appliance. [131029040040] |This is a self-contained Linux VM image (VMware, QEmu, or ISO versions are supported) that contain the entire stack to set up your own build farms: [131029040050] |http://en.opensuse.org/openSUSE:Build_Service_Appliance [131029050010] |mach supports RHEL with an appropriate configuration file, ex: [131029060010] |Mock is what you're looking for. [131029060020] |It's based on Mach and is packaged in EPEL. [131029060030] |I regularly use it to build RPM packages for and on RHEL and Fedora. [131029070010] |If you want to go the whole way, you can set up Koji, which uses Mock (from cdgagne's answer) as one of it's components. [131029070020] |Koji is what builds Fedora and is freely downloadable from its website. [131029070030] |Afaik, Fedora runs Koji on RHEL, so it should be fine for your purposes.