NFS vs SSHFS

Hello.
I got two computers that both runs linux (arch). One of them can be classified as "user-station" and the other as "server". I would like to develop in PHP but instead of creating a local copy of the files on my user-station, and then moving them with sftp/ftp or something else to the server, I would like to directly save files on the server. I was thinking about using NFS, but I also got suggestion for SSHFS.
There is one problem I tough about:
The remote web folder is owned by root hence I would need to either run sudo before any operation on the files or finding some other solution (I might think about per-user-web-folder for apache [i.e. localhost/~username]). I need the *FS to handle it in some way or to find workout.
Some limitations:
* For now the webserver will be accessed only locally, but there might be a need to open it to specific public clients, hence I need the *FS to handle allow and deny on application level (example: allow 80.90.100.200 to access the www root folder but deny from him the mount option).
Thats it I think.
Thanks for help
Last edited by skwo (2009-12-08 19:38:01)

I don't know about NFS, but with sshfs you can do "sshfs root@<host>:<www> <mountpoint> -o uid=<your uid>,gid=<your gid>".  In terms of the need to open it up to specific clients, that should be handled by your web server's firewall, apache settings, and ssh config.

Similar Messages

  • Mount filesystems (NFS & SSHFS) on specific network comming up

    Hi,
    I'd like to mount some NFS and SSHFS shares when a specific network/interface has a connection. How can I do this?
    Thanks for your help in advance.

    The problem was how the exports were configured from the Synology box. I tried to specify access for my whole subnet using 192.168.1.* as the host specification. A more thorough reading of the /etc/exports man page statement on wildcards notes the following: "Wildcards should not be used with IP addresses; however, it is possible for them to work accidentally if reverse DNS lookups fail." In my case, my servers had DNS (and therefore presumable revers DNS) entries, and therefore mounts failed. My clients (largely laptops) get a DHCP address from my router, and don't have DNS entries in my domain. Therefore, the mounts "worked accidentally" from my clients, and not from my servers.
    I'm now adding "works accidentally" to my lexicon of strange & wonderous software development feature terms, along with "bug-like feature". Now that I've calmed down enough from the lost week of spare time, I should be able to submit an RFE to Synology without using any profanity. Had I entered the offending wildcards by hand-editing the exports, I'd hold myself entirely responsible. Since I did this with the Synology UI, it seems reasonable to expect that I'd at least see a warning that my host spec was potentially not going to achieve the intended results.

  • Why do i need udev+udisks+udisks2+gvfs installed to dynamic mount?

    hi there,
    yes, i have used the search function on that, but still have unanswered questions.
    1.
    why do i need udev+udisks+udisks2+gvfs installed to dynamically mount internal (ntfs, ext4) partitions ?
    If one these packages is missing, mounting an internal drive with "pcmanfm" is not possible.
    I know how to static mount these drives via "fstab", but i want to mount them when i need the access.
    2.
    why are my removable devices not automatically mounted in "pcmanfm" when plugged in?
    I have another OS (Lubuntu) running and this automatically recognizes when a cd is inserted or a usb stick is plugged in.
    I have tried to install the package "gvfs-afc" and rebooted, still no usb stick to see. But when i enter:
    sudo blkid -c /dev/null
    The usb stick is listed as "sdb1"
    I am using 64bit arch linux 3.9.3-1 with openbox+lxde.

    jasonwryan wrote:
    You don't. You need udev for a whole lot of other stuff, so leave that aside. To automount removable media, you can just use udisks and a helper like ud{iskie,evil}.
    For an ntfs partition, you will also need that driver.
    Comparing it with the Lubuntu; I am sure there is a lot more cruft preinstalled that makes this happen. In Arch, you just install what you need.
    The udev page has the details.
    so i have uninstalled the gvfs+udisks2 packages, rebooted and installed udevil-git and rebooted again.
    No partition is shown in the filemanager now. I really dont get it. The udev wiki says udev needs rules but my "/etc/udev/rules.d" folder is empty.
    The udisks wiki says that udisks and udisks2 are incompatible and that only one is needed and that udisks2 should be installed for gnome systems and udisks for xfce, but i have lxde installed. So it is not working with udisks and lxde (pcmanfm), when i try to install udisks2 additionally, it also does not work. Uninstalling udisks is also not possible because of the dependancy to libfm and so on...
    Here is my /etc/udevil/udevil-user-harry.conf:
    # udevil configuration file /etc/udevil/udevil.conf
    # This file controls what devices, networks, and files users may mount and
    # unmount via udevil (set suid).
    # IMPORTANT: IT IS POSSIBLE TO CREATE SERIOUS SECURITY PROBLEMS IF THIS FILE
    # IS MISCONFIGURED - EDIT WITH CARE
    # Note: For greater control for specific users, including root, copy this
    # file to /etc/udevil/udevil-user-USERNAME.conf replacing USERNAME with the
    # desired username (eg /etc/udevil/udevil-user-jim.conf).
    # Format:
    # OPTION = VALUE[, VALUE, ...]
    # DO NOT USE QUOTES except literally
    # Lines beginning with # are ignored
    # To log all uses of udevil, set log_file to a file path:
    #log_file = /var/log/udevil.log
    # Approximate number of days to retain log entries (0=forever, max=60):
    log_keep_days = 10
    # allowed_types determines what fstypes can be passed by a user to the u/mount
    # program, what device filesystems may be un/mounted implicitly, and what
    # network filesystems may be un/mounted.
    # It may also include the 'file' keyword, indicating that the user is allowed
    # to mount files (eg an ISO file). The $KNOWN_FILESYSTEMS variable may
    # be included to include common local filesystems as well as those listed in
    # /etc/filesystems and /proc/filesystems.
    # allowed_types_USERNAME, if present, is used to override allowed_types for
    # the specific user 'USERNAME'. For example, to allow user 'jim' to mount
    # only vfat filesystems, add:
    # allowed_types_jim = vfat
    # Setting allowed_types = * does NOT allow all types, as this is a security
    # risk, but does allow all recognized types.
    # allowed_types = $KNOWN_FILESYSTEMS, file, cifs, smbfs, nfs, curlftpfs, ftpfs, sshfs, davfs, tmpfs, ramfs
    allowed_types = $KNOWN_FILESYSTEMS, file, ntfs, vfat
    # allowed_users is a list of users permitted to mount and unmount with udevil.
    # Wildcards (* or ?) may be used in the usernames. To allow all users,
    # specify "allowed_users=*". UIDs may be included using the form UID=1000.
    # For example: allowed_users = carl, UID=1000, pre*
    # Also note that permission to execute udevil may be limited to users belonging
    # to the group that owns /usr/bin/udevil, such as 'plugdev' or 'storage',
    # depending on installation.
    # allowed_users_FSTYPE, if present, is used to override allowed_users when
    # mounting or unmounting a specific fstype (eg nfs, ext3, file).
    # Note that when mounting a file, fstype will always be 'file' regardless of
    # the internal fstype of the file.
    # For example, to allow only user 'bob' to mount nfs shares, add:
    # allowed_users_nfs = bob
    # The root user is NOT automatically allowed to use udevil in some cases unless
    # listed here (except for unmounting anything or mounting fstab devices).
    allowed_users = harry, root
    # allowed_groups is a list of groups permitted to mount and unmount with
    # udevil. The user MUST belong to at least one of these groups. Wildcards
    # or GIDs may NOT be used in group names, but a single * may be used to allow
    # all groups.
    # Also note that permission to execute udevil may be limited to users belonging
    # to the group that owns /usr/bin/udevil, such as 'plugdev' or 'storage',
    # depending on installation.
    # allowed_groups_FSTYPE, if present, is used to override allowed_groups when
    # mounting or unmounting a specific fstype (eg nfs, ext3, file). For example,
    # to allow only members of the 'network' group to mount smb and nfs shares,
    # use both of these lines:
    # allowed_groups_smbfs = network
    # allowed_groups_nfs = network
    # The root user is NOT automatically allowed to use udevil in some cases unless
    # listed here (except for unmounting anything or mounting fstab devices).
    allowed_groups = storage
    # allowed_media_dirs specifies the media directories in which user mount points
    # may be located. The first directory which exists and does not contain a
    # wildcard will be used as the default media directory (normally /media or
    # /run/media/$USER).
    # The $USER variable, if included, will be replaced with the username of the
    # user running udevil. Wildcards may also be used in any directory EXCEPT the
    # default. Wildcards will not match a /
    # allowed_media_dirs_FSTYPE, if present, is used to override allowed_media_dirs
    # when mounting or unmounting a specific fstype (eg ext2, nfs). For example,
    # to cause /media/network to be used as the default media directory for
    # nfs and ftpfs mounts, use these two lines:
    # allowed_media_dirs_nfs = /media/network, /media, /run/media/$USER
    # allowed_media_dirs_ftpfs = /media/network, /media, /run/media/$USER
    # NOTE: If you want only the user who mounted a device to have access to it
    # and be allowed to unmount it, specify /run/media/$USER as the first
    # allowed media directory.
    # IMPORTANT: If an allowed file is mounted to a media directory, the user may
    # be permitted to unmount its associated loop device even though internal.
    # INCLUDING /MNT HERE IS NOT RECOMMENDED. ALL ALLOWED MEDIA DIRECTORIES
    # SHOULD BE OWNED AND WRITABLE ONLY BY ROOT.
    allowed_media_dirs = /media, /run/media/$USER
    # allowed_devices is the first criteria for what block devices users may mount
    # or unmount. If a device is not listed in allowed_devices, it cannot be
    # un/mounted (unless in fstab). However, even if a device is listed, other
    # factors may prevent its use. For example, access to system internal devices
    # will be denied to normal users even if they are included in allowed_devices.
    # allowed_devices_FSTYPE, if present, is used to override allowed_devices when
    # mounting or unmounting a specific fstype (eg ext3, ntfs). For example, to
    # prevent all block devices containing an ext4 filesystem from being
    # un/mounted use:
    # allowed_devices_ext4 =
    # Note: Wildcards may be used, but a wildcard will never match a /, except
    # for "allowed_devices=*" which allows any device. The recommended setting is
    # allowed_devices = /dev/*
    # WARNING: ALLOWING USERS TO MOUNT DEVICES OUTSIDE OF /dev CAN CAUSE SERIOUS
    # SECURITY PROBLEMS. DO NOT ALLOW DEVICES IN /dev/shm
    allowed_devices = /dev/*
    # allowed_internal_devices causes udevil to treat any listed block devices as
    # removable, thus allowing normal users to un/mount them (providing they are
    # also listed in allowed_devices).
    # allowed_internal_devices_FSTYPE, if present, is used to override
    # allowed_internal_devices when mounting or unmounting a specific fstype
    # (eg ext3, ntfs). For example, to allow block devices containing a vfat
    # filesystem to be un/mounted even if they are system internal devices, use:
    # allowed_internal_devices_vfat = /dev/sdb*
    # Some removable esata drives look like internal drives to udevil. To avoid
    # this problem, they can be treated as removable with this setting.
    # WARNING: SETTING A SYSTEM DEVICE HERE CAN CAUSE SERIOUS SECURITY PROBLEMS.
    # allowed_internal_devices =
    # allowed_internal_uuids and allowed_internal_uuids_FSTYPE work similarly to
    # allowed_internal_devices, except that UUIDs are specified instead of devices.
    # For example, to allow un/mounting of an internal filesystem based on UUID:
    # allowed_internal_uuids = cc0c4489-8def-1e5b-a304-ab87c3cb626c0
    # WARNING: SETTING A SYSTEM DEVICE HERE CAN CAUSE SERIOUS SECURITY PROBLEMS.
    # allowed_internal_uuids =
    # forbidden_devices is used to prevent block devices from being un/mounted
    # even if other settings would allow them (except devices in fstab).
    # forbidden_devices_FSTYPE, if present, is used to override
    # forbidden_devices when mounting or unmounting a specific fstype
    # (eg ext3, ntfs). For example, to prevent device /dev/sdd1 from being
    # mounted when it contains an ntfs filesystem, use:
    # forbidden_devices_ntfs = /dev/sdd1
    # NOTE: device node paths are canonicalized before being tested, so forbidding
    # a link to a device will have no effect.
    forbidden_devices =
    # allowed_networks determines what hosts may be un/mounted by udevil users when
    # using nfs, cifs, smbfs, curlftpfs, ftpfs, or sshfs. Hosts may be specified
    # using a hostname (eg myserver.com) or IP address (192.168.1.100).
    # Wildcards may be used in hostnames and IP addresses, but CIDR notation
    # (192.168.1.0/16) is NOT supported. IP v6 is supported. For example:
    # allowed_networks = 127.0.0.1, 192.168.1.*, 10.0.0.*, localmachine, *.okay.com
    # Or, to prevent un/mounting of any network shares, set:
    # allowed_networks =
    # allowed_networks_FSTYPE, if present, is used to override allowed_networks
    # when mounting or unmounting a specific network fstype (eg nfs, cifs, sshfs,
    # curlftpfs). For example, to limit nfs and samba shares to only local
    # networks, use these two lines:
    # allowed_networks_nfs = 192.168.1.*, 10.0.0.*
    # allowed_networks_cifs = 192.168.1.*, 10.0.0.*
    allowed_networks = *
    # forbidden_networks and forbidden_networks_FSTYPE are used to specify networks
    # that are never allowed, even if other settings allow them (except fstab).
    # NO REVERSE LOOKUP IS PERFORMED, so including bad.com will only have an effect
    # if the user uses that hostname. IP lookup is always performed, so forbidding
    # an IP address will also forbid all corresponding hostnames.
    forbidden_networks =
    # allowed_files is used to determine what files in what directories may be
    # un/mounted. A user must also have read permission on a file to mount it.
    # Note: Wildcards may be used, but a wildcard will never match a /, except
    # for "allowed_files=*" which allows any file. For example, to allow only
    # files in the /share directory to be mounted, use:
    # allowed_files = /share/*
    # NOTE: Specifying allowed_files_FSTYPE will NOT work because the fstype of
    # files is always 'file'.
    allowed_files = *
    # forbidden_files is used to specify files that are never allowed, even if
    # other settings allow them (except fstab). Specify a full path.
    # Note: Wildcards may be used, but a wildcard will never match a /, except
    # for "forbidden_files = *".
    # NOTE: file paths are canonicalized before being tested, so forbidding
    # a link to a file will have no effect.
    forbidden_files =
    # default_options specifies what options are always included when performing
    # a mount, in addition to any options the user may specify.
    # Note: When a device is present in /etc/fstab, and the user does not specify
    # a mount point, the device is mounted with normal user permissions using
    # the fstab entry, without these options.
    # default_options_FSTYPE, if present, is used to override default_options
    # when mounting a specific fstype (eg ext2, nfs).
    # The variables $USER, $UID, and $GID are changed to the user's username, UID,
    # and GID.
    # FOR GOOD SECURITY, default_options SHOULD ALWAYS INCLUDE: nosuid,noexec,nodev
    # WARNING: OPTIONS PRESENT OR MISSING CAN CAUSE SERIOUS SECURITY PROBLEMS.
    default_options = nosuid, noexec, nodev, noatime
    default_options_file = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, ro
    # mount iso9660 with 'ro' to prevent mount read-only warning
    default_options_iso9660 = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, ro, utf8
    default_options_udf = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_vfat = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID, utf8
    default_options_msdos = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID
    default_options_umsdos = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID
    default_options_ntfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, utf8
    default_options_cifs = nosuid, noexec, nodev, uid=$UID, gid=$GID
    default_options_smbfs = nosuid, noexec, nodev, uid=$UID, gid=$GID
    default_options_sshfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, nonempty, allow_other
    default_options_curlftpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID, nonempty, allow_other
    default_options_ftpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_davfs = nosuid, noexec, nodev, uid=$UID, gid=$GID
    default_options_tmpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_ramfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    # allowed_options determines all options that a user may specify when mounting.
    # All the options used in default_options above must be included here too, or
    # they will be rejected. If the user attempts to use an option not included
    # here, an error will result. Wildcards may be used.
    # allowed_options_FSTYPE, if present, is used to override allowed_options
    # when mounting a specific fstype (eg ext2, nfs).
    # The variables $USER, $UID, and $GID are changed to the user's username, UID,
    # and GID.
    # If you want to forbid remounts, remove 'remount' from here.
    # WARNING: OPTIONS HERE CAN CAUSE SERIOUS SECURITY PROBLEMS - CHOOSE CAREFULLY
    allowed_options = nosuid, noexec, nodev, noatime, fmask=0022, dmask=0022, uid=$UID, gid=$GID, ro, rw, sync, flush, iocharset=*, utf8, remount
    allowed_options_nfs = nosuid, noexec, nodev, noatime, ro, rw, sync, remount, port=*, rsize=*, wsize=*, hard, proto=*, timeo=*, retrans=*
    allowed_options_cifs = nosuid, noexec, nodev, ro, rw, remount, port=*, user=*, username=*, pass=*, password=*, guest, domain=*, uid=$UID, gid=$GID, credentials=*
    allowed_options_smbfs = nosuid, noexec, nodev, ro, rw, remount, port=*, user=*, username=*, pass=*, password=*, guest, domain=*, uid=$UID, gid=$GID, credentials=*
    allowed_options_sshfs = nosuid, noexec, nodev, noatime, ro, rw, uid=$UID, gid=$GID, nonempty, allow_other, idmap=user, BatchMode=yes, port=*
    allowed_options_curlftpfs = nosuid, noexec, nodev, noatime, ro, rw, uid=$UID, gid=$GID, nonempty, allow_other, user=*
    allowed_options_ftpfs = nosuid, noexec, nodev, noatime, ro, rw, port=*, user=*, pass=*, ip=*, root=*, uid=$UID, gid=$GID
    # mount_point_mode, if present and set to a non-empty value, will cause udevil
    # to set the mode (permissions) on the moint point after mounting If not
    # specified or if left empty, the mode is not changed. Mode must be octal
    # starting with a zero (0755).
    # mount_point_mode_FSTYPE, if present, is used to override mount_point_mode
    # when mounting a specific fstype (eg ext2, nfs).
    # NOT SETTING A MODE CAN HAVE SECURITY IMPLICATIONS FOR SOME FSTYPES
    mount_point_mode = 0755
    # don't set a mode for some types:
    mount_point_mode_sshfs =
    mount_point_mode_curlftpfs =
    mount_point_mode_ftpfs =
    # Use the settings below to change the default locations of programs used by
    # udevil, or (advanced topic) to redirect commands to your scripts.
    # When substituting scripts, make sure they are root-owned and accept the
    # options used by udevil (for example, the mount_program must accept --fake,
    # -o, -v, and other options valid to mount.)
    # Be sure to specify the full path and include NO OPTIONS or other arguments.
    # These programs may also be specified as configure options when building
    # udevil.
    # THESE PROGRAMS ARE RUN AS ROOT
    # mount_program = /bin/mount
    # umount_program = /bin/umount
    # losetup_program = /sbin/losetup
    # setfacl_program = /usr/bin/setfacl
    # validate_exec specifies a program or script which provides additional
    # validation of a mount or unmount command, beyond the checks performed by
    # udevil. The program is run as a normal user (if root runs udevil,
    # validate_exec will NOT be run). The program is NOT run if the user is
    # mounting a device without root priviledges (a device in fstab).
    # The program is passed the username, a printable description of what is
    # happening, and the entire udevil command line as the first three arguments.
    # The program must return an exit status of 0 to allow the mount or unmount
    # to proceed. If it returns non-zero, the user will be denied permission.
    # For example, validate_exec might specify a script which notifies you
    # of the command being run, or performs additional steps to authenticate the
    # user.
    # Specify a full path to the program, with NO options or arguments.
    # validate_exec =
    # validate_rootexec works similarly to validate_exec, except that the program
    # is run as root. validate_rootexec will also be run if the root user runs
    # udevil. If both validate_exec and validate_rootexec are specified,
    # validate_rootexec will run first, followed by validate_exec.
    # The program must return an exit status of 0 to allow the mount or unmount
    # to proceed. If it returns non-zero, the user will be denied permission.
    # Unless you are familiar with writing root scripts, it is recommended that
    # rootexec settings NOT be used, as it is easy to inadvertently open exploits.
    # THIS PROGRAM IS ALWAYS RUN AS ROOT, even if the user running udevil is not.
    # validate_rootexec =
    # success_exec is run after a successful mount, remount, or unmount. The
    # program is run as a normal user (if root runs udevil, success_exec
    # will NOT be run).
    # The program is passed the username, a printable description of what action
    # was taken, and the entire udevil command line as the first three arguments.
    # The program's exit status is ignored.
    # For example, success_exec might run a script which informs you of what action
    # was taken, and might perform further actions.
    # Specify a full path to the program, with NO options or arguments.
    # success_exec =
    # success_rootexec works similarly to success_exec, except that the program is
    # run as root. success_rootexec will also be run if the root user runs udevil.
    # If both success_exec and success_rootexec are specified, success_rootexec
    # will run first, followed by success_exec.
    # Unless you are familiar with writing root scripts, it is recommended that
    # rootexec settings NOT be used, as it is easy to inadvertently open exploits.
    # THIS PROGRAM IS ALWAYS RUN AS ROOT, even if the user running udevil is not.
    # success_rootexec =
    I have no idea what to do next, the only way it works, is the combination i mentioned in the title of this post. Any suggestion to solve that problem?

  • Best NAS/home network solution

    What is the best NAS/home network solution?
    Current Network:
    two Arch, one desktop, one laptop
    two macs, ditto
    wlan router without usb port
    two printers
    one scanner
    Current situation:
    All printers and the scanner are on the Arch desktop running samba. I don't seem to be able to stream from samba, at least wiki doesn't appear to mention it.
    Ideal situation:
    - music and video streaming
    - printing without need for desktop to be on
    - central pim data storage, ideally so that I can have my pim suite open (I use kontact but am willing to change - need email, calendar, address book, RSS & newsreeder) on two machines and they don't get their knickers in a twist... Is that at all possible?
    - automatic mounting
    Even more ideal situation
    - all of the above
    - WAN streaming
    Personally I don't see the wood for the trees at the mo...

    toad wrote:
    What is the best NAS/home network solution?
    Ideal situation:
    - music and video streaming
    - printing without need for desktop to be on
    - central pim data storage, ideally so that I can have my pim suite open (I use kontact but am willing to change - need email, calendar, address book, RSS & newsreeder) on two machines and they don't get their knickers in a twist... Is that at all possible?
    - automatic mounting
    Even more ideal situation
    - all of the above
    - WAN streaming
    You already have the hardware, but the laptop may still be too power hungry or noisy. In that case a second hand eeebox something  or a self built VIA C7/ VIA Nano / Intel Atom based system may be a solution (see http://bbs.archlinux.org/viewtopic.php?id=61662&p=1).
    If you want as little configuring as possible take a look at amahi, Freenas (or its coming Debian-spin off OpenMediaVault). They are  basically all-in-one homeserver distros. If you want to take the DIY route then I can recommend these apps:
    - music and video streaming: mediatomb +djmount (upnp protocol) / FireFly (daap protocol) / mpd  (audio only). Or if you just want to watch/listen to your media on your pc that is stored on your server then a share could be enough.
    - print-server: not sure, cups maybe?
    - central pim: : this is pretty complex to set up right. You need things like a
    pop3/imap mailserver -> dovecot / qmail / postfix
    groupware app (shared calendar, webmail, tasks etc) ->  Zarafa / Zimbra / open-xchange.com / Sogo /  Group-Office / Citadel ... )
    synchronization using caldav/icalendar
    mobile synch of contacts/calendar/mail via ActiveSync or syncML protocol ->  funambol or z-push. Zarafa is one of the few options with a free  ActiveSync connection l believe.
    - automatic mounting: can be done in many ways (smb/nfs/webdav/sshfs). I have a sshfs share mounted through /etc/fstab.
    - WAN streaming: can easily be done with mpd. the latest version has streaming server built in so you don't need to set up a separate Icecast streaming server.
    Last edited by rwd (2010-04-07 20:40:33)

  • Deadlocking issue with sshfs and nfs

    Okay, I've used both sshfs and nfs for remotely accessing the home partition on my fileserver, but I have been having a problem where the networking on the server suddenly cuts out.  Any processes that are accessing the folder I mounted nfs/sshfs with become deadlocked.  Any processes that try access my home directory, where the remote folder sits, are also deadlocked.  I cannot get into the machine with ssh.  I have to manually reboot it in order to get any networking at all.
    I have to also force-kill any known processes that are accessing the remote folder, and if I don't know what they are, I have to forcibly unmount it.  This issue has been occuring with this specific fileserver since I got it.  It is running Arch Linux i686, but has had the same problem with the server editions of both Fedora and Ubuntu.
    I don't know where to begin with fixing this problem, nor do I know how to diagnose it.

    Consider "soft" mount option for NFS.

  • MPD over NFS which is not on LAN but over Internet

    Hello,
    I tried MPD on a raspberry pi and a NFSv4 mount over vpn over internet.
    Suffice to say, I was surprised when I saw mpd actually attempting to *read* one and every file in the huge 500GB repository. What the hell. Why does it need to "read" in the whole file??
    Is there an alternative to mpd with similar capabilities, that doesnt suck? Or should I run mpd on the main server - but how do I then get the sound/mp3s to the raspberry pi?

    HiImTye wrote:
    you could do library updates from the NFS server and save the library info to the NFS share, then point your MPD server you use to listen on to those library files. then you don't have to struggle with network speeds on updates.
    but this does make me curious why it is reading the entire songs. it could just be that you have a lot of songs so that it seems like it is? idk
    I scp'ed over the database file from main server which had indexed/updated the db with about 80k songs.
    Then mounted the nfs share to the rasperry pi to the same absolute paths as on the main server (why not).
    This works fine, I see only the songs that I play are transferred quite fast, playing is almost instantenous, and they seem to be cached somewhere. Seeking within files is also fast, especially once already played.
    Now as you say, the database file needs to be kept in sync between the NFS server and raspberry, one way would be to put it as well in some nfs share, or sshfs or whatever, or even cronjob it with rsync, since I wont be doing database updates/adding albums that often on the main server.
    Would be good if something like this was documented somewhere. Like the wiki. And an option in mpd to ignore update commands to its database - thats now dangerous - it does read all the files, and even if it only tries to read headers - for some shares such as 1 or 2TB of songs, thats too much. Now the mpd on rasperry is more of a proxy.
    So yes, this does work now, the slight downside is that the android client mpdroid is not that good - it doesnt respect volume keys when not in view'and such, but one can live with that.

  • NFS double share impossible ?

    Hello, I introduce myself : I am 24 years old and want to learn many things about linux, projects and developement : because it is really powerfull and this is the way I see computering in the future.
    I explain my problem : I have to say that I have read a lot of documentation about nfsv4 and the system works (I don't have any problem of writing permission or anything else)
    computer1 : /mymountcomputer1 10.40.0.0/255.255.0.0(rw,fsid=0,insecure,no_hide,no_subtree_check,no_acl,all_squash,sync)
                    : sudo mount -t nfs4 computer2:/ /mymountcomputer1
    computer2 : /mymountcomputer2 10.40.0.0/255.255.0.0(rw,fsid=0,insecure,no_hide,no_subtree_check,no_acl,all_squash,sync)
                    : sudo mount -t nfs4 computer1:/ /mymountcomputer2
    /mymountcomputer1 == /mymountcomputer2 (I should be able to see in both direction)
    When I mount each one it works when I mount both nothing works
    Many thanks to help me on this situation

    Hello, thanks to help for this problem.
    I try to explain better and sorry for confusing everybody here.
    Well I got a server where there are multiple folders of some user (/prod/eminem, /prod/u2, /prod/jayz).
    1) The user mounts the "root" shared folder of the server (he sees /prod/eminem, /prod/u2, /prod/jayz in /share/server so the paths are /share/server/eminem, /share/server/u2, /share/server/jayz).
    2) The server mounts a folder of the user which is located in his local hard drive (for example the computer of jayz shares /home/photos/friday_night_with_snoop dogg).
    The server mounts each local folder of each user and each client mount the root folder, understood ?
    Now :
    According to me you should see on the server /home/photos/friday_night_with_snoop dogg in /prod/jayz >>> It works, no problem !
    Then :
    The result is that on the computer of jayz (client) /share/server/jayz which would be the same as /home/photos/friday_night_with_snoop dogg I can't see anything. (this is my problem)
    So I have understood that with NFS it could not be possible so I dit it with sshfs and it worked.
    I must do this way because the photos of jay-z are very heavy and I can't buy more storage and I need something faster than the actual solution.
    My question : Is there an other solution in order to make it work without using sshfs ? Or.  Have you ever made this schema work with high performance ?
    By the way with sshfs : when the client computer reboots or shuts down u2 and eminem can't work because sshfsd process is blocked and i always need to kill the process.
    Bonus question : Can I script automatically a .service in order to make a listener of both computers (client and server) in bash ? If yes how you do so ? with sshfs or any other solution.
    Many thanks
    All the best to all.

  • NFS - slow performance

    Hi all,
    I've been using SSHFS for a while now since it is easy to use, but switched over to NFS since it is really designed to do what I want.  With SSHFS, I get reasonable performance, but with NFS, the write operations are painstakingly slow.  I'm not sure how slow the reads are though.  I am attempting to use NFS on an internal network with bandwidth verified at 991 Mbps or 100+ MBps via iperf.  The mountpoint mounts just fine and I can write to it; however, the same operation that took a minute on the machine locally took over several hours and I aborted it before it could finish.
    I'm building customized Arch Linux distributions on the laptop with the NFS share because it doesn't have enough free space to store the image.  That said, is NFS that slow for something like this or am do I have a misconfigured server / client?
    Walter

    Hi!
    Check Link speed.
    dladm show-dev
    Check for collisions and wrong network packets:
    netstat -ia
    netstat -ia 2 10 ( when file transfered)
    Check for lost packets :
    ping -s <IP client> ( whait more 1 min )
    Check for retransmit, latency for respond:
    snoop -P -td <IP client> ( when file transfered)
    Try replace network cable.
    Regards.

  • [Solved] NFS write problem

    I looked through available threads and couldn't find anything that helped, I use VMware to develop on I need to connect to the vm filesystem with local dev tools. I set up everything according to arch wiki, caveat the server vm is ubuntu. I can mount using either the Ubuntu command
    mount -t nfs4 -o proto=tcp,port=2049 192.168.1.96:/ /root/www
    or the Arch command
    #mount -t nfs4 192.168.1.96:/ /root/www
    I can read and traverse directories, I can create a file, but I cannot edit or delete a file that is already there.
    Ubuntu fstab
    # /etc/fstab: static file system information.
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    # <file system> <mount point> <type> <options> <dump> <pass>
    proc /proc proc nodev,noexec,nosuid 0 0
    # / was on /dev/sda1 during installation
    UUID=24e3b6ef-d2bc-4ff9-891c-411910f7ce24 / ext4 errors=remount-ro 0 1
    # swap was on /dev/sda5 during installation
    UUID=ee28c56a-6aaa-4861-9778-fb3f335dba0c none swap sw 0 0
    /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
    /var/www /export/www none bind,rw 0 0
    I have to run the mount once the vm is up so nothing in my fstab.
    client /etc/conf.d/nfs-common.conf
    # Parameters to be passed to nfs-common (nfs clients & server) init script.
    # If you do not set values for the NEED_ options, they will be attempted
    # autodetected; this should be sufficient for most people. Valid alternatives
    # for the NEED_ options are "yes" and "no".
    # Do you want to start the statd daemon? It is not needed for NFSv4.
    NEED_STATD=""
    # Options to pass to rpc.statd.
    # See rpc.statd(8) for more details.
    # N.B. statd normally runs on both client and server, and run-time
    # options should be specified accordingly.
    # STATD_OPTS="-p 32765 -o 32766"
    STATD_OPTS=""
    # Options to pass to sm-notify
    # e.g. SMNOTIFY_OPTS="-p 32764"
    SMNOTIFY_OPTS=""
    # Do you want to start the idmapd daemon? It is only needed for NFSv4.
    NEED_IDMAPD=""
    # Options to pass to rpc.idmapd.
    # See rpc.idmapd(8) for more details.
    IDMAPD_OPTS=""
    # Do you want to start the gssd daemon? It is required for Kerberos mounts.
    NEED_GSSD=""
    # Options to pass to rpc.gssd.
    # See rpc.gssd(8) for more details.
    GSSD_OPTS=""
    # Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
    PIPEFS_MOUNTPOINT=""
    # Options used to mount rpc_pipefs filesystem; the default is "defaults".
    PIPEFS_MOUNTOPTS=""
    Here is the /etc/exports from Ubuntu
    /export 192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)
    /export/www 192.168.1.0/24(rw,nohide,insecure,no_subtree_check,async)
    Ubuntu nfs-kernel-server
    # Number of servers to start up
    # To disable nfsv4 on the server, specify '--no-nfs-version 4' here
    RPCNFSDCOUNT=8
    # Runtime priority of server (see nice(1))
    RPCNFSDPRIORITY=0
    # Options for rpc.mountd.
    # If you have a port-based firewall, you might want to set up
    # a fixed port here using the --port option. For more information,
    # see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
    RPCMOUNTDOPTS=--manage-gids
    # Do you want to start the svcgssd daemon? It is only required for Kerberos
    # exports. Valid alternatives are "yes" and "no"; the default is "no".
    NEED_SVCGSSD=no # no is default
    # Options for rpc.svcgssd.
    RPCSVCGSSDOPTS=
    # Options for rpc.nfsd.
    RPCNFSDOPTS=
    Ubuntu /etc/default/nfs-common
    # If you do not set values for the NEED_ options, they will be attempted
    # autodetected; this should be sufficient for most people. Valid alternatives
    # for the NEED_ options are "yes" and "no".
    # Do you want to start the statd daemon? It is not needed for NFSv4.
    NEED_STATD=
    # Options for rpc.statd.
    # Should rpc.statd listen on a specific port? This is especially useful
    # when you have a port-based firewall. To use a fixed port, set this
    # this variable to a statd argument like: "--port 4000 --outgoing-port 4001".
    # For more information, see rpc.statd(8) or http://wiki.debian.org/SecuringNFS
    STATDOPTS=
    # Do you want to start the idmapd daemon? It is only needed for NFSv4.
    NEED_IDMAPD=yes
    # Do you want to start the gssd daemon? It is required for Kerberos mounts.
    NEED_GSSD=no # no is default
    I appreciate any help you can give thanks
    --jerry
    Last edited by jk121960 (2012-03-22 19:03:07)

    Basically, I have had very few problems with NFS - however, the ubuntu-version of linuxmint had problems with uid/gids - they ended up as the complement of '-2'!
    I never use an exports file, but set up the server in rc.local, basically like so:
    exportfs -iv -o rw,insecure,no_root_squash /pub/usb 192.168.1.0/24:/pub
    Then, on the client side in /etc/fstab I have:
    {servername}:/pub /pub nfs defaults,noatime,noauto 0 0
    With linuxmint (at least the gnome-version), I had to use 'sshfs' instead. linuxmint lmde is ok.
    Also - I have used NFS for more years than I care to remember, but ... I must admit that sshfs has its merits - especially if you remember to use '-o allow_other'.
    ie on the client side you can use:
    sshfs -o allow_other {servername}:/pub/usb /pub
    Hope this helps.
    Last edited by perbh (2012-03-22 18:12:05)

  • Internet Connection Sharing and NFS route problem?

    My new box is yet to gets its wireless card so following the wiki I have painlessly set up ICS - this works great.  The ICS host connects to my wireless router on wlan0 and to the ICS client on eth0.  The ICS client attaches on eth0.
    From the ICS client I can ping eth0 and wlan0 on the host and also the router but I can't access the NFS shares on the host - should I be able to access them on both wlan0 and eth0 - even if I bring down wlan0?  I'm guessing I need another iptables rule...

    I'm not quite sure I understand whats happening here....  So here is a "diagram":
    ICS cli --- eth0 ---> ICS host --- wlan0 ---> router ---> internet
    Yeah?  From this, there is no reason for wlan0 to affect NFS from cli to host, assuming everything has been set up properly with the routing tables.
    If you disable all iptables stuff (which is how I'm assuming you have the routing working), does NFS work?  Have you set up your /etc/exports properly?
    Can I see your iptables stuff as well?
    And on a side note: I recently chucked NFS in favour of sshfs, it's much better for me personally.  Considered that?

  • [solved] netfs/sshfs failing on boot

    ok I seem to have a very weird problem and I can not for the life of me figure out a solution.
    I have ssh setup with rsa authentication, I am mounting the sshfs share in fstab according to the wiki.
    [email protected]:torrents/ /mnt/desktop fuse defaults,users,port=22000,reconnect,allow_other 0 0
    On boot netfs fails with the error
    Connection reset by peer.
    But if I let kde finish loading and start a terminal and type in
    /etc/rc.d/netfs start
    it mounts just fine. This is where I don't understand why it will not mount when booting. Because I can not replicate the error once the machine is fully booted. I even tried the sleep 20 trick in netfs.
    my daemon array looks like this.
    DAEMONS=(syslog-ng acpid cpufreq crond hal !net-profiles net-auto-wireless rpcbind nfs-common oss fam sshd ntpd !avahi-daemon netfs)
    Any idea is worth a shot so please amuse me
    Solution: Delete the /root/.ssh/known_hosts file and then re-authenticate the host machine for root user locally. My known_hosts had two entries and the first entry was not available on the network. I assume this is the reason why netfs was failing. The rsa key of the only working host was the exact same before and after in the known_hosts file.
    Last edited by jacko (2009-12-29 16:16:56)

    After booting "swapon -s" give me:
    Filename Type Size Used Priority
    /dev/sda3 partition 8388604 0 -1
    So I assume that the swap partition is actually mounted and activated. However, resuming from hibernation always results in output which says "clearing orphan nodes." I know it has something to do with the swap because I was able to get resume to work by activating swap after I manually mounted swap after booting. I can't remember the exact process I used, whether it be through systemctl or swapon. I will see if I can get figure it out again.

  • Mounting an NFS share

    Hi,
    I'm attempting to mount an NFS share and having no success.  Regardless of the settings I try, the Finder still denies me access to the NFS share, even though it mounts fine.  I seem to have no read or write access to the share.
    I've tried exporting the share (in /etc/exports on the server machine) in two ways: with
    /home/REDACTED/share     REDACTED/28(rw,sync,all_squash)
    And
    /home/REDACTED/share     REDACTED/28(rw,sync,insecure,all_squash,anonuid=1001,anongid=1001)
    In the second example, the anonuid and anongid are those of the shared folder's owner and group.  I added "insecure" because a how-to on the web claims that OS X won't work with any shares that don't have this specified.
    With either of these settings applied, Disk Utility verifies the existence of the share, and mounts it.  However, I can neither read files within, or add files to, the shared folder.  The error produced is:
    The folder “share” can’t be opened because you don’t have permission to see its contents.
    I have tried the following Advanced Mount Parameters, each to no effect:
    nodev resvport nolocks locallocks intr soft wsize=32768 rsize=3276
    nodev nosuid resvport nolocks locallocks intr soft wsize=32768 rsize=3276 ro
    nodev,nosuid,resvport,nolocks,locallocks,intr,soft,wsize=32768,rsize=3276
    nodev,nosuid,resvport,nolocks,locallocks,intr,soft,wsize=32768,rsize=3276 ro
    resvport,nolocks,locallocks,intr,soft,wsize=32768,rsize=3276
    -i,-s,-w=32768,-r32768
    -P
    I'd rather not employ SAMBA, and the Apple File Sharing package for my server's OS (Ubuntu 11.10) appears to be bugged currently.  Besides, NFS would be a far neater solution.
    Any helpful advice?
    S.

    Scotch_Brawth wrote:
    I've simply come at NFS as being the most appropriate file-sharing implementation for my needs - it supports automatic mounting at boot using tech native to both my Linux OS and OS X. 
    That is part of the problem. NFS is designed for environments where all servers are mounted (by root) at boot time and permissions are managed via NIS or LDAP. That is the default setting. If you are using something else, it requires some hacking.
    I've had SAMBA working in the past, but I guess a certain air of contamination creeps in when using a Windows protocol to allow interaction between two UNIXy systems.
    Plus, you would now have two different 3rd party reverse-engineered reimplementations of a foreign protocol.
    AFP would be great, but despite receiving support on the Ubuntu forums and IRC, I failed to get it to work - it may be bugged; which would not be surprising, as 11.10 (with Kernel 3) has proved problematic in several other ways.
    Perhaps Ubuntu is targeted more towards desktop rather than server usage. About the time I last played with NFS, I also played with Netatalk - with disastrous results. Supposedly Netatalk is better now. It's authors would be more than happy to sell you a support package.
    I did use the default settings - they failed to allow a working NFS share.  I then applied the variety of settings as recommended by apparently knowledgeable people.  Still no success.  I have read that UID/GID settings are an important aspect of NFS, but the issue in this case (as far as I understand it) is that all UID/GIDs below 1000 are privileged in Ubuntu 11.10, whilst on OS X these are below 501.  So, the choice is either to give the shared folder owner a privileged UID/GID pair, or change the UID/GID of my Mac users to meet the NFS servers needs - not something I'm happy to do for so small a gain.
    You can create a throwaway account on the Mac and just reset the GID/UID to values equal to an account on the Linux machine. That would establish that it is properly working in the default configuration. Then you could edit /etc/idmapd.conf.
    For that reason, I use the "all_squash" option, because the share in question is not for anything remotely critical and the data to be transferred and stored is both worthless and transitory.
    Since all_squash maps everything to nobody, you would have to hack up the permissions on the server to make everything world writeable. I think it will work with /etc/idmapd.conf and without all_squash.
    I know nothing about NFS other than that its capabilities and integration meet my needs.
    Just what are your needs? If the data is worthless and not critical then Netatalk might be the best option. If you can't get that to work, you could try MacFUSE on the Mac side and mount over sshfs. That is normally what I do. It isn't all that reliable, but you don't seem to require that.
    What information I did find regarding OS X and NFS was that there were peculiarities that required certain settings to be present on the server and the client respectively - for example, OS X apparently requires "insecure" to be set as an option, or it simply won't connect properly.  I don't know why, but I have no choice to trust to the advice of others in this case, until I have sufficient grasp to take care of the whole thing myself.
    This goes back to the expectation that NFS expects to be always connected and mounted by root. Apple sells very few desktop machines anymore so it assumes a different, user-centered environment. You could use "insecure" on the server side to allow connections from "insecure" ports > 1024 that a regular users can connect with via the Finder. You could use the terminal with "sudo mount_nfs -o resvport" to tell the Mac to use the root user to connect via a secure port instead.
    If you genuinely think you're able to help, then I'm happy to hear your advice.  What would you recommend?
    I appreciate your meeting me halfway. I think all you really need is /etc/idmapd.conf without all_squash. Then you could setup AutoFS and you could use NFS in a modern environment without even bothering to mount it.

  • Lion nfs vers=4 client hangs after writing to Linux nfs server

    I have a Fedora 14 Linux server with nfsv4 setup, since that's what I use for all my nfs clients.
    I tried setting up nfsv4 client from OSX Lion 10.7.3 and 10.7.4 but somehow I get the following problem:
    Whenever copying a file (tried about 10MB) to nfs mounted directory from command line, the cp command just hangs. I cannot kill it using Ctrl-C. If I open another terminal and try to access the mounted directory from there, that also hangs. Any command that accesses the mounted directory (df, ls, etc.) all hang. The only solution is to shutdown the machine forcefully.
    When I look at the server, I can see that the file has been fully copied. It looks like some protocol negotiation after the file write is done is somehow stuck.
    I tried bunch of mount_nfs options like async, rsize/wsize with various sizes, dirplus, nolocks (actually this gives an error), etc., but none of them helps.
    My nfsv4 server options are
    (rw,insecure,no_subtree_check,nohide,no_root_squash)
    For now, I'm using fuse4x and sshfs installed from macport, but this is limiting since I can't mount to any mount point unless I own the directory (which means only inside my home directory), and the files are not synchronized across mounts with other clients.
    Would netatalk 2.2.2 file server be of help? I only seem to hear bad stories about netatalk, so I'm a little hesitant.

    How are you doing the mount on the Mac side? Are you using the command line or the Finder? Do you have any non-default options on the client side?
    NFS is an older protocol designed for enterprise networks where users share the same set of uids/gids on all systems. Typically, root does all the mounting and then handles all the permissions. On a modern desktop, things are usually more complicated than that. The standard Linux solution of doing everything as root and ignoring everything is unlikely to work. You could either do it the traditional UNIX way with root and properly mapped users, or do it the pure client way in userland with properly mapped users. My suspicion is that something else is going on since you want to mount outside of your home directory. That can be done, but only if all the permissions are done properly.

  • [SOLVED] sshfs: Connection reset by peer

    I am trying to use sshfs (to replace nfs) so I can access my music and my vids across my network (music and vids are on "marbles", I want to access them on "toaster").
    Now, if on toaster, I do "ssh chris@marbles", it works fine.  I can "scp" across the network fine as well.
    If, however, I do "sshfs chris@marbles:/mnt/music-vids/ ~/marbles/", I get the error:
    read: Connection reset by peer
    Going through the logs on marbles, all I get is this:
    Dec 7 15:34:33 marbles sshd[5905]: Accepted publickey for chris from 192.168.0.3 port 44030 ssh2
    Dec 7 15:34:33 marbles sshd(pam_unix)[5907]: session opened for user chris by (uid=0)
    Dec 7 15:34:33 marbles sshd[5907]: subsystem request for sftp
    Dec 7 15:34:33 marbles sshd(pam_unix)[5907]: session closed for user chris
    Which means nothing to me really.
    Anyone got any ideas?
    Cheers.

    Turns out I had:
    Subsystem sftp /usr/lib64/misc/sftp-server
    Must have been from when I had Gentoo amd64 installed.. I just blindly copied the configs over, doh!  Fixed and it all works now
    Cheers

  • Vi error on nfs mount; E212: Can't open file for writing

    Hi all,
    I've setup a umask of 0 for testing on both NFS client (Centos 5.2) and NFS server (OSX 10.5.5 server).
    I can create files as one user and edit/save out as another user w/o issue when directly logged into the server via ARD.
    However, when I attempt the same from an NFS mount on a client machine, even as root I get the following error using vi;
    "file" E212: Can't open file for writing
    Looking at the system.log file on the server, I see;
    kernel[0]: add_fsevent: no name hard-link! dropping the event. (event 2 vp == 0xa5db510 (-UNKNOWN-FILE)).
    This baffles me. My umask is 0 meaning files I create and attempt to edit as other users are 777, but I cannot save out edits unless I do a wq! in vi. At that point, the owner of the file changes to whomever did the vi.
    This isn't just a vi issue as it happens using any editor, but I like to use vi.
    Any help is greatly appreciated. Hey, beer is on me!

    Hi all,
    Thanks for the replies
    I've narrowed it down to a Centos client issue.
    Everything works fine using other Linux based OS's as clients.
    Since we have such a huge investment in Centos, I must figure out a workaround. Apple support wasn't much help as usual however they were very nice.
    There usual response is "its unsupported".
    If Apple really wants to play in the enterprise of business space, they really need to change there philosophy. I mean telling me that I shouldn't mount home directories via NFS is completely rediculus.
    What am I supposed to use then, Samba of AFP? No, I don't think so. No offense to Microsoft but why would I use a Windows based file sharing protocol to mount network shares in a Nix env???

Maybe you are looking for

  • IPod nano recognized in MY Computer but not in iTunes

    My iPod nano is recognized under My Computer but not in iTunes. I formaatted the iPod nano as FAT32 using the format option when right-clicking on the drive in My Computer. I installed the latest version of iTunes software. I adopted the five R's app

  • Is there a way to boost range of the WRT610N?

    Good evening, I purchased the WRT610N a few months ago, and until now, it has worked just fine, and I had no problems with the range. But, I moved to a new house, which apparently has thicker walls :/ and the signal is very very poor now, and I have

  • R12 External Access

    Hi Hussein, In my test env, I have one single node instance of R12 (12.0.6) running over RHEL 5.3. This instance environment is wrapped within a VPN. I want to give access to R12 instance to some users for testing who are outside the VPN (through int

  • Satellite p205, hd wiped clean,missing os,formatting

    I have a satellite p205,32 bit with vista home premium. Had "Hacked by Godzilla" & wanted to get rid of it. I called toshiba tech support for help & they said the only way to be rid of it was to do a full recovery. Sold me the restore disk set. When

  • Ugly pop-ups in RH7 on Safari and Firefox

    I have text popups in my RoboHelp 7 project (webhelp). I upgraded the project from RH5. The webhelp I'm doing is for Safari and Firefox running on a Mac. The text popups display ok on Firefox (except that the popup box isn't self-sizing). The popups