XiZi's Blog
修改linux的时间显示格式
1、 设置时间样式
export TIME_STYLE=long-iso
Beatiful. Worked lika charm. Just wish I’ve looked into this earlier. Like a few years ago… Oh, well.
2、其他方式可以参考如下网页
QEMU Service on Centos
1.先放个配置文件上来
# /etc/qemu.conf
# VMs that should be started on boot
# use the ! prefix to disable starting/stopping a VM
# QEMU_MACHINES=(kms)
QEMU_MACHINES=(kms)
# NOTE: following options will be prepended to qemu_${vm}
# -name ${vm} -pidfile /var/run/qemu/${vm}.pid -daemonize -nographic
qemu_kms_type="system-x86_64"
qemu_kms="-enable-kvm -hda /opt/qemu/kmsm4WOen.rom \
-smbios type=1,manufacturer=Intel,version=1.01234,uuid=564d81c6-cd3a-d8e4-db29-756df139acb9 \
-uuid 564d81c6-cd3a-d8e4-db29-756df139acb9 \
-net nic -net user,hostfwd=tcp::1688-:1688 \
-m 256 -rtc base=localtime,clock=host -M pc \
-monitor telnet:localhost:7100,server,nowait,nodelay"
qemu_kms_haltcmd="echo 'system_powerdown' | nc localhost 7100" # or netcat/ncat
2.服务所需文件。
#!/bin/sh
# /etc/init.d/qemu
. /etc/rc.d/init.d/functions
[ -f /etc/qemu.conf ] && source /etc/qemu.conf
piddir=/var/run/qemu
lock='/var/lock/subsys/qemu-1.5rc1'
QEMU_PATH=/opt/qemu/qemu-1.5rc1
QEMU_DEFAULT_FLAGS='-name ${vm} -pidfile ${piddir}/${vm}.pid -daemonize -vga none -display none'
# -nographic
QEMU_HALTCMD_WAIT=30
case "$1" in
start)
[ -d "${piddir}" ] || mkdir -p "${piddir}"
if [ -f $lock ]; then
# we were not shut down correctly
for pidf in `/bin/ls $piddir/*.pid 2>/dev/null`; do
if [ -s $pidf ]; then
kill `cat $pidf` >/dev/null 2>&1
fi
rm -f $pidf
done
rm -f $lock
sleep 2
fi
rm -f $piddir/*.pid
errors=0
sucesses=0
for vm in "${QEMU_MACHINES[@]}"; do
if [ "${vm}" = "${vm#!}" ]; then
echo -n $"Starting QEMU VM: ${vm}"
eval vm_cmdline="\$qemu_${vm}"
eval vm_type="\$qemu_${vm}_type"
if [ -n "${vm_type}" ]; then
vm_cmd="${QEMU_PATH}/bin/qemu-${vm_type}"
else
vm_cmd="${QEMU_PATH}/bin/qemu"
fi
eval "qemu_flags=\"${QEMU_DEFAULT_FLAGS}\""
${vm_cmd} ${qemu_flags} ${vm_cmdline} >/dev/null
if [ $? = 0 ]; then
successes=1
else
errors=1
fi
fi
done
if [ $errors = 1 ]; then
failure; echo
else
success; echo
fi
if [ $successes = 1 ]; then
touch $lock
fi
;;
stop)
for vm in "${QEMU_MACHINES[@]}"; do
if [ "${vm}" = "${vm#!}" ]; then
# check pidfile presence and permissions
if [ ! -r "${piddir}/${vm}.pid" ]; then
continue
fi
echo -n $"Stopping QEMU VM: ${vm}"
eval vm_haltcmd="\$qemu_${vm}_haltcmd"
eval vm_haltcmd_wait="\$qemu_${vm}_haltcmd_wait"
vm_haltcmd_wait=${vm_haltcmd_wait:-${QEMU_HALTCMD_WAIT}}
vm_pid=$(cat ${piddir}/${vm}.pid)
# check process existence
if ! kill -0 ${vm_pid} 2>/dev/null; then
stat_done
rm -f "${piddir}/${vm}.pid"
continue
fi
# Try to shutdown VM safely
_vm_running='yes'
if [ -n "${vm_haltcmd}" ]; then
eval ${vm_haltcmd} >/dev/null
_w=0
while [ "${_w}" -lt "${vm_haltcmd_wait}" ]; do
sleep 1
if ! kill -0 ${vm_pid} 2>/dev/null; then
# no such process
_vm_running=''
break
fi
_w=$((_w + 1))
done
else
# No haltcmd - kill VM unsafely
_vm_running='yes'
fi
if [ -n "${_vm_running}" ]; then
# kill VM unsafely
kill ${vm_pid} 2>/dev/null
sleep 1
fi
# report status
if kill -0 ${vm_pid} 2>/dev/null; then
# VM is still alive
#kill -9 ${vm_pid}
failure; echo
else
success; echo
fi
# remove pidfile
rm -f "${piddir}/${vm}.pid"
fi
done
rm -f $lock
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
PS:
# 如果你没安装过nc的话,就yum一下要么nc用不了,无法关闭服务器。 # yum install -y nc
goagent linux service script
#!/bin/bash
#
# file /etc/init.d/goagentd
# goagentd Start up the goagentd server daemon
#
# chkconfig: 2345 55 25
# description: goagentd
#
# processname: proxy.py
# pidfile: /var/run/goagentd.pid
### BEGIN INIT INFO
# Provides: goagentd
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: GoAgent
# Description: GoAgent GAE Proxy Server.
### END INIT INFO
# source function library
. /etc/rc.d/init.d/functions
prog="goagent"
PYTHON=python
proxy=/opt/goagent/local/proxy.py
log=/opt/goagent/local/log
runlevel=$(set -- $(runlevel); eval "echo \$$#" )
start()
{
echo -n $"Starting $prog: "
[ -f "$log" ] && mv -f "$log" "$log.old"
$PYTHON $proxy 1>&$log 2>&1 &
touch /var/lock/subsys/goagent
}
stop()
{
echo -n $"Stopping $prog: "
kill $(ps aux | grep "[p]ython $proxy" | awk '{print $2}')
rm -f /var/lock/subsys/goagent
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
esac
exit 0
Fortran Makefile in Linux
FC = ifort
FFLAGS = -O2
ALL_SRCS = $(wildcard *.f *.for *.f90)
MODSRCS = $(filter mod_%,$(ALL_SRCS))
#MODSRCS = zmod.f
MODS := $(addsuffix .o, $(basename $(MODSRCS)))
SRCS = $(filter-out mod_%,$(ALL_SRCS))
#SRCS = sub1.f \
main.f90
OBJS := $(addsuffix .o, $(basename $(SRCS)))
TARGET = Program_N
#all:
# @echo "ALL_SRCS=$(ALL_SRCS)"
# @echo "OBJS=$(OBJS)"
# @echo "MODS=$(MODS)"
$(TARGET): $(OBJS)
$(FC) $(FFLAGS) -o $@ $(MODS) $(OBJS)
clean:
rm -f $(TARGET) *.o *.mod
$(OBJS): $(MODS)
.SUFFIXES: .o .f .for .f90
.f.o:
$(FC) $(FFLAGS) -c $<
.for.o:
$(FC) $(FFLAGS) -c $<
.f90.o:
$(FC) $(FFLAGS) -c $<
Ubuntu Linux 非root账户运行adb
在linux中,如果以非root账户运行adb命令通常回出现以下错误提示:
error: insufficient permissions for device
解决办法:给非root账户添加udev的写权限。操作如下。
添加/修改/etc/udev/rules.d/51-android.rules文件,之后重启udev服务。
对某特定品牌添加权限
#ZTE 19D2
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"
#HTC 0bb4
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
或者你有很多的android设备,可以一次性解决
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"