mikshaw
Group: Members
Posts: 4856
Joined: July 2004 |
|
Posted: July 26 2007,02:27 |
|
Quote | once I delete this directory, only the symlinks are left. These will become broken links - I think broken links are shown with a different colour from normal links when running `ls` | And, just for the sake of saying something else, in mc they are shown with an exclamation point as a file type (if you have file types enabled). In the case of deleting directories or unmounting uci packages, a usable alternative to a symlink is a wrapper script. I use wrappers for several of my frequently used ucis. The wrapper first checks for the existence of the executable before trying to run it. In some cases, the wrapper chooses a different executable if the desired one is not found. For example, this checks for the vim uci package, but runs vi if it's not found:
Code Sample | #!/bin/bash if [ -x "/opt/vim/bin/vim" ]; then exec /opt/vim/bin/vim -c "syntax on" "$@" else exec vi "$@" fi |
Quote | .tar.gz seems to imply that the package will be self-contained, whereas if you are downloading a .dsl, the expectation is to have files scattered all over /usr/local. | Specifically, .tar.gz mydsl packages install into /opt, which is already part of ramdisk. This does not necessarily mean that they will be self-contained, but the limited target directories pretty much force this to be the case. It is possible to spread out the files, but this is not recommended and can easily result in failure of the program installation. The .dsl packages install in the standard unix/linux locations, which to many people might appear to be a mess. There is a logic to this, though, since grouping similar file types together allows for much quicker access to executables and shared resources (fewer directories needed to search for libraries, headers, and executables). Comparing this to Windows, for example, it is much easier to run an arbitrary command without needing to know where it is...Windows needs a full path to work in most cases. That said, I'm not a huge fan of this logic when it comes to complex programs that include many files. In those cases I'd rather have a self-contained package (or nearly so...shared libraries would be the exception) that can be easily moved, removed, or updated without the need to search for support files. The binary releases of Firefox and Blender are good examples of this.
-------------- http://www.tldp.org/LDP/intro-linux/html/index.html
|