ประสบการณ์ลองถูกลองผิดมาเยอะ พบว่า อย่าไป remastersys สร้าง backup distro ใ่หม่เรยครับ
ผมชอบลง ubuntu สดๆ แล้ว run script ของผม ตามที่ผมต้องการมากกว่า ไม่เกิน 10 นาที ก็ recover มาเป็น style ที่ผมชอบแระ
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 14421344 3560896 10127888 27% / (35 GB) /dev/sda2 38496500 248452 36292536 1% /home (25 GB) /dev/sda3 183405488 191800 173897196 1% /data (191 GB)
อ้างอิงจาก Mount Linux Partitions
$ sudo fdisk -l Disk /dev/sda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x9ac49ac4 Device Boot Start End Blocks Id System /dev/sda1 * 1 1824 14651248+ 83 Linux /dev/sda2 1825 6693 39110242+ 83 Linux /dev/sda3 6694 29890 186329902+ 83 Linux /dev/sda4 29891 30401 4104607+ 5 Extended /dev/sda5 29891 30401 4104576 82 Linux swap / Solaris
$ sudo mkdir /data
$ sudo blkid -o full -s UUID
$ sudo cp /etc/fstab /etc/fstab.save $ sudo vi /etc/fstabเพิ่มข้อมูลตามนี้
# /data was on /dev/sda3 UUID=a0b3c386-1291-4d6f-89a1-c476c75b4fc5 /data ext4 defaults 0 0
$ sudo mount -a $ sudo chown -R klainfo:klainfo /data $ sudo chmod 775 -R /data
เป็นอันเสร็จสิ้นกระบวนการ
อย่าลืมเปลี่ยนเป็น Mirror Kasetsart นะครับ
sudo mv /etc/apt/sources.list /etc/apt/sources.list.old sudo wget http://mirror1.ku.ac.th/apt-ubuntu/10.10/sources.list -O /etc/apt/sources.list sudo apt-get update sudo apt-get upgrade
sudo apt-get install vim-full mono-mcs mono-devel p7zip-full p7zip-rar checkgmail filezilla
เริ่มจาก ลงโปรแกรมพื้นฐานก่อน
$ sudo apt-get install ddclient ssh-serverตามด้วย domainname username password และ “web” interface
ลอง restart service อีกครั้ง
$ sudo /etc/init.d/ddclient restartทดสอบ
$ ssh klainfo.mine.nu
ถ้าต้องการแก้ไขในภายหลัง
$ sudo vi /etc/ddclient.conf $ sudo /etc/init.d/ddclient restart
$ sudo apt-get install gstreamer0.10-ffmpeg gstreamer0.10-plugins-ugly \ gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-bad \ gstreamer0.10-plugins-bad-multiverse flashplugin-installer
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
gpg --keyserver keyserver.ubuntu.com --recv 5A9BF3BB4E5E17B5 gpg --export --armor 5A9BF3BB4E5E17B5 | sudo apt-key add - sudo apt-get update sudo apt-get install chromium-browser
$ sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list $ sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update $ sudo apt-get install acroread
#!/bin/bash # TrackPoint Configuration sudo dpkg -i thinkpad/configure-trackpoint_0.7-1_i386.deb # Disable Bluetooth on StartUp sudo chmod 666 /proc/acpi/ibm/bluetooth sudo echo "disable" > /proc/acpi/ibm/bluetooth # Enable Middle Button Scrolling sudo cp $PWD/thinkpad/middlescrolling/mouse-wheel.fdi /etc/hal/fdi/policy/mouse-wheel.fdi sudo apt-get install --yes -f wacom-tools sudo cp $PWD/thinkpad/middlescrolling/custom-wacom.fdi /etc/hal/fdi/policy/custom-wacom.fdi sudo cp $PWD/thinkpad/middlescrolling/wacom /etc/init.d/wacom sudo chmod +x /etc/init.d/wacom sudo ln -s /etc/init.d/wacom /etc/rc5.d/S27wacom sudo ln -s /etc/init.d/wacom /etc/rc4.d/S27wacom sudo ln -s /etc/init.d/wacom /etc/rc3.d/S27wacom sudo ln -s /etc/init.d/wacom /etc/rc2.d/S27wacom sudo cp $PWD/thinkpad/middlescrolling/10-wacom.fdi /usr/share/hal/fdi/policy/20thirdparty/10-wacom.fdi echo "Please, Reboot" echo "usage: $ sudo shutdown -r now" # install fingerprint #!/bin/bash sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F2A12FABE936A7BBDC4EA33351DB180D1323E149 sudo echo "deb http://ppa.launchpad.net/jon-oberheide/ppa/ubuntu jaunty main deb-src http://ppa.launchpad.net/jon-oberheide/ppa/ubuntu jaunty main" >> /etc/apt/sources.list sudo apt-get update sudo apt-get install --yes thinkfinger-tools libpam-thinkfinger echo "Initiated as root" sudo tf-tool --acquire sudo tf-tool --verify echo "Enable thinkfinger" sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable echo "Add user (klainfo)" tf-tool --acquire klainfo echo "Change Login Window - Tab Local -> select 'Themed with face browser and Selected Only' - relogin" # setup fingerprint #!/bin/bash USERNAME=$1 if [ x$USERNAME = x ]; then echo "usage: ./fingerauth username" exit 0 fi tf-tool --add-user $USERNAME #gpasswd -a $USERNAME fingerprint chown $USERNAME:root /etc/pam_thinkfinger/$USERNAME.bir chmod 400 /etc/pam_thinkfinger/$USERNAME.bir
chmod 666 /proc/acpi/ibm/bluetooth echo "disable" > /proc/acpi/ibm/bluetooth
sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi
<?xml version="1.0" encoding="UTF-8"?> <match key="info.product" string="TPPS/2 IBM TrackPoint"> <merge key="input.x11_options.EmulateWheel" type="string">true</merge> <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge> <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> </match>
http://thesopebocks.com/2009/05/07/the-new-xorg-and-your-tablet-pc/
$ xevor
$ xmodmap -pke | less
$ xmodmap -e 'keycode 67 = Escape'
$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:08:a1:91:08:a4 inet addr:158.108.213.126 Bcast:158.108.213.127 Mask:255.255.255.128 inet6 addr: fe80::208:a1ff:fe91:8a4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:130315 errors:0 dropped:0 overruns:0 frame:0 TX packets:71707 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:40944583 (40.9 MB) TX bytes:10263714 (10.2 MB) Interrupt:17 Base address:0x9000
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 158.108.213.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 0.0.0.0 158.108.213.1 0.0.0.0 UG 100 0 0 eth0
auto lo iface lo inet loopback iface eth0 inet static address 158.108.213.126 netmask 255.255.255.128 gateway 158.108.213.1 auto eth0
$ sudo vi /etc/motd
/etc/ssh/sshd_config
PrintLastLog no
$ sudo /etc/init.d/ssh restart
$ hostname
/etc/hosts
127.0.0.1 localhost 127.0.1.1 newhostname # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
$ sudo /etc/init.d/networking restart
$ sudo a2enmod rewrite
$ sudo vi /etc/apache2/sites-enabled/000-default
$ sudo /etc/init.d/apache2 restart
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
$ sudo /etc/init.d/apache2 restart
<?php echo phpinfo(); ?>
อ้างอิง AllowOverride หมายถึง อนุญาติให้ใช้ไฟล์ .htaccess [http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride]
$ a2enmod userdir
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
$ cd /etc/apache2/mods-enabled $ sudo ln -s /etc/apache2/mods-available/userdir.conf userdir.conf $ sudo ln -s /etc/apache2/mods-available/userdir.load userdir.load
$ sudo /etc/init.d/apache2 restart
Ref http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html มี 2 วิธี
$ sudo useradd -md /home/klainfo klainfo -s /bin/bash -G staff $ sudo passwd klainfo
$ sudo adduser klainfo
$ sudo chown pamon:staff -R /home/pamon
user-name:x:user-number:group-number:comment section:/home-directory:default-shellเช่น
klainfo:x:1000:1000:klainfo,707,029343577,029343577:/home/klainfo:/bin/bashDefault-shell ควรเป็น /bin/bash
group-name:x:group-number:user1,user2เช่น
staff:x:1000:klainfo,pamon
$ sudo apt-get install subversion libapache2-svn apache2
$ a2enmod dav_svn
Considering dependency dav for dav_svn:
Module dav already enabled
Module dav_svn already enabled
/etc/apache2/mods-enabled/dav_svn.conf
# เรียกใ้ช้งานผ่าน http://domainname.com/svn/reponame <Location /svn> # sub ที่เรียกผ่าน host DAV svn # ให้เลือกเอาอย่างใดอย่างหนึ่งว่าจะให้เป็น svn parent path หรือ svn path ไปเลย # svn parent path สามารถใช้งานได้หลายๆ repository # svn path เป็นการระบุให้สามารถใช้งานได้เพียง repository เดียว #SVNPath /home/svn SVNParentPath /data/svn # หากต้องการใช้ตรวจสอบผู้ใช้งาน AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd # หากต้องการ ควบคุมการเข้าถึงของ user AuthzSVNAccessFile /etc/apache2/dav_svn.authz Require valid-user </Location>
$ htpasswd -cm /etc/apache2/dav_svn.passwd ชื่อuser
/etc/apache2/dav_svn.authz
[groups] master=eiei, eueu [/] @master=rw [test1:/] eaea=rw [test2:/] * = r [test3:/eueu] eueu=rw หมายเหตุ: eiei eueu eaea คือ ชื่อ user master คือ ชื่อ group test1 test2 test3 คือ ชื่อของ repository [/] คือ ตั้งแต่ ParentPath [test3:/eueu] คือ directory ชื่อ eueu ที่อยู่ใน repository test3
$ mkdir /data/svn $ svnadmin create /data/svn/test1 $ chown -R www-data: /data/svn/test1
$ sudo /etc/init.d/apache2 restart
$ svn co http://grid.klainfo.com/svn/111
for file in `ls *.html` do iconv -f tis-620 -t utf-8 $file > ../test/$file sed '15i <meta http-equiv="Content-Type" content="text/html; charset=utf-8">' $file done
lsb_release -a
file -i <filename>