Updating linux libraries
The correct way to update therefore is: Newly created processes will use the updated contents, running applications will access the old version.This is what any sane package management utility does.For instance, if you are building an application that needs to perform math operations, you don’t have to create a new math function for that, you can simply use existing functions in libraries for that programming language.Examples of libraries in Linux include libc (the standard C library) or glibc (GNU version of the standard C library), libcurl (multiprotocol file transfer library), libcrypt (library used for encryption, hashing, and encoding in C) and many more.Note that it's not completely without any danger though - for example applications dynamically loading code (using This will NOT replace the file inplace: The inode referring to the in-use-binary is still "busy" until the last object holding it open finishes.The new file will be created with a new inode-number.
Done [email protected]:~$ apt-cache search tcp socat - multipurpose relay for bidirectional data transfer fakeroot - tool for simulating superuser privileges tcpdump - command-line network traffic analyzer openssh-server - secure shell (SSH) server, for secure access from remote machines openssh-sftp-server - secure shell (SSH) sftp server module, for SFTP access from remote machines python-dpkt - Python packet creation / parsing module libfakeroot - tool for simulating superuser privileges - shared libraries openssh-client - secure shell (SSH) client, for secure access to remote machines rsyslog - reliable system and kernel logging daemon libwrap0 - Wietse Venema's TCP wrappers library netbase - Basic TCP/IP networking system [email protected]:~$ apt-cache show tcpdump Package: tcpdump Status: install ok installed Priority: optional Section: net Installed-Size: 1092 Maintainer: Romain Francoise = 1.0.0) Description: command-line network traffic analyzer This program allows you to dump the traffic on a network.ldconfig will attempt to deduce the type of ELF libs (i.e., libc5 or libc6/glibc) based on what C libs, if any, the library was linked against.Some existing libs do not contain enough information to allow the deduction of their type.However, when I try to replace a binary file while the process is running (with scp, from dev to test server) it says 'file busy'. How can I replace the binary files without stopping/crashing a process?And if I replace a shared library file (*.so), all the processes that link it crash. As mentioned in Why does a software package run just fine even when it is being upgraded? When you load and execute a binary, the the file is marked as busy - which is why you get ETXTBSY (file busy) error when you try to write to it.