`readlink -m` equivalent function in Python to get canonical file name

Posted on

readlink -m can get canonical file name by resolving every symlinks in every component of the given path recursively. In Python, the os.readlink() function does not do so. Any equivalent function in Python to the readlink -m command line? Specifically, it does: canonicalize by following every symlink in every component of the given name recursively,
Read more

How to list start and end sectors of a partition by parted in Linux?

Posted on

How to list start and end of a partition by the sectors in parted on Linux? The default behavior seems be listing the start and end by bytes in parted. # parted /dev/sdc print Model: Innostor IS888 ext. HDD (scsi) Disk /dev/sdc: 2000GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End
Read more

Why I cannot login remote server with its root

Posted on

# ssh root@192.168.122.96 root@192.168.122.96’s password: Permission denied, please try again. Do according to [1]. NOTE: on Ubuntu, remember to restart ssh service like this “sudo restart ssh”. [1] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/v2v_guide/preparation_before_the_p2v_migration-enable_root_login_over_ssh

How to iterate all dirs and files in a dir in C++?

Posted on

How to iterate all dirs and files in a dir in C++? To open a dir, we can use opendir() to open a directory stream. DIR *opendir(const char *name); Then we can use readdir() to iterate the directory stream. struct dirent *readdir(DIR *dirp); Here is an example C++ program using these 2 library functions. #include
Read more

How to remove newline characters from a string in C++?

Posted on

How to remove newline characters from a string in C++? For example, a string like line 1 line 3 line 4 should be converted to line 1line 3line 4 Method 1: use `erase()` and `remove()` In short, use this code snippet: input.erase(std::remove(input.begin(), input.end(), ‘\n’), input.end()); std::remove() shifts all elements that are equal to the value
Read more

How to get a path’s mtime in C++ on Linux?

Posted on

How to get a path’s mtime in C++ on Linux? The path can be a file or a dir. You may call the standard library function lstat() for the file or dir under the path. int lstat(const char *pathname, struct stat *statbuf); From the returned stat struct, there is a field st_mtim which is the
Read more

How to test whether a given path is a directory or a file in C++?

Posted on

How to test whether a given path is a directory or a file in C++? For example, pathtype(“/”) –> “a dir” pathtype(“/tmp/file.txt”) –> “a file” # if there is a file file.txt pathtype(“/tmp/dir.txt”) –> “a dir” # if there is a dir named dir.txt The type of a file/dir can be found out using lstat()
Read more

How to get a server’s serial number remotely?

Posted on

How to get a server’s serial number remotely? Tested on Linux Ubuntu 14.04 Trusty > sudo apt-get install dmidecode > sudo dmidecode -s system-serial-number I tried this on several Linux boxes with CentOS 7 and it seems A physical node returns a string like System Serial Number. A KVM VM returns a string like 3fd12bba-12d4-48c7-875a-7a5f57ed8a9a.
Read more

How to judge whether its STDERR is redirected to a file in a Bash script on Linux?

Posted on

Within a Bash script, how to judge whether its STDERR is redirected to a file in Bash on Linux? For example, ./script.sh /tmp/log 2>&1 Can script.sh detect that its STDERR is redirected? Knowing the destination file is better. To test whether a script’s STDERR (or STDOUT) is redirected to a file, check by [[ -f
Read more

How can I login without password and run command in server at a local machine remotely?

Posted on

Login without PWD is fast and efficient. Running commands in server from local machine also have these benefits. login without PWD: add PC A’s public key to PC B’s authorized keys. > a@A:~> cat .ssh/id_rsa.pub | ssh b@B ‘cat >> .ssh/authorized_keys’ > b@B’s password: Run command remotely ssh root@MachineB “ls” NOTE: running commands remotely is
Read more

What is the difference between work conserving I/O scheduler and non-work conserving I/O scheduler?

Posted on

What is the difference between work conserving I/O scheduler and non-work conserving I/O scheduler? In a work-conserving mode, the scheduler must choose one of the pending requests, if any, to dispatch, even if the pending requests are far away from the current disk head position. The rationale for non-work-conserving schedulers, such as the anticipatory scheduler
Read more

In Python, `os.makedirs()` with 0777 mode does not give others write permission

Posted on

In Python, os.makedirs() with 0777 mode can not give others write permission The code is as follows $ python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> import os >>> os.makedirs(“/tmp/test1/test2”, 0777) >>> The created dirs are not
Read more

How to install alien on CentOS 7 to convert .deb to .rpm?

Posted on

How to install the alien command on CentOS 7 to convert .deb to .rpm? alien is already in EPEL and it makes it quite easy to install it in CentOS 7. First, enable EPEL following this tutorials. Then, install alien by # yum install alien Then alien should be ready: # yum info alien Installed
Read more