techwiki:ubuntu

Differences

This shows you the differences between two versions of the page.


techwiki:ubuntu [2021/08/28 08:54] (current) – created ying
Line 1: Line 1:
 +====== Ubuntu 16 and 17 ======
 +
 +===== Get Running Guide =====
 +
 +  * install pip, if the python is 2.7, install pip3 if the python is 3.5 or above <code bash>sudo apt install python-pip</code>
 +  * install PyQt4 if 2.7 or PyQt5 if 3.5 above <code bash>
 +sudo apt-get update
 +sudo apt-get install pyqt4-dev-tools
 +</code>
 +  * install QtCreator (Qt5 + Cpp) ([[http://www.lucidarme.me/?p=4061|ref]]) <code bash>
 +sudo apt-get install build-essential
 +sudo apt-get install qtcreator
 +sudo apt-get install qt5-default
 +</code>
 +  * to run QtCreator <code bash>qtcreator</code>
 +  * QtCreator tutorial: 
 +    * Adding/Setting up Android into Qt Creator  
 +      * https://www.youtube.com/watch?v=dQUGBQ_yzdc
 +      * https://www.packtpub.com/books/content/setting-qt-creator-android
 +      * http://doc.qt.io/qtcreator/creator-deploying-android.html
 +      * https://www.youtube.com/watch?v=WFGRr0DV3oM
 +
 +====== Install App with Ubuntu Software ======
 +
 +  * Before you install App, in the Ubuntu Software menu > Software and Update, make sure Download From drop down list choose the server in or close to your location. so that install and all process is faster.
 +
 +
 +===== Developer Tool =====
 +
 +^ code editor | notepadqq |
 +^ C# | MonoDevelop |
 +
 +
 +**VSCode**
 +  * ref: https://code.visualstudio.com/Download
 +  * (optional if you have curl) <code bash>sudo apt-get install curl</code>
 +  * install code from cmd (https://code.visualstudio.com/docs/setup/linux) <code bash>curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
 +sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
 +sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
 +sudo apt-get update
 +sudo apt-get install code
 +</code>
 +  * reboot and launch with <code bash>code</code>
 +  * install git for code <code bash>sudo apt-get install git</code>
 +
 +===== Graphic App Install =====
 +
 +^ 3D app | Blender |
 +^ 2D app | Krita |
 +^ Video Editor | KDEnLive |
 +
 +===== Utility App Install =====
 +
 +^ FTP | FileZilla |
 +^ Local Transfer | Dukto |
 +| | <code>sudo apt-get install gdebi
 +wget download.opensuse.org/repositories/home:/colomboem/xUbuntu_12.04/amd64/dukto_6.0-1_amd64.deb
 +sudo gdebi dukto_6.0-1_amd64.deb
 +rm dukto_6.0-1_amd64.deb
 +echo "Now Dukto is in your app list"
 +</code> |
 +===== Install App with apt-get Command =====
 +
 +  * Ubuntu software can be buggy and server connection may be slow;
 +  * apt-get command way of install App can be stable and you can see exactly what is going on
 +
 +**Install Git**
 +  * command <code bash>sudo apt-get install git</code>
 +  * git usage example, get a clone copy of a github folder <code bash>git clone https://github.com/ninja-ide/ninja-ide</code>
 +
 +**Install KDE or MATE desktop environment**
 +  * KDE desktop environment installation, instead of default GNOME <code bash>sudo apt-get install kubuntu-desktop</code>
 +  * MATE desktop environment (17.10) and choose lightdm as display manager <code bash>sudo apt install -y ubuntu-mate-desktop</code>
 +    * ref: https://www.hiroom2.com/2017/11/23/ubuntu-1710-mate-en/
 +====== Custom Folder Location in Linux ======
 +
 +===== Step 1 - Understand Linux Directory =====
 +
 +  * full graphic guide on Linux directory hierarchy: https://www.blackmoreops.com/2015/02/14/linux-file-system-hierarchy/ \\ {{:techwiki:ubuntu:linux-file-system-hierarchy-linux-file-structure-optimized.jpg|}}
 +
 +
 +
 +  * other than your Home folder /home/your_name/ (~), you may want to put thing in a custom folder, like D:/ drive in your windows system,
 +  * As you know, Linux / root directory is like your C:/ drive, all system folders are there and not for your to change (aka Filesystem Hierarchy Standard (FHS) for linux)
 +    * those system folders are very short-named for faster typing on old slow computers 40 years ago
 +    * ref: http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/
 +
 +^ Linux | Windows |
 +^ Super User (root) ||
 +| /root | main OS like Windows folder |
 +| /sbin | system binary, like System32 in windows |
 +^ Normal User ||
 +| /bin | system command binary, includes bash, mv,rm; \Windows\System32\ or \Windows\SysWOW64 |
 +^ system ||
 +| boot | boot loader | 
 +| lib | kernel modules and library |
 +| mnt | partition path |
 +| media | removable storage path |
 +| dev | device drivers |
 +| proc | system info and status folder |
 +| etc | configuration file for system, like etc folder in windows |
 +| var | log folder |
 +| usr | system Program Files |
 +| /usr/sbin | system Program Files bundled with OS |
 +| /usr/bin | user shared system Program Files for all users |
 +| opt | 3rd party Program Files for all users |
 +| srv | serivce folder |
 +^ user ^
 +| home | user home directory |
 +===== Step 2 - Create D drive like folder =====
 +
 +  * command <code bash>
 +sudo mkdir /d
 +sudo chmod 777 /d
 +</code>
 +
 +
 +====== Technical Tips ======
 +
 +===== new apt cmd vs old apt-get cmd since ubuntu 16 =====
 +
 +  * ref: https://itsfoss.com/apt-vs-apt-get-difference/
 +
 +^ New since U16 ^ old way ^ description ^
 +| apt install | apt-get install | Installs a package |
 +| apt remove | apt-get remove | Removes a package |
 +| apt purge | apt-get purge | Removes package with configuration |
 +| apt update | apt-get update | Refreshes repository index |
 +| apt upgrade | apt-get upgrade | Upgrades all upgradable packages |
 +| apt autoremove | apt-get autoremove | Removes unwanted packages |
 +| apt full-upgrade | apt-get dist-upgrade | Upgrades packages with auto-handling of dependencies |
 +| apt search | apt-cache search | Searches for the program |
 +| apt show | apt-cache show | Shows package details |
 +===== Screenshot with Cmd or Shortcut =====
 +
 +  * screenshot cmd for a selection area (auto saved at ~/Picture folder) <code bash>gnome-screenshot -a</code>
 +  * ref: 
 +    * https://help.gnome.org/users/gnome-help/stable/screen-shot-record.html
 +    * https://askubuntu.com/questions/114429/default-save-directory-for-gnome-screenshot
 +
 +
 +===== USB capacity varify =====
 +
 +  * install f3write and f3read tool by type: sudo apt-install f3
 +  * test write and read on flash mount directory <code bash>f3write /media/username/flash_drive_label_name
 +# after done, 
 +f3read /media/username/flash_drive_label_name
 +</code>
 +
 +===== check USB device name =====
 +
 +  * list device name and mount point <code bash>lsblk</code>
 +  * list mount point <code bash>mount</code>
 +  * check device plugin notice <code bash>dmesg</code>
 +
 +===== Write ISO to USB =====
 +
 +  - check sum for verify file corrupt <code bash>sha256sum linux_os_disk.iso</code>
 +  - then search online for verify the sum code is same as online provided one
 +  - umount usb <code bash>umount /dev/sdb1_like_part_name_for_usb</code>
 +  - write <code bash>dd if=linux_os_disk.iso of=/dev/sdb_like_device_Disk_name_check_above</code>
 +    * if you got error when boot that finished usb like "isolinux.bin missing or corrupt", means you had dd into its partition with a number instead of sdb_name_like device. use lsblk again to see the name for the DISK or PART
 +
 +
 +====== Problem and Fix ======
 +
 +===== could not get dpkg lock when apt install at startup =====
 +
 +  * Problem Analysis:
 +    * Software Updater (apt manager) is daily update at startup and lock apt.
 +  * Solution A:
 +    * change Software Updater (search in Ubuntu app manager) > Launch > Setting > Update tab > change to 2 weeks for every checking \\ {{:techwiki:ubuntu:ubuntu_update_setting.png?400|}}
 +  * Solution B:
 +    * code to change it <code bash>
 +sudo systemctl mask apt-daily.service
 +sudo systemctl mask apt-daily.timer
 +sudo systemctl mask apt-daily-upgrade.service
 +sudo systemctl mask apt-daily-upgrade.timer
 +</code>
 +