Aug 10, 2014
TechnologyInstallation
Install lxc
, bridge-utils
, netctl
from the official repository.
$ sudo pacman -S lxc bridge-utils netctl
For creating ArchLinux Container, install arch-install-scripts:
$ sudo pacman -S arch-install-scripts
Check Configurations:
$ lxc-checkconfig
Network Configuration
Since I use systemd for bridged network, so this step remains blank, the official Arch Wiki use netctl.
Creating Container Using Template
List all of the available templates:
$ ls /usr/share/lxc/templates
lxc-alpine lxc-centos lxc-fedora lxc-oracle lxc-ubuntu-cloud
lxc-altlinux lxc-cirros lxc-gentoo lxc-plamo
lxc-archlinux lxc-debian lxc-openmandriva lxc-sshd
lxc-busybox lxc-download lxc-opensuse lxc-ubuntu
Now using the template for creating the Linux Container:
$ sudo lxc-create -n Arch_Container -t /usr/share/lxc/templates/lxc-archlinux
If the container is created successfully, it will indicates that you could use it from now.
Start the Container
List the installed Containers:
$ sudo lxc-ls
Arch_Container
Start the installed Container:
$ sudo lxc-start -n Arch_Container
The default username is root, and you will got a terminal window, now check the network configuration:
[root@Arch_Container ~]# ip link show dev eth0
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
Simply use dhcpcd
we could get the ip address currently, and surely we can see this network configuration is OK now.
Enable the automatically dhcpcd at startup
$ dhcpcd
$ systemctl enable dhcpcd.service
Now reboot you will notice the ip address has been configurated automatically.
Create Other Distributions
First you should install yum and debootstrap from AUR repository.
$ yaourt -S yum
$ yaourt -S debootstrap
Fedora
Install Fedora or CentOS will failed, I don’t know why.
Debian
Install rxync first via:
pacman -S rsync
Some packages failed to download, so won’t install.
After installed rsync, install debian container via:
sudo lxc-create -n Debian_Container -t /usr/share/lxc/templates/lxc-debian
Start the container via:
sudo lxc-start -n Debian_Container
The default username/password are root, In Debian network is not configured.
Aug 8, 2014
TechnologyTips
Here are some tips for customize the existing system.
1. Add octopress directory to heroku repository.
Install heroku client tools:
$ yaourt -S heroku-client
$ heroku keys:add
Found existing public key: /home/Trusty/.ssh/id_rsa.pub
Uploading SSH public key /home/Trusty/.ssh/id_rsa.pub... done
Now in the copied octopress directory we could use git push command for pushing our website onto herokuapp.
2. MTP Device
sudo pacman -S libmtp
3. libvirt
sudo pacman -S libvirt
4. virtualbox-ext-oracle
By installing this you can use USB2.0.
yaourt -S virtualbox-ext-oracle
Download Virtualbox Guest ISO.
Set Proxy in virtualbox global.
add user “Trusty” to “vboxusers”:
$ gpasswd -a Trusty vboxusers
$ usermod -a -G vboxusers Trusty
Now the virtualbox could use usb. And be sure to run following at suitable place:
$ modprobe vboxdrv vboxnetflt vboxnetadp
$ modprobe vboxnetflt
$ modprobe vboxnetadp
4. Lumia On ArchLinux
I don’t have good options, but connect it into virtualbox and use it.
Install the corresponding driver. and browser your phone content in Windows 7.
5. lampp adjustment
Since the public directory is not available in my system, so I have to change the default directory from the octopress public to /opt/public.
Then, in Rakefile, add this line:
#######################
# Working with Jekyll #
#######################
desc "Generate jekyll site"
task :generate do
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
puts "## Generating Site with Jekyll"
system "compass compile --css-dir #{source_dir}/stylesheets"
system "jekyll"
# Copy the content to the public directory
system "sudo cp -r /home/Trusty/code/octo/heroku/Tomcat/public /opt"
end
6. gedit
sudo pacman -S gedit
7. Remmina
I use remmina for connecting to my own Surface pro, because it will automatically “shrink” my Desktop for the right resolution. Install it via:
sudo pacman -S remmina
For Surface pro, because it has resolution as 1920x1080,so use toggle mode could get better effects.
8. aurget
This is a simple client for aur repository packages, install via yaourt
yaourt -S aurget
9. acpi
Using acpi for viewing the battery status:
sudo pacman -S acpi
10. Recordmydesktop
For recording specified screen and output to ogv or other format:
sudo pacman -S gtk-recordmydesktop recordmydesktop
11. Rss Reader
I installed liferea for view RSS.
sudo pacman -S liferea
12. Rstudio
RStudio is used for generate pdf from md(markdown) file.
sudo yaourt -S rstudio
13. pdflatex
Need it for compiling pdf out:
yaourt -S pdflatex.sh
14. you-get-git
For downloading videos from youtube/CNTV, etc..
yaourt you-get-git
15. git under proxy
The detailed configuration steps should be changed via:
git config --global core.gitproxy /usr/bin/myproxy
16. pandoc
Install pandoc via yaourt:
yaourt pandoc
17. wkhtmltopdf
Install wkhtmltopdf via pacman:
sudo pacman -S wkhtmltopdf
wkhtmltopdf -s A4 -B 10 -T 10 ./Output/CV_Chinese.html ./Output/CV_Chinese.pdf
-B Bottom Margin, -T Top Margin.
18. expect
For automatically login and doing processing.
sudo pacman -S expect
19. Minicom
Minicom is a serial port terminal tool for minitoring serial ports.
sudo pacman -S minicom
20. Multilib Support
Uncomment following 2 lines in /etc/pacman.conf:
[multilib]
Include = /etc/pacman.d/mirrorlist
30. lib32-glibc
For using 32-bit applications:
sudo pacman -S lib32-glibc
31. ghex
For viewing the binary file under Linux:
sudo pacman -S ghex
32. lib32-gtk2
Install this for compatable for CodeSourcery’s toolchain installation:
sudo pacman -S lib32-gtk2
33. lib32 others:
Install following packages for CodeSourcery:
sudo pacman -S xulrunner lib32-xcb-util lib32-gtk-engines lib32-ncurses
34. fbreader:
fbreader is for opening the epub files:
sudo pacman -S fbreader
35. Auto update the dkms:
For building the virtualbox modules:
sudo systemctl enable dkms.service
36. Fakeroot
For building some embedded systems.
sudo pacman -S fakeroot
37. dosfstools
Install it for obtains mkfs.vfat:
sudo pacman -S dosfstools
38. tsocks
For acrossing the company firewall:
sudo pacman -S tsocks
Then edit the configuration file:
$ cat /etc/tsocks.conf
server = 127.0.0.1
server_type = 5
server_port = 1394
You can run tsocks gnome-terminal
for getting a totally free terminal.
39. For building Android
Install required packages:
$ sudo pacman -S gcc-multilib lib32-zlib lib32-ncurses lib32-readline
Notice this will remove the gcc and gcc-libs, for gcc-libs-multilib and gcc-multilib will be conficted with the origin installed gcc and gcc-lib version.
Use Sun/Oracle JDK for compiling:
$ set2383
$ yaourt jdk6-compat
$ export JAVA_HOMNE=/opt/java6
For using virtualenv2 you have to install:
$ sudo pacman -S python2-virtualenv
$ virtualenv2 venv
New python executable in venv/bin/python2
Also creating executable in venv/bin/python
Installing setuptools, pip...done.
$ ln -s /usr/lib/python2.7/* /media/y/embedded/Android/ubuntu/venv/python2.7/
$ repo sync
$ /bin/bash
$ source venv/bin/activate
Install make 3.81 for building:
$ sudo yaourt make 3.81
$ make-3.81 -j4
Lacking flex, install it via:
$ sudo pacman -S flex
Lacking gperf, install it via:
$ sudo pacman -S gperf
Install perl related(first configure as automatic, then install switch):
$ cpan App::cpanminus
$ cpanm Switch
Then install gcc44 from yaourt:
$ yaourt -S gcc44
Build with gcc44:
$ make-3.81 CC=gcc-4.4 CXX=g++-4.4 -j4
Met build error:
error: aggregate ‘setrlimitsFromArray(ArrayObject*)::rlimit rlim’ has incomplete type and cannot be defined struct rlimit rlim; ^
Solution is simply to add #include <sys/resource.h> to dalvik/vm/native/dalvik_system_Zygote.cpp.
When you met compatible, install gcc44-multilib:
yaourt -S gcc44-multilib
39. pavucontrol
pavucontrol is A GTK volume control for PulseAudio, install it for redirecting the sound into the bluetooth device.
$ sudo pacman -S pavucontrol
40. nfs
For embedded Linux development, we have to use nfs(Network FileSystem) so we install it via:
sudo pacman -S nfs-utils
To be configured, because the parameters is complicated.
41. xclip
For using clipboard under X, we have to install this tool.
sudo pacman -S xclip
42. avidemux
For modify the videos under Linux:
sudo pacman -S avidemux avidemux-gtk
It couldn’t handle ogv format.
43. pitivi
Editor for audio/video projects using the GStreamer framework, we also add some plugins.
$ sudo pacman -S pitivi
$ sudo pacman -S gst-libav gst-plugins-bad gst-plugins-ugly frei0r-plugins
But pitivi won’t run on archlinux, for lacking the pycanberra, so I try the openshot.
44. openshot
$ sudo pacman -S openshot
45. Mencoder:
For converting video format:
$ sudo pacman -S mencoder
$ mencoder output.flv -o video_final.flv -ovc copy -oac copy -audiofile xxx.mp3
$ ffmpeg -i
50项护理技术_27胃肠减压技术_土豆_高清视频在线观看_112507230.h264_1.f4v -codec
copy weichangjianya.mp4
46. ffmpeg:
For converting video format:
$ sudo pacman -S ffmpeg
$ ffmpeg -i out.ogv -vcodec libx264 -strict -2 output.mp4
47. p7zip
p7zip is the linux version 7zip:
$ sudo pacman -S p7zip
48. Acrobat Reader
Sometimes evince will crash when viewing some embedded picture pdf, we use Acrobat Reader for viewing such pdfs:
$ sudo pacman -S acroread
Notice, acroread package only includes in archlinuxfr, so firstly you should add archlinuxfr in your pacman.conf.
49. Konsole
Since the gnome-terminal will be not see input line when you enable the new tabs, I install konsole and use it as default terminal:
$ sudo pacman -S kdebase-konsole
Change the default run command to zsh -l, this will enable the “run as login shell”, then change the default shortcuts, also you should change the default fonts just like we used set in xfce4-terminal/gnome-terminal.
Default font changes:
$ cat ~/.kde4/share/apps/konsole/Shell.profile
[Appearance]
ColorScheme=DarkPastels
Font=YaHei Consolas Hybrid,13,-1,5,50,0,0,0,0,0
Now re-login your desktop environment(mine is awesome), you will found the font has been changed in the konsole terminal.
Alter the startup window of konsole, and don’t let it recovers to the last altered size:
50. pip-shadowsocks
First you should install pip via:
$ sudo pacman -S python-pip
$ sudo pacman -S python2-pip
Since shadownsocks only support python2, install python2 is the right way.
$ sudo pip2 install shadowsocks
51. DNSutils
For querying the dns.
sudo pacman -S dnsutils
Then you could use host/dig/nslookup, etc.
52. gdisk
For format into gpt format’s fdisk:
sudo pacman -S gdisk
53. pandoc-static
For generating beautiful pdf and other formats of documentations.
# yaourt -S pandoc-static --noconfirm
54. ShadowSocks
For crossing the GFW:
sudo pacman -S shadowsocks
55. mtools
For using mcopy, etc:
sudo pacman -S mtools
56. lzop
File compressor using lzo lib, for compiling some images:
$ sudo pacman -S lzop
57. vnstat
For monitoring the network traffic:
$ sudo pacman -S vnstat
$ sudo systemctl start vnstat.service
$ sudo systemctl enable vnstat.service
$ sudo vnstat -u -i enp0s25
Use following commands for querying the traffic statistics:
$ vnstat -q
58. htop
For viewing the system performance, comparing to top, its display will be more clearly.
$ sudo pacman -S htop
59. virtualbox-ext-oracle
For enable usb or other attached devices:
yaourt -S virtualbox-ext-oracle
60. lighthttpd
For replacing the heavy xampp, use it for serving the static website:
sudo pacman -S lighttpd
61. Synergy
For sharing the mouse and keyboard between different systems.
sudo pacman -S synergy qsynergy
Jul 31, 2014
TechnologyPreparation
View the newly added harddisk via:
$ fdisk -l
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
[Trusty@/dev/disk/by-uuid]$ ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Jul 31 14:50 ata-WDC_WD10JPVX-00JC3T0_WD-WX31A54D4529 -> ../../sdb
Now we know the id of the harddisk, Create a vmdk file which links to this physical disk.
[Trusty@/media/x/Moving]$ pwd
/media/x/Moving
[Trusty@/media/x/Moving]$ VBoxManage internalcommands createrawvmdk -filename ./moving.vmdk -rawdisk /dev/disk/by-id/ata-WDC_WD10JPVX-00JC3T0_WD-WX31A54D4529
RAW host disk access VMDK file ./moving.vmdk created successfully.
$ wget http://mirrors.kernel.org/archlinux/iso/2014.07.03/archlinux-2014.07.03-dual.iso
Now create a new virtual machine in virtualbox. Begin to install.
Installation
The detailed steps could be viewed in my previous blogs, “moving-from-working-pc-to-own-usb-disk-based”.
$ pacman -S chromium firefox xorg xorg-xinit awesome xf86-video-intel xf86-video-ati pidgin thunderbird wget libreoffice gnome-terminal tigervnc xfce4 evince gimp smplayer alsa-utils gvim eclipse git subversion wireshark-gtk tcpdump ddd gdb meld qemu virtualbox wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei fcitx fcitx-libpinyin rox gpicview conky fcitx-googlepinyin nodejs cronie ntfs-3g liferea
$ pacman -S zsh
$ useradd -m -g root -G audio -s /bin/zsh Trusty
$ pacman -S sudo
# Add yaourt, and
$ pacman -Syu && pacman -S yaourt
$ yaourt sipe webqq
Configure E-mail and Office Communicator:
Communicator: UCCAPI/15.0.4481.1000 OC/15.0.4481.1000
TLS-DSK.
Tips for reconfiguring:
1. Install fcitx-configtool, then we could configure the fcitx and let it add more input method, or the default one is english.
2. Install hdtemp, lm_sensors, which will be used in conkyrc.
3. Copy the .config/awesome, and copy the themes to /usr/share/awesome/themes, the directory is named wabbit. This step is required in this time’s installation, previous I don’t remember this step, perhaps awesome changes.
4. Goagent, install python2-pyopenssl. Then goagent could be used.
5. mycapscr:
$ mkdir ~/capscr
$ sudo pacman -S scrot
$ cat /usr/bin/mycapscr
6. Install xampp
$ sudo yaourt xampp, then configure it.
7. Install udiskie for automount.
8. Install xlock-more for xlock.
9. Flash for chromium: yaourt chromium-pepper-flash. Then restart the chromim for using flash.
10. Enable the auto-login for ssh.
$ cat ~/.ssh/id_rsa.pub| ssh Trusty@1xx.xx.xxx.xxx'cat >> /home/Trusty/.ssh/authorized_keys'
$ cat ~/.ssh/id_rsa.pub| ssh root@1xx.xx.xxx.xxx'cat>>/root/.ssh/authorized_keys'
$ cat ~/.ssh/id_rsa.pub| ssh Tomcat@MisteryPlace.xxx.xxx.xxx.com 'cat>>~/.ssh/authorized_keys'
11. Font Configuration
$ sudo mkdir -p /usr/share/fonts/vista
$ sudo cp /mnt/usr/share/fonts/vista/YaHei.Consolas.1.11b.ttf /usr/share/fonts/vista
$ sudo chmod 644 /usr/share/fonts/vista/*.ttf
$ cd /usr/share/fonts/vista/
$ sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv
Then change the terminal font to YaHei
12. blog writing use:
$ echo insecure >> ~/.curlrc
$ curl -k --insecure -L https://get.rvm.io | bash -s stable --ruby
$ rvm install 1.9.3
$ gem install bundler
$ bundle install
You have to enable the terminal emulator’s setting by enable “Run command as login shell”.
Then you have to add the ssh key to the github.com.
13. Configure bridged network for qemu use.
# systemctl start systemd-networkd.service
[root@TrustyArch network]# systemctl enable systemd-networkd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/systemd-networkd.service to /usr/lib/systemd/system/systemd-networkd.service.
# systemctl disable dhcpcd@enp0s25
[root@TrustyArch Trusty]# systemctl enable dhcpcd@enp0s25
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpcd@enp0s25.service to /usr/lib/systemd/system/dhcpcd@.service.
[root@TrustyArch Trusty]# systemctl disable dhcpcd@enp0s25
Removed symlink /etc/systemd/system/multi-user.target.wants/dhcpcd@enp0s25.service.
[root@TrustyArch network]# cat MyDhcp.network
[Match]
Name=enp0s25
[Network]
DHCP=yes
[root@TrustyArch network]# pwd
/etc/systemd/network
Now the network is configured to dhcpcd@enp0s25.
Continue to edit for bridge :
[root@TrustyArch network]# cat MyBridge.netdev
[NetDev]
Name=br0
Kind=bridge
MacAddress=
[root@TrustyArch network]# cat MyBridge.network
[Match]
Name=br0
[Network]
DHCP=yes
[root@TrustyArch network]# cat MyEth.network
[Match]
Name=enp0s25
[Network]
Bridge=br0
$ systemctl restart systemd-networkd.service
Now restart and you will see the status via: systemctl status systemd-networkd.service
14. mlocate
sudo pacman -S mlocate
sudo updatedb
15. Whatpulse
yaourt whatpulse
Be sure to download the setup script, eg, the source code package, and grant all of the priviledge to your username.
16. Vim Customization
Copy the old .vimrc, and update it. Vundle will do everything for you.
17. Samba Configuration
sudo pacman -S samba
Then configure the samba configure, the configuration file should be the same or modifed from the old one.
$ sudo systemctl enable smbd.service
$ sudo systemctl enable nmbd.service
$ sudo systemctl start smbd.service
$ sudo systemctl start nmbd.service
$ sudo smbpasswd -a Trusty
Now in the guest machine you can use samba server for downloading.
18. Virtualbox Migration.
Create new machines using the exisiting hard-disk.
Then:
modprobe vboxdrv
modprobe vboxnetflt
Change the key for switching back to host system.
File->Preference->Input->Virtual Machine-> Host Key Combination.
19. Network Indicator
Install wicd via:
$ sudo pacman -S wicd wicd-gtk
$ sudo systemctl start wicd.service
$ sudo systemctl enable wicd.service
Then enable it in the awesome or change view files.
I enable it in rc.lua of awesome WM.
20. unrar
sudo pacman -S unrar
21. Vrome Customization
set useletters=0
22. Opera
yaourt -S opera
23. Nautilus
sudo pacman -S nautilus
24. xampp configuration
Refer to 2014-04-23-deploy-xampp-on-archlinux.markdown
25. Firefox customization
Install Vimperator.
Install video download.
26. Nokia 525
Install gmtp via yaourt:
$ yaourt gmtp
27. Virtualbox Modules.
Add following definitions:
[root@TrustyArch modules-load.d]# cat virtualbox.conf
vboxdrv vboxnetflt vboxnetadp
[root@TrustyArch modules-load.d]# pwd
/etc/modules-load.d
28. Install qupzilla.
sudo pacman -S qupzilla
29. Install gitbook.
sudo npm install gitbook -g
30. Install calibre.
sudo pacman -S calibre
31. Install tree.
sudo pacman -S tree
32. gitbook-pdf
First install phantomjs:
yaourt -S phantomjs
Then :
sudo npm install gitbook-pdf -g
Then generate book via:
$ gitbook pdf ./my_repository
33. Auto logon
Auto login in tty1 at start-up:
[Trusty@DashArch ~]$ sudo mkdir /etc/systemd/system/getty@tty1.service.d
[Trusty@DashArch ~]$ cat /etc/systemd/system/getty\@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin Trusty --noclear %I 38400 linux