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
Category: QA
Questions and answers.
diff alternative on Windows to find differences between 2 files?
Posted ondiff on Linux is a very handy tool. Any good diff alternatives on Windows to find differences between 2 files? A GUI program will be better on Windows. I would recommend meld for Windows users. Meld is a visual diff and merge tool open source software. meld is available on Linux, Windows and Mac OS
Read more
how to set linux date and time in commands
Posted onhow to set linux date and time in commands For example, to change date to 14 Nov 2017 11:57:00, the command would be, $ sudo date –set “14 Nov 2017 11:57:00” Tue Nov 14 11:57:00 HKT 2017
What is the difference between work conserving I/O scheduler and non-work conserving I/O scheduler?
Posted onWhat 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 onIn 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 onHow 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
How to autohide top and bottom panel in RHEL 7
Posted onHow to autohide top and bottom panels in RHEL 7 while application is running I don’t think GNOME 3 or GNOME 3 classic has this function available or there any plugins that supports so. If you need this function that the panel can hide automatically, you may consider another desktop environment, such as MATE, that
Read more
How to get the value of a default value if the key does not exist in `dict()` in Python?
Posted onHow to get the value of a default value if the key does not exist in dict() in Python? We can use the get() function to assign default value if the key does not exist in the dict yet. dict.get(key[, default]) Example as follows. msges = {“msg”: “Hello, World!”} msg = msges.get(“msg”, “”) print(msg) #
Read more
How to force a checkpointing of metadata in HDFS?
Posted onHDFS SecondaraNameNode log shows 2017-08-06 10:54:14,488 ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint java.io.IOException: Inconsistent checkpoint fields. LV = -63 namespaceID = 1920275013 cTime = 0 ; clusterId = CID-f38880ba-3415-4277-8abf-b5c2848b7a63 ; blockpoolId = BP-578888813-10.6.1.2-1497278556180. Expecting respectively: -63; 263120692; 0; CID-d22222fd-e28a-4b2d-bd2a-f60e1f0ad1b1; BP-622207878-10.6.1.2-1497242227638. at org.apache.hadoop.hdfs.server.namenode.CheckpointSignature.validateStorageInfo(CheckpointSignature.java:134) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doCheckpoint(SecondaryNameNode.java:531) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doWork(SecondaryNameNode.java:395) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode$1.run(SecondaryNameNode.java:361) at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:415) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.run(SecondaryNameNode.java:357) It seems the checkpoint
Read more
How to force a fsck during next rebooting of Linux?
Posted onHow to force a fsck of a file system, say the root, during the next rebooting of Linux? 2 possible ways: /forcefsck way for / # touch /forcefsck and reboot. Next time the / will be fsck’ed . systemd way Add these 2 kernel boot parameters: fsck.mode=force fsck.repair=yes What these 2 kernel parameters do: KERNEL
Read more
How to check interrupts lively in your systems?
Posted onI need to see what kind of interrupts are handled by which CPU. Please run command: # cat /proc/interrupts or you can execute $ watch -n1 “cat /proc/interrupts” to watch interrupts every 1 second. See [1] [2] for more details. References: [1] https://stackoverflow.com/questions/28301875/how-to-observe-interrupts-in-windows-or-linux-ubuntu-14-04 [2] http://www.linuxjournal.com/content/watch-live-interrupts
How to flush STDOUT buffer in Python?
Posted onHow to flush the STDOUT buffer in Python so that the content wrote to STDOUT is shown immediately? Call the flush library function on sys.stdout which is the STDOUT: import sys sys.stdout.flush() From python doc: flush() Flush the write buffers of the stream if applicable. This does nothing for read-only and non-blocking streams. If you
Read more
How to tune systems to achieve high performance in virtualization circumstances?
Posted onMost time, we need to tune system parameters to achieve better performance but what the general parameters to be tuned in Linux systems. I think you may want to add following parameters to Kernel boot (/etc/default/grub) parameters intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll intel_pstate=disable At the same time, you may also want to shutdown/open Pause Loop Exiting (PLE).
Read more
How to set one task’s CPU affinity quickly?
Posted onHow to set one task’s CPU affinity quickly? 1, Get this task’s ID # taskset -pc PID 2, Set this task’s CPU affinity # taskset -c affinity ./task There is also another format # taskset -pc affinity pid For example: set process with PID 3783 to CPU 15 # taskset -pc 15 3783
How to install gfortran on CentOS 7?
Posted onHow to install the gfortran fortran compiler on CentOS 7 Linux? gfortran on CentOS 7 is provided in the gcc-gfortran package. You may install it to install gfortran. # yum install gcc-gfortran Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.cuhk.edu.hk * epel: ftp.cuhk.edu.hk * extras: centos.01link.hk * nux-dextop: li.nux.ro *
Read more
How to configure SPF for my email domain hosted by DreamHost?
Posted onMy domain’s email is hosted by DreamHost and all my emails from that domain are sent using DreamHost’s SMTP. How to configure the SPF record for my email domain hosted by DreamHost? For a domain with email and SMTP hosted by DreamHost, you can set its SPF record to v=spf1 include:netblocks.dreamhost.com Reference: What SPF records
Read more
Why “ValueError: zero length field name in format” error in Python on CentOS 6?
Posted onThe same Python program runs without any problem while it report ValueError: zero length field name in format error in Python on CentOS 6 The piece of code in Python is: print ‘== {} SPF’.format(d) Why “ValueError: zero length field name in format” error in Python on CentOS 6? This feature of {} without the
Read more
How to get vCPU thread ID in QEMU/KVM host OS?
Posted onIn order to collect more information about CPU information internal guest OS, we usually need to get vCPU’s thread ID in host OS. Solution 1: Under directory ‘/sys/fs/cgroup/cpuset/machine’, you will find virtual_machine_name.libvirt-qemu directory. And under this directory, you will find all vCPU sub-directories and under these dirs, you will find vCPU thread IDs. For example
Read more
How to limit a user’s CPU resources in Linux Systems
Posted onWhen you use a server with other users, you might want to limit other users’ CPU resources for some specific aims. Cgroup has lots of parameters we can use to control computer resources. For CPU resources, you can tune cpu.shares parameter to limit users’ CPU resources. To be more precise, change directory to /sys/fs/cgroup/cpu/user and
Read more
How to get processes’ I/O utilization percentage
Posted onTwo notices: 1, a process has only one main thread which is itself. 2, a process has many threads. Solution 1: Please use taskstats [1] related interfaces, and send TASKSTATS_TYPE_PID and TASKSTATS_TYPE_TGID commands to kernel to get a process’s ‘blkio_delay_total’ parameter for a process with one main thread and a process with threads separately. Solution
Read more