http://scie.nti.st/2008/8/19/1-minute-post-hostname-as-screen-window-title/
In short, add this line to the remote host's .bashrc:
[ "$TERM" = "screen" ] && PROMPT_COMMAND='echo -ne "\033k$HOSTNAME\033\\"'
July 31, 2017
July 20, 2017
Setting ssh server to an user to only SFTP to the user's home directory
Add the following to the end of the /etc/ssh/sshd_config file:
Subsystem sftp internal-sftp
# This section must be placed at the very end of sshd_config
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
This means that all users in the ‘sftponly’ group will be chroot’d to their home directory, where they only will be able to run internal SFTP processes.
Now you can create the group sftponly by running the following command:
$ groupadd sftponlySet a user’s group:
$ usermod steve -g sftponlyTo deny SSH shell access, run the following command:
$ usermod steve -s /bin/falseAnd set the user’s home directory:
$ sudo chown root /home/steve
$ sudo chmod go-w /home/steve
$ sudo mkdir /home/steve/writable
$ sudo chown steve:sftponly /home/steve/writable
$ sudo chmod ug+rwX /home/steve/writable
Finally, you probably need to restart SSH$ service ssh restart
The SSH part should now be in order, but you should make sure that file permissions also are correct. If the chroot environment is in a user’s home directory both /home and /home/username must be owned by root and should have permissions along the lines of 755 or 750.
In other words, every folder leading up to and including the home folder must be owned by root, otherwise you will get the following error after logging in:
Write failed: Broken pipe Couldn't read packet: Connection reset by peer
July 14, 2017
June 15, 2017
xxd reverse with an offset
When using xxd to reverse a hex dump file, if you hexdump file has a non-0 offset like this:
bc000000: 01 02 03 04 05 06 07 08 ........
You would need to use the "-s offset" option of the xxd. However, there is a bug in the code that makes this options only works as the FIRST option. Otherwise, it wouldn't work.
You want to do this:
xxd -s -0xbc000000 -r -g 1 test.dump test.bin
bc000000: 01 02 03 04 05 06 07 08 ........
You would need to use the "-s offset" option of the xxd. However, there is a bug in the code that makes this options only works as the FIRST option. Otherwise, it wouldn't work.
You want to do this:
xxd -s -0xbc000000 -r -g 1 test.dump test.bin
Basically the xxd is hardcoded to look for the offset at argv[2].
Another alternative:
https://github.com/pheehs/hexdump2bin/blob/master/hexdump2bin.py
Another alternative:
https://github.com/pheehs/hexdump2bin/blob/master/hexdump2bin.py
May 17, 2017
ios command line console log viewing
use "idevice_id --list" to list the UUIDs.
use "deviceconsole" to actually view the logs
deviceconsole -u <UUID>
use "deviceconsole" to actually view the logs
deviceconsole -u <UUID>
May 16, 2017
unbrick TPLINK Archer C7 V2 (2017-05 from Amazon)
I bricked my Archer C7 v2 with bad configuration.
TFTP boot didn't work for me. It turned out that the product id doesn't match.
Had to connect to console.
1. The pinout is as follows. The warning on this page (https://wiki.openwrt.org/toh/tp-link/tl-wdr7500#tftp_recovery_de-bricking) itself is wrong.

2. I used the Openwrt Snapshot image. I tried the official image from TPLink website but that didn't work. I didn't try the "cut" process described in the above link.
3. The command is as follows
type "tpl" really fast at boot time to stop the autoboot
That's it.
TFTP boot didn't work for me. It turned out that the product id doesn't match.
Had to connect to console.
1. The pinout is as follows. The warning on this page (https://wiki.openwrt.org/toh/tp-link/tl-wdr7500#tftp_recovery_de-bricking) itself is wrong.

2. I used the Openwrt Snapshot image. I tried the official image from TPLink website but that didn't work. I didn't try the "cut" process described in the above link.
3. The command is as follows
type "tpl" really fast at boot time to stop the autoboot
tftpboot 0x81000000 [name of your firmware file].bin erase 0x9f020000 +f80000 cp.b 0x81000000 0x9f020000 0xf80000 reset
That's it.
May 11, 2017
socket buffer size
To find the current socket buffer size:
getsockopt(fdsocket,SOL_SOCKET,SO_RCVBUF,(void *)&n, &m);
getsockopt(fdsocket,SOL_SOCKET,SO_SNDBUF,(void *)&n, &m);
To find out more, do "man getsockopt"
To find the current bytes in the socket's buffer:
ioctl(fd,FIONREAD,&bytes_available)
ioctl(fd,FIONWRITE,&bytes_available)
To find out more, do "man ioctl"
May 8, 2017
FreeBSD recompile kernel
Download:
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.3-RELEASE/src.txz
untar this to /usr/src
Go to the kernel source directory which contains the configurations.
Create a soft link in the /usr/src/sys/amd64/conf named “MYKERNEL” which links to /root/kernels/MYKERNEL file.
Goto the folder created above.
use "uname -a" and "sysctl -a" to check
Enable multi routing table in the kernel:
https://www.mmacleod.ca/2011/06/source-based-routing-with-freebsd-using-multiple-routing-table/
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.3-RELEASE/src.txz
untar this to /usr/src
Go to the kernel source directory which contains the configurations.
cd /usr/src/sys/amd64/confCreate a folder named kernel in the home directory of root user i.e. /root.
mkdir /root/kernels
config -x /root/kernels/MYKERNEL
The above command generates the current configuration of the kernel
Now you can add the options you want to change.
Create a soft link in the /usr/src/sys/amd64/conf named “MYKERNEL” which links to /root/kernels/MYKERNEL file.
ln -s /root/kernels/MYKERNEL
Goto the folder created above.
cd /root/kernels/
To build a file which contains all available options, run the following commands.
cd /usr/src/sys/amd64/conf make LINTGoto the main source folder.
cd /usr/srcBuild and Install the new kernel with reference from the file “MYKERNEL”.
make buildkernel KERNCONF=MYKERNEL make installkernel KERNCONF=MYKERNELNow reboot the machine to boot into the new kernel you just created now.
use "uname -a" and "sysctl -a" to check
Enable multi routing table in the kernel:
https://www.mmacleod.ca/2011/06/source-based-routing-with-freebsd-using-multiple-routing-table/
May 2, 2017
Adding swap to your VM
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
April 4, 2017
seafiles upload error
The solution:
I needed to go into the webui system admin -> settings and change
I needed to go into the webui system admin -> settings and change
FILE_SERVER_ROOT to be seafile.example.com/seafhttp as per the local help text.March 24, 2017
Proxy settings in Windows 10, LAN settings
right click start -> control panel -> internet options -> connections tab -> LAN settings
March 15, 2017
R7000 serial consle
With the top facing up, and Ethernet ports facing away from you, i.e. the 4 console pins on the right bottom of the board, the pinout from left to right is (yellow,red,green for my personal setup):
RX, which should connects to TX of your CP2102
TX
GND
Unused
RX, which should connects to TX of your CP2102
TX
GND
Unused
February 28, 2017
openwrt kernel config change
In OpenWRT build, to change kernel config, you need to do the following:
1. make kernel_menuconfig CONFIG_TARGET=subtarget
This updates the .config file in build_dir/Linux-xxxxx
2. copy the file .config from the above directory to "target/Linux/your-board-name/config-3.14"
3. make V=99
The make command will copy the kernel config file from target/Linux to build_dir
Reference:
https://wiki.openwrt.org/doc/howto/build
1. make kernel_menuconfig CONFIG_TARGET=subtarget
This updates the .config file in build_dir/Linux-xxxxx
2. copy the file .config from the above directory to "target/Linux/your-board-name/config-3.14"
3. make V=99
The make command will copy the kernel config file from target/Linux to build_dir
Reference:
https://wiki.openwrt.org/doc/howto/build
January 12, 2017
golang vim-go setup
1. start with a fresh ~/.vim directory
2. install vim-plug if don't have it:
call plug#begin()
Plug 'tpope/vim-sensible'
Plug 'fatih/vim-go'
Plug 'tmhedberg/matchit'
call plug#end()
au FileType go nmap <C-K> <Plug>(go-doc)
let g:go_fmt_command = "goimports"4. inside vim, run "PlugInstall". This installs the plugins specified above. Restart vim. All plugins should be working now.
5. For vim-go, run ":GoInstallBinaries" to install missing tools needed by vim-go
6. Now Shift-K/Ctrl-K should run go-doc for the keyword under cursor.
Note for go-doc to work correctly, the go source code file has to be in $GOPATH/src/package-name. It cannot not be a symlink outside of GOPATH. It cannot be a raw *.go file under $GOPATH/src either. It needs to be under a package directory.
2. install vim-plug if don't have it:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
3. add the following to your .vimrc filecall plug#begin()
Plug 'tpope/vim-sensible'
Plug 'fatih/vim-go'
Plug 'tmhedberg/matchit'
call plug#end()
au FileType go nmap <C-K> <Plug>(go-doc)
let g:go_fmt_command = "goimports"4. inside vim, run "PlugInstall". This installs the plugins specified above. Restart vim. All plugins should be working now.
5. For vim-go, run ":GoInstallBinaries" to install missing tools needed by vim-go
6. Now Shift-K/Ctrl-K should run go-doc for the keyword under cursor.
Note for go-doc to work correctly, the go source code file has to be in $GOPATH/src/package-name. It cannot not be a symlink outside of GOPATH. It cannot be a raw *.go file under $GOPATH/src either. It needs to be under a package directory.
January 6, 2017
windows 10 folder sort slow in file explorer
I solved this by unchecking
the "Allow Files in the folder to have contents indexed in addition to
file properties" option. You do this by first getting the Properties of
the folder, then on the General tab press the Advanced button in the
Attributes section. Apply the changes to the folder and , subfolders and
files.
December 29, 2016
debian/ubuntu snmp has lots of "error on subcontainer ‘ia_addr’ insert (-1)" reports in /var/log/syslog
Modifying /etc/defaults/snmpd and setting "-Lsd" to "-LS6d" in SNMPDOPTS and TRAPDOPTS hides the error message (as suggested by http:// bugs.debian. org/cgi- bin/bugreport. cgi?bug= 559109).
Or you can use `sed -i "s|-Lsd|-LS6d|" /etc/default/snmpd` to fix the problem.
Or you can use `sed -i "s|-Lsd|-LS6d|" /etc/default/snmpd` to fix the problem.
November 30, 2016
solve kvm soft lockup
Update: setting to jiffies on my guest seems to be the most stable (no lockups yet in the last 24 hours) Original Post: I googled around and by adding clocksource=jiffies to my kernel i fixed it. Instead of jiffies you could also try "pit". This is for the guest OS. You can also use kvm-clock if that is available to you. To check, run the following commands and see whether kvm-clock is available
|
Some people say that the best option for a precise clock on the guest is to use the
kvm-clock source (pvclock) which is synchronized with clock's host.There are also reports of disabling C-states in the BIOS.
November 16, 2016
gvim set size and color scheme
put this in ~/_vimrc:
set lines=51 columns=200
winpos 56 56
colorscheme desert
set lines=51 columns=200
winpos 56 56
colorscheme desert
November 4, 2016
batteries, material, voltage
Carbon zinc - non-reversible, 1.5v
Alkaline - non-reversible (basically, but some reversibility can be forced) 1.5 v
NiCd - reversible - 1.2v nominal, 1.35v fully charged, 0.9v discharged
NiMH - reversible - 1.2 v nominal, 1.35 - 1.4v fully charged, 1.0 v discharged
Lead Acid - reversible, 2.0v discharged, 2.3v charged
Lithium Polymer - reversable - 3.7v nominal, 4.2v fully charged, 3.0 discharged
Lithium Ion (LiFePO4) - reversable - 3.3v nominal, 3.6v fully charged, 2.8v discharged
Subscribe to:
Posts (Atom)