Showing posts with label hack. Show all posts
Showing posts with label hack. Show all posts
Saturday, 9 April 2016
Tuesday, 23 December 2014
Some Things I've learnt about GNS3
I am in no way an expert on GNS3, just a trainee
below are a few things i have learnt lately. I thought it might be a
good idea to produce something like this. If everyone replied to it and
added a few tips of their own it could be turned into a CLN GNS3 tips
and tricks document.
GNS3 Web Sites
http://www.gns3.net GNS3’s primary Web site
http://wiki.gns3.net GNS3’s Wiki site
http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator Dynamips – the actual emulator
http://www.ipflow.utc.fr/blog/ Dynamips blog
http://dyna-gen.sourceforge.net/ Dynagen
http://www.ipflow.utc.fr/bts/ Dynamips/Dynagen bug tracking
http://7200emu.hacki.at Hacki’s forum
===
1. GNS3 has less chance of crashing if the bin files are unzipped.
2. Currently images for 2600 routers must be uncompressed to work with Dynamips.
3. To dramatically reduce the load on your processor, right click on the router and choose idle, after a few moments it will give you a list to choose from.
Choose the one with a * against it, if you don't see a * in the choice run it again.
4. If you don't need any special routers then use the same type on the whole lab, this will use far less processing power and memory.
5. To print out the diagram of your network click file then export, you can export all or just what is visible.
6. To move your router/routers/links etc click the left mouse button and draw around what you want to move, you can then move everything that is inside that shape.
7. I find that if you move around the interface identities they eventually go back to their original position. I don't move them anymore as it looks a bit
messy when that happens.
8. You can't use GNS3 for the SWITCH studies, GNS3 only has basic switch capabilities.
9. You can create computers and run ping's/telnet with VPC, the document attached shows you how, its very simple to follow. I did find that it takes a few times for it to accept being a cloud, once you click ok just open it back up and check it.
10. I personally find that it is best to connect your links between routers when they are switched off, sometimes i find it fails otherwise.
11. You can create a router to act like a pc, this is shown below but it is also in the document.
Router(config)# no ip routing Turns off IP routing function
Router(config)# interface fa0/0 Switches to FastEthernet interface
Router(config-if)# ip address address subnet_mask Assigns IP address and subnet mask to interface
Router(config-if)# no shutdown Turns interface on
Router(config-if)# exit Returns to global configuration mode
Router(config)# ip default-gateway gateway_address Configures the default gateway
Router(config)# ip http server Optional – starts http server process
===
12. You can connect GNS3 to real equipment, i have not done this yet myself, it is in the document attached how to do this.
13. When using windows 64 bit GNS3 will default to program files (x86). GNS3 is a 32 bit program for windows so point it to program files not the (x86).
14. I have a Lenovo Thinkpad with a i7 processor and 4GB of RAM. With 7 routers of the same type my processor is running between 8 and 15 %, my RAM consumption is around 2.3 to 2.8 GB. That is also using a few other programs on my laptop at the sometimes.
http://www.gns3.net GNS3’s primary Web site
http://wiki.gns3.net GNS3’s Wiki site
http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator Dynamips – the actual emulator
http://www.ipflow.utc.fr/blog/ Dynamips blog
http://dyna-gen.sourceforge.net/ Dynagen
http://www.ipflow.utc.fr/bts/ Dynamips/Dynagen bug tracking
http://7200emu.hacki.at Hacki’s forum
===
2. Currently images for 2600 routers must be uncompressed to work with Dynamips.
3. To dramatically reduce the load on your processor, right click on the router and choose idle, after a few moments it will give you a list to choose from.
Choose the one with a * against it, if you don't see a * in the choice run it again.
4. If you don't need any special routers then use the same type on the whole lab, this will use far less processing power and memory.
5. To print out the diagram of your network click file then export, you can export all or just what is visible.
6. To move your router/routers/links etc click the left mouse button and draw around what you want to move, you can then move everything that is inside that shape.
7. I find that if you move around the interface identities they eventually go back to their original position. I don't move them anymore as it looks a bit
messy when that happens.
8. You can't use GNS3 for the SWITCH studies, GNS3 only has basic switch capabilities.
9. You can create computers and run ping's/telnet with VPC, the document attached shows you how, its very simple to follow. I did find that it takes a few times for it to accept being a cloud, once you click ok just open it back up and check it.
10. I personally find that it is best to connect your links between routers when they are switched off, sometimes i find it fails otherwise.
11. You can create a router to act like a pc, this is shown below but it is also in the document.
Router(config)# interface fa0/0 Switches to FastEthernet interface
Router(config-if)# ip address address subnet_mask Assigns IP address and subnet mask to interface
Router(config-if)# no shutdown Turns interface on
Router(config-if)# exit Returns to global configuration mode
Router(config)# ip default-gateway gateway_address Configures the default gateway
Router(config)# ip http server Optional – starts http server process
===
12. You can connect GNS3 to real equipment, i have not done this yet myself, it is in the document attached how to do this.
13. When using windows 64 bit GNS3 will default to program files (x86). GNS3 is a 32 bit program for windows so point it to program files not the (x86).
14. I have a Lenovo Thinkpad with a i7 processor and 4GB of RAM. With 7 routers of the same type my processor is running between 8 and 15 %, my RAM consumption is around 2.3 to 2.8 GB. That is also using a few other programs on my laptop at the sometimes.
Tuesday, 10 September 2013
Linux Containers on Virtualbox - Disposal Boxes by Michal Migurski's
Hey look, a month went by and I stopped blogging because I have a new job. Great.
One of my responsibilities is keeping an eye on our sprawling Github account, currently at 326 repositories and 151 members. The current fellows are working on a huge number of projects and I frequently need to be able to quickly install, test and run projects with a weirdly-large variety of backend and server technologies. So, it’s become incredibly important to me to be able to rapidly spin up disposable Linux web servers to test with. Seth clued me in to Linux Containers (LXC) for this:
This is a guide for creating an Ubuntu Linux virtual machine under Virtualbox to host individual containers with simple two-way network connectivity. You’ll be able to clone a container with a single command, and connect to it using a simple <container>.local host name.
Create a new Virtualbox virtual machine to boot from the Ubuntu installation ISO. For a root volume, I selected the VDI format with a size of 32GB. The disk image will expand as it’s allocated, so it won’t take up all that space right away. I manually created three partitions on the volume:
During the OS installation process, you’ll need to select a host name. I used “ubuntu-demo” for this demonstration.
Set up /etc/network/interfaces with two bridges for eth0 and eth1, both DHCP. Note that eth0 and eth1 must be commented-out, as in this sample part of my /etc/network/interfaces:
Shut down the Linux host, and add the secondary interface in Virtual box. Choose host-only networking, the vboxnet0 adapter, and “Allow All” promiscuous mode so that the containers can see inbound network traffic.
The primary interface will be NAT by default, which will carry normal out-bound internet traffic.
Modify the container’s network interfaces by editing /var/lib/lxc/base/rootfs/etc/network/interfaces (/var/lib/lxc/base/rootfs is the root filesystem of the new container) to look like this:
On the other hand, having ready access to a variety of local Linux environments has been a boon to my ability to quickly try out ideas. Special thanks again to Seth for helping me work through some of the networking ugliness.
Shift describes a Vagrant and LXC setup that skips Avahi and uses a plain hostnames for internal connectivity.
The Owner of this post is Michal Migurski
Find is Blog here http://mike.teczno.com/notes/disposable-virtualbox-lxc-environments.html
One of my responsibilities is keeping an eye on our sprawling Github account, currently at 326 repositories and 151 members. The current fellows are working on a huge number of projects and I frequently need to be able to quickly install, test and run projects with a weirdly-large variety of backend and server technologies. So, it’s become incredibly important to me to be able to rapidly spin up disposable Linux web servers to test with. Seth clued me in to Linux Containers (LXC) for this:
LXC provides operating system-level virtualization not via a full blown virtual machine, but rather provides a virtual environment that has its own process and network space. LXC relies on the Linux kernel cgroups functionality that became available in version 2.6.24, developed as part of LXC. … It is used by Heroku to provide separation between their “dynos.”I use a Mac, so I’m running these under Virtualbox. I move around between a number of different networks, so each server container had to have a no-hassle network connection. I’m also impatient, so I really needed to be able to clone these in seconds and have them ready to use.
This is a guide for creating an Ubuntu Linux virtual machine under Virtualbox to host individual containers with simple two-way network connectivity. You’ll be able to clone a container with a single command, and connect to it using a simple <container>.local host name.
The Linux Host
First, download an Ubuntu ISO. I try to stick to the long-term support releases, so I’m using Ubuntu 12.04 here. Get a copy of Virtualbox, also free.Create a new Virtualbox virtual machine to boot from the Ubuntu installation ISO. For a root volume, I selected the VDI format with a size of 32GB. The disk image will expand as it’s allocated, so it won’t take up all that space right away. I manually created three partitions on the volume:
- 4.0 GB ext4 primary.
- 512 MB swap, matching RAM size. Could use more.
- All remaining space btrfs, mounted at /var/lib/lxc.
During the OS installation process, you’ll need to select a host name. I used “ubuntu-demo” for this demonstration.
Host Linux Networking
Boot into Linux. I started by installing some basics, for me: git, vim, tcsh, screen, htop, and etckeeper.Set up /etc/network/interfaces with two bridges for eth0 and eth1, both DHCP. Note that eth0 and eth1 must be commented-out, as in this sample part of my /etc/network/interfaces:
## The primary network interface #auto eth0 #iface eth0 inet dhcp auto br0 iface br0 inet dhcp dns-nameservers 8.8.8.8 bridge_ports eth0 bridge_fd 0 bridge_maxwait 0 auto br1 iface br1 inet dhcp bridge_ports eth1 bridge_fd 0 bridge_maxwait 0Back in Virtualbox preferencese, create a new network adapter and call it “vboxnet0”. My settings are 10.1.0.1, 255.255.255.0, with DHCP turned on.
Shut down the Linux host, and add the secondary interface in Virtual box. Choose host-only networking, the vboxnet0 adapter, and “Allow All” promiscuous mode so that the containers can see inbound network traffic.
The primary interface will be NAT by default, which will carry normal out-bound internet traffic.
- Adapter 1: NAT (default)
- Adapter 2: Host-Only vboxnet0
% ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=63 time=340 ms …Use ifconfig to find your Linux IP address (mine is 10.1.0.2), and try ssh’ing to that address from your Mac command line with the username you chose during initial Ubuntu installation.
% ifconfig br1 br1 Link encap:Ethernet HWaddr 08:00:27:94:df:ed inet addr:10.1.0.2 Bcast:10.1.0.255 Mask:255.255.255.0 inet6 addr: …Next, we’ll set up Avahi to broadcast host names so we don’t need to remember DHCP-assigned IP addresses. On the Linux host, install avahi-daemon:
% apt-get install avahi-daemonIn the configuration file /etc/avahi/avahi-daemon.conf, change these lines to clarify that our host names need only work on the second, host-only network adapter:
allow-interfaces=br1,eth1 deny-interfaces=br0,eth0,lxcbr0Then restart Avahi.
% sudo service avahi-daemon restartNow, you should be able to ping and ssh to ubuntu-demo.local from within the virtual machine and your Mac command line.
No Guest Containers
So far, we have a Linux virtual machine with a reliable two-way network connection that’s resilient to external network failures, available via a meaningful host name, and with a slightly funny disk setup. You could stop here, skipping the LXC steps and use Virtualbox’s built-in cloning functionality or something like Vagrant to set up fresh development environments. I’m going to keep going and set up LXC.Linux Guest Containers
Install LXC.% sudo apt-get lxcInitial LXC setup uses templates, and on Ubuntu there are several useful ones that come with the package. You can find them under /usr/lib/lxc/templates; I have templates for ubuntu, fedora, debian, opensuse, and other popular Linux distributions. To create a new container called “base” use lxc-create with a chosen template.
% sudo lxc-create -n base -t ubuntuThis takes a few minutes, because it needs retrieve a bunch of packages for a minimal Ubuntu system. You’ll see this message at some point:
## # The default user is 'ubuntu' with password 'ubuntu'! # Use the 'sudo' command to run tasks as root in the container. ##Without starting the container, modify its network adapters to match the two we set up earlier. Edit the top of /var/lib/lxc/base/config to look something like this:
lxc.network.type=veth lxc.network.link=br0 lxc.network.flags=up lxc.network.hwaddr = 00:16:3e:c2:9d:71 lxc.network.type=veth lxc.network.link=br1 lxc.network.flags=up lxc.network.hwaddr = 00:16:3e:c2:9d:72An initial MAC address will be randomly generated for you under lxc.network.hwaddr, just make sure that the second one is different.
Modify the container’s network interfaces by editing /var/lib/lxc/base/rootfs/etc/network/interfaces (/var/lib/lxc/base/rootfs is the root filesystem of the new container) to look like this:
auto eth0 iface eth0 inet dhcp dns-nameservers 8.8.8.8 auto eth1 iface eth1 inet dhcpNow your container knows about two network adapters, and they have been bridged to the Linux host OS virtual machine NAT and host-only adapters. Start your new container:
% sudo lxc-start -n baseYou’ll see a normal Linux login screen at first, use the default username and password “ubuntu” and “ubuntu” from above. The system starts out with minimal packages. Install a few so you can get around, and include language-pack-en so you don’t get a bunch of annoying character set warnings:
% sudo apt-get install language-pack-en % sudo apt-get install git vim tcsh screen htop etckeeper % sudo apt-get install avahi-daemonMake a similar change to the /etc/avahi/avahi-daemon.conf as above:
allow-interfaces=eth1 deny-interfaces=eth0Shut down to return to the Linux host OS.
% sudo shutdown -h nowNow, restart the container with all the above modifications, in daemon mode.
% sudo lxc-start -d -n baseAfter it’s started up, you should be able to ping and ssh to base.local from your Linux host OS and your Mac.
% ssh ubuntu@base.local
Cloning a Container
Finally, we will clone the base container. If you’re curious about the effects of Btrfs, check the overall disk usage of the /var/lib/lxc volume where the containers are stored:% df -h /var/lib/lxc Filesystem Size Used Avail Use% Mounted on /dev/sda3 28G 572M 26G 3% /var/lib/lxcClone the base container to a new one, called “clone”.
% sudo lxc-clone -o base -n cloneLook at the disk usage again, and you will see that it’s not grown by much.
% df -h /var/lib/lxc Filesystem Size Used Avail Use% Mounted on /dev/sda3 28G 573M 26G 3% /var/lib/lxcIf you actually look at the disk usage of the individual container directories, you’ll see that Btrfs is allowing 1.1GB of files to live in just 573MB of space, representing the repeating base files between the two containers.
% sudo du -sch /var/lib/lxc/* 560M /var/lib/lxc/base 560M /var/lib/lxc/clone 1.1G totalYou can now start the new clone container, connect to it and begin making changes.
% sudo lxc-start -d -n clone % ssh ubuntu@clone.local
Conclusion
I have been using this setup for the past few weeks, currently with a half-dozen containers that I use for a variety of jobs: testing TileStache, installing Rails applications with RVM, serving Postgres data, and checking out new packages. One drawback that I have encountered is that as the disk image grows, my nightly time machine backups grow considerably. The Mac host OS can only see the Linux disk image as a single file.On the other hand, having ready access to a variety of local Linux environments has been a boon to my ability to quickly try out ideas. Special thanks again to Seth for helping me work through some of the networking ugliness.
Further Reading
Tao of Mac has an article on a similar, but slightly different Virtualbox and LXC setup. They don’t include the promiscuous mode setting for the second network adapter, which I think is why they advise using Avahi and port forwarding to connect to the machine. I believe my way here might be easier.Shift describes a Vagrant and LXC setup that skips Avahi and uses a plain hostnames for internal connectivity.
The Owner of this post is Michal Migurski
Find is Blog here http://mike.teczno.com/notes/disposable-virtualbox-lxc-environments.html
Monday, 19 August 2013
How To Install VMWare Tools v4 on Ubuntu 12.04 LTS Server
How To Install VMWare Tools v4 on Ubuntu 12.04 LTS Server and 12.10 Server
Originally posted by: Justin Schier
Last Updated: October 24, 2012
Tested With: Ubuntu 12.10 Server, Ubuntu 12.04 LTS Server, Ubuntu 12.04.1 LTS Server, Ubuntu 11.10 Server
All the guides I found on the Internet, including VMWare’s website were outdated in some way, so I decided to write a guide of my own. I just went through these steps from start to finish on a fresh server and had no problems. In about 5 minutes, you will be able to install VMWare Tools on Ubuntu Server.
- Use Install VMWare Tools option in VMWare Client to attach media
- Update the server
12sudo apt-get -y updatesudo apt-get -y upgrade - Create the mount point
1sudo mkdir -p /media/cdrom - Mount the ISO
1sudo mount /dev/cdrom /media/cdrom
You should see the message: mount: block device /dev/sr0 is write-protected, mounting read-only - Change Directory
1cd /media/cdrom - Copy the tar file to your /tmp directory
1sudo cp VM*.tar.gz /tmp - Install Build tools if necessary
1sudo apt-get -y install linux-headers-server build-essential - Change Directory
1cd /tmp - Unmount the ISO
1sudo umount /media/cdrom - Expand the tar
1sudo tar xzvf VM*.tar.gz - Change Directory
1cd vmware-tools-distrib - To prevent a potential error in the install script on Ubuntu 11.10+, create a special directory
Unable to create symlink “/usr/lib64/libvmcf.so” pointing to file ”/usr/lib/vmware-tools/lib64/libvmcf.so/libvmcf.so”.
1sudo mkdir -p /usr/lib64 - Run the Install Script. The -d flag automatically answers the default to all questions. To customize it, just omit the -d.
1sudo ./vmware-install.pl -d - Reboot
1sudo reboot
Also, please follow me on Twitter: @justinschier
This is "How to do Computing" for everyday usage ...
Thursday, 11 July 2013
Solve VMWare Workstation 9 Error on Linux Kernel 3.8.0-26
I have VMware Workstations 9 installed on my uBuntu 13 machine and today without any apparent reason it stop working throwing me the following error, every time I've tried to boot up any VM machine.
To solver the problem .. here is what I have done ... created bash script to handle problems with VMware Player on 13.04 ...
Before write the script I've open the terminal and type " #sudo kate " then when kate opened I entered the script and saved on " /usr/src/open-vm-tools-xxxx.xx.xx" (replace the x with year month and day) and save it. Then close Kate
#!/bin/bash if [[ $UID != 0 ]]; then echo "Please run this script with sudo:" echo "sudo $0 $*" exit 1 fi sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h cd /usr/lib/vmware/modules/source sudo tar -xf vmci.tar cd vmci-only sudo sed '127s/.*/ .remove = vmci_remove_device,/' driver.c > driver.c.tmp mv driver.c.tmp driver.c sudo sed '1753s/.*/static int/' driver.c > driver.c.tmp mv driver.c.tmp driver.c sudo sed '1981s/.*/static void/' driver.c > driver.c.tmp mv driver.c.tmp driver.c cd .. sudo tar -cf vmci.tar vmci-only/ sudo rm vmci-only/ -Rf sudo vmware-modconfig --console --install-all sudo rm /usr/src
The Open terminal again and do the following;
after you should have VMware workstation running...
Friday, 21 June 2013
About TrueCrypt
I've made up an experimental video showing how to install trueCrypt on uBuntu 13 .. Please check it out..
Monday, 13 May 2013
How to Upgrade Wine from the Older version to Wine1.5 on uBuntu
I am new to Wine and anything like it. I want to run the application "ATCS Monitor". When I installed ATCS Monitor I received an error message:
C:\windows\system32\wshom.ocx
Unable to register the DLL/OCX: RegSvr32 failed with exit code 0x1
-From Terminal-
err:typelib:sltg_get_typelib_ref Unable to find reference
err:module:import_dll Library ScrRun.dll (which is needed by L"C:\\windows\\system32\\wshom.ocx") not found
I can get through it by just ignoring it but I then have errors in ATCS Monitor.
First, upgrade to Wine 1.3.35. Wine 1.2.3 is almost a year old and is
missing some very important updates.
Second, do a search for the file in the directory $HOME/.wine I suspect
that either it is not there or it is in the same directory as where the
program installed. ...
C:\windows\system32\wshom.ocx
Unable to register the DLL/OCX: RegSvr32 failed with exit code 0x1
-From Terminal-
err:typelib:sltg_get_typelib_ref Unable to find reference
err:module:import_dll Library ScrRun.dll (which is needed by L"C:\\windows\\system32\\wshom.ocx") not found
I can get through it by just ignoring it but I then have errors in ATCS Monitor.
First, upgrade to Wine 1.3.35. Wine 1.2.3 is almost a year old and is
missing some very important updates.
Second, do a search for the file in the directory $HOME/.wine I suspect
that either it is not there or it is in the same directory as where the
program installed. ...
Ubuntu and Ubuntu derivatives (such as Kubuntu) obtain software from packages which are stored in repositories. Ubuntu's default repository includes Wine, however if you want to stay up to date with the latest Wine package you can use WineHQ's by following these instructions.
Adding the WineHQ PPA Repository:
Open the Software Sources menu by launching the Ubuntu Software Center and selecting Edit->Software Sources. Choose the Other Software tab and click Add.
Then, copy and paste the line below.
ppa:ubuntu-wine/ppaWarning: Beta packages
The 1.5 packages here are beta packages. This means they will periodically suffer from regressions, and as a result an update may break functionality in Wine. If the stable 1.4 Wine version works for you, then you may not want to use these beta packages.
Installing Wine:
Once you have added the WineHQ PPA Repository, you are ready to install.
To get the most recent Wine 1.5 beta, click this link to install the wine1.5 package.
To install the older, stable Wine 1.4 version, click this link to install the wine1.4 package.
Upgrading to a new version of Ubuntu
If you are upgrading the entire system, such as going from Ubuntu 11.10 to 12.04, you will need to come back to this page and add the repository again. The built in update manager will not switch the Wine repository automatically.
Alternative Command Line Instructions for Installing Wine:
It is also possible to add the Wine PPA and install via the terminal. This may be useful on Kubuntu, Xubuntu, and other Ubuntu derivatives.
sudo add-apt-repository ppa:ubuntu-wine/ppa
Then update APT package information by running 'sudo apt-get update'. You can now install Wine by typing 'sudo apt-get install wine1.5'.
If you'd like to browse the PPA manually, you can visit its Launchpad page.
Thursday, 4 April 2013
HOW TO Solve issue Nvidia & X.org Server Problems on Linux or BackTrack5
I spent a week trying to resolve the error generated by X.org Server and Nvidia drivers, and I think I've finally solved.
This is the solution for my Nvidia GT540M & Intel i7-2670QM (ASUS X53SV-SX598V)
1. Download NVIDIA driver from here: http://www.nvidia.com/object/unix.html.
I use Linux x86_64/AMD64/EM64T (NVIDIA-Linux-x86_64-285.05.09.run) for my system at 64bit
2. Install system updates
Code:sudo apt-get update && sudo apt-get upgrade
Code:sudo apt-get install linux-headers-$(uname -r)
Code:sudo apt-get install dkms build-essential
Code:vi /etc/modprobe.d/blacklist.conf
Code:blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv
8. Make grub.cfg writable
Code:chmod +w /boot/grub/grub.cfg
Code:vi /boot/grub/grub.cfg
Code:text splash nouveau.modeset=0 vga=791
12. Disable writable mode to grub.cfg file
Code:chmod -w /boot/grub/grub.cfg
Code:update-grub
15. Login and don’t write startx
16. Remove all previous Nvidia drivers
Code:sudo apt-get --purge remove nvidia-*
Code:sudo apt-get --purge remove xserver-xorg-video-nouveau
Code:chmod a+x NVIDIA-Linux-x86_64-285.05.09.run
Code:sh ./NVIDIA-Linux-x86_64-285.05.09.run
20. Reboot
If you have a problem like this:
Code:X.Org X Server 1.7.6 Release Date: 2010-03-17 X Protocol Version 11, Revision 0 Build Operating System: Linux 2.6.24-28-server x86_64 Ubuntu [...] Fatal server error: no screens found
It means that the automatic writing of xorg.conf (nvidia-xconfig command) during installation is not successful., but the driver has been installed correctly.
To solve this problem just delete the xorg.conf file:
Code:rm /etc/X11/xorg.conf
Reebot and type
Code:startx
Wednesday, 23 January 2013
All You Need To Know About Linux Commands
System Info
date – Show the current date and time
cal – Show this month's calendar
uptime – Show current uptime
w – Display who is online
whoami – Who you are logged in as
finger user – Display information about user
uname -a – Show kernel information
cat /proc/cpuinfo – CPU information
cat /proc/meminfo – Memory information
df – Show disk usage
du – Show directory space usage
free – Show memory and swap usage
Keyboard Shortcuts
Enter – Run the command
Up Arrow – Show the previous command
Ctrl + R – Allows you to type a part of the command you're looking for and finds it
Ctrl + Z – Stops the current command, resume with fg in the foreground or bg in the background
Ctrl + C – Halts the current command, cancel the current operation and/or start with a fresh new line
Ctrl + L – Clear the screen
command | less – Allows the scrolling of the bash command window using Shift + Up Arrow and Shift + Down Arrow
!! – Repeats the last command
command !$ – Repeats the last argument of the previous command
Esc + . (a period) – Insert the last argument of the previous command on the fly, which enables you to edit it before executing the command
Ctrl + A – Return to the start of the command you're typing
Ctrl + E – Go to the end of the command you're typing
Ctrl + U – Cut everything before the cursor to a special clipboard, erases the whole line
Ctrl + K – Cut everything after the cursor to a special clipboard
Ctrl + Y – Paste from the special clipboard that Ctrl + U and Ctrl + K save their data to
Ctrl + T – Swap the two characters before the cursor (you can actually use this to transport a character from the left to the right, try it!)
Ctrl + W – Delete the word / argument left of the cursor in the current line
Ctrl + D – Log out of current session, similar to exit
Learn the Commands
apropos subject – List manual pages for subject
man -k keyword – Display man pages containing keyword
man command – Show the manual for command
man -t man | ps2pdf - > man.pdf – Make a pdf of a manual page
which command – Show full path name of command
time command – See how long a command takes
whereis app – Show possible locations of app
which app – Show which app will be run by default; it shows the full path
Searching
grep pattern files – Search for pattern in files
grep -r pattern dir – Search recursively for pattern in dir
command | grep pattern – Search for pattern in the output of command
locate file – Find all instances of file
find / -name filename – Starting with the root directory, look for the file called filename
find / -name ”*filename*” – Starting with the root directory, look for the file containing the string
filename
locate filename – Find a file called filename using the locate command; this assumes you have already used the command updatedb (see next)
updatedb – Create or update the database of files on all file systems attached to the Linux root directory
which filename – Show the subdirectory containing the executable file called filename
grep TextStringToFind /dir – Starting with the directory called dir, look for and list all files containing TextStringToFind
File Permissions
chmod octal file – Change the permissions of file to octal, which can be found separately for user, group, and world by adding: 4 – read (r), 2 – write (w), 1 – execute (x)
Examples:
chmod 777 – read, write, execute for all
chmod 755 – rwx for owner, rx for group and world
For more options, see man chmod.
File Commands
ls – Directory listing
ls -l – List files in current directory using long format
ls -laC – List all files in current directory in long format and display in columns
ls -F – List files in current directory and indicate the file type
ls -al – Formatted listing with hidden files
cd dir – Change directory to dir
cd – Change to home
mkdir dir – Create a directory dir
pwd – Show current directory
rm name – Remove a file or directory called name
rm -r dir – Delete directory dir
rm -f file – Force remove file
rm -rf dir – Force remove an entire directory dir and all it’s included files and subdirectories (use with extreme caution)
cp file1 file2 – Copy file1 to file2
cp -r dir1 dir2 – Copy dir1 to dir2; create dir2 if it doesn't exist
cp file /home/dirname – Copy the file called filename to the /home/dirname directory
mv file /home/dirname – Move the file called filename to the /home/dirname directory
mv file1 file2 – Rename or move file1 to file2; if file2 is an existing directory, moves file1 into directory file2
ln -s file link – Create symbolic link link to file
touch file – Create or update file
cat > file – Places standard input into file
cat file – Display the file called file
more file – Display the file called file one page at a time, proceed to next page using the spacebar
head file – Output the first 10 lines of file
head -20 file – Display the first 20 lines of the file called file
tail file – Output the last 10 lines of file
tail -20 file – Display the last 20 lines of the file called file
tail -f file – Output the contents of file as it grows, starting with the last 10 lines
Compression
tar cf file.tar files – Create a tar named file.tar containing files
tar xf file.tar – Extract the files from file.tar
tar czf file.tar.gz files – Create a tar with Gzip compression
tar xzf file.tar.gz – Extract a tar using Gzip
tar cjf file.tar.bz2 – Create a tar with Bzip2 compression
tar xjf file.tar.bz2 – Extract a tar using Bzip2
gzip file – Compresses file and renames it to file.gz
gzip -d file.gz – Decompresses file.gz back to file
Printing
/etc/rc.d/init.d/lpd start – Start the print daemon
/etc/rc.d/init.d/lpd stop – Stop the print daemon
/etc/rc.d/init.d/lpd status – Display status of the print daemon
lpq – Display jobs in print queue
lprm – Remove jobs from queue
lpr – Print a file
lpc – Printer control tool
man subject | lpr – Print the manual page called subject as plain text
man -t subject | lpr – Print the manual page called subject as Postscript output
printtool – Start X printer setup interface
Network
ifconfig – List IP addresses for all devices on the local machine
ping host – Ping host and output results
whois domain – Get whois information for domain
dig domain – Get DNS information for domain
dig -x host – Reverse lookup host
wget file – Download file
wget -c file – Continue a stopped download
SSH
ssh user@host – Connect to host as user
ssh -p port user@host – Connect to host on port port as user
ssh-copy-id user@host – Add your key to host for user to enable a keyed or passwordless login
User Administration
adduser accountname – Create a new user call accountname
passwd accountname – Give accountname a new password
su – Log in as superuser from current login
exit – Stop being superuser and revert to normal user
Process Management
ps – Display your currently active processes
top – Display all running processes
kill pid – Kill process id pid
killall proc – Kill all processes named proc (use with extreme caution)
bg – Lists stopped or background jobs; resume a stopped job in the background
fg – Brings the most recent job to foreground
fg n – Brings job n to the foreground
Installation from source
./configure
make
make install
dpkg -i pkg.deb – install a DEB package (Debian / Ubuntu / Linux Mint)
rpm -Uvh pkg.rpm – install a RPM package (Red Hat / Fedora)
Stopping & Starting
shutdown -h now – Shutdown the system now and do not reboot
halt – Stop all processes - same as above
shutdown -r 5 – Shutdown the system in 5 minutes and reboot
shutdown -r now – Shutdown the system now and reboot
reboot – Stop all processes and then reboot - same as above
startx – Start the X system
Recommended reading:
Cheat-Sheets.org – All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page. The only one you need.
Tutorial: The best tips & tricks for bash, explained – Linux Tutorial Blog / Quality Linux tutorials without clutter
LinuxCommand.org – Learning the shell, Writing shell scripts, Script library, SuperMan pages, Who, What, Where, Why
LinuxManPages.com – General commands, System calls, Subroutines, Special files, File formats, Games, Macros and conventions, Maintenence commands, Most Popular Man Pages
Linux Newbie Guide: Shorcuts and Commands - Linux essential shortcuts and sanity commands; Common Linux commands - system info; Basic operations, network apps, file (de)compression; Process control; Basic administration commands, accessing drives/partitions; Network administration tools, music-related commands, graphics-related commands.
Subscribe to:
Posts (Atom)
How to check for open ports on Linux
Checking for open ports is among the first steps to secure your device. Listening services may be the entrance for attackers who may exploit...
-
How To Hide and unhide the hard disk Volumes using CMD Commands : First check how many drives are there in my computer and then s...
-
Simplify Your Ansible Playbook Creation with ChatGPT Are you tired of writing complex Ansible playbooks manually? Want to streamline your ...
-
New GNS3 Setup With Lower CPU Load and Lower Memory Consumption ..Try It !!!