diff --git a/404.html b/404.html new file mode 100644 index 0000000..4119746 --- /dev/null +++ b/404.html @@ -0,0 +1,403 @@ + + + + + Home + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +
+

Error Not Found 404!

+
+ +
+
+ + + + diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..f477cef Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png new file mode 100644 index 0000000..3da49e4 Binary files /dev/null and b/android-chrome-512x512.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000..adcaa45 Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/apps.png b/apps.png new file mode 100644 index 0000000..3ac3d08 Binary files /dev/null and b/apps.png differ diff --git a/archive/2020_1/index.html b/archive/2020_1/index.html new file mode 100644 index 0000000..46d3fac --- /dev/null +++ b/archive/2020_1/index.html @@ -0,0 +1,432 @@ + + + + + 2020/21 First Semester + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

2020/21 First Semester

+ + + + + +
+
+ + + + diff --git a/archive/2020_1/page/1/index.html b/archive/2020_1/page/1/index.html new file mode 100644 index 0000000..bf29b10 --- /dev/null +++ b/archive/2020_1/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/archive/2020_1/readme/index.html b/archive/2020_1/readme/index.html new file mode 100644 index 0000000..fe5fb70 --- /dev/null +++ b/archive/2020_1/readme/index.html @@ -0,0 +1,490 @@ + + + + + LinuxClub@UCU - First semester 2020/21 + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

LinuxClub@UCU - First semester 2020/21

+

Pre-requirements:🔗

+ +

For Mac users🔗

+

If you are going to visit the club regularly, the best is to install Arch/Manjaro natively. If you can't, you are going to need:

+ +

Project structure🔗

+ +

Can be useful before the course:🔗

+ +

Schedule🔗

+

Week 0 - Club Presentation - +Lecture notes

+

Richard Stallman talk - +Lecture notes

+

Week 1 - Introduction to open-source, different distributions - +Lecture notes

+

Week 2 - Introduction to the shell - +Lecture notes

+

Week 3 - Git and Github - +Lecture notes

+

Week 4.1 - Vim, Terminal multiplexers - +Lecture notes

+

Week 4.2 - Package managers - +Lecture notes

+

Week 5 - File systems - +Lecture notes

+

Week 6.1 - Linux Filesystem Hierarchy Standard - +Lecture notes

+

Week 6.2 - Regular expressions - +Lecture notes

+

Week 7.1 - Boot (EFI/UEFI) - +Lecture notes

+

Week 7.2 - Disk tables (MBR/GPT) - +Lecture notes

+

Week 8 - Systemd, systemctl, kernel options - +Lecture notes

+

Week 9.1 - X.org, Gnome, Wayland, i3, KDE, XFCE, MATE etc. +Week 9.2 - The C Programming Language

+

Resources🔗

+ +

Usage for students🔗

+
# Fork this repository
+# Watch the lecture
+# Create your personal directory in 'homework'
+# Copy the files from the respective directory in 'weeks' into your personal directory in 'homework'
+# Submit a pull request into your own repository's master
+# Add us as contributors into your repository
+# Add the responsible person as a reviewer to the pull request
+# Done!
+
+ +
+
+ + + + diff --git a/archive/2020_1/weeks/index.html b/archive/2020_1/weeks/index.html new file mode 100644 index 0000000..1cc1c53 --- /dev/null +++ b/archive/2020_1/weeks/index.html @@ -0,0 +1,540 @@ + + + + + Resources + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Resources

+ + + + + +
+
+ + + + diff --git a/archive/2020_1/weeks/page/1/index.html b/archive/2020_1/weeks/page/1/index.html new file mode 100644 index 0000000..013cfa8 --- /dev/null +++ b/archive/2020_1/weeks/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/archive/2020_1/weeks/page/2/index.html b/archive/2020_1/weeks/page/2/index.html new file mode 100644 index 0000000..9fed982 --- /dev/null +++ b/archive/2020_1/weeks/page/2/index.html @@ -0,0 +1,432 @@ + + + + + Resources + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Resources

+ + + + + +
+
+ + + + diff --git a/archive/2020_1/weeks/week2-example-commands/index.html b/archive/2020_1/weeks/week2-example-commands/index.html new file mode 100644 index 0000000..6ca57c2 --- /dev/null +++ b/archive/2020_1/weeks/week2-example-commands/index.html @@ -0,0 +1,484 @@ + + + + + Week 2 Example commands + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 2 Example commands

+
# More in the cheatsheet: https://ss64.com/bash/
+# Just prints the contents of the following command
+echo $SHELL
+
+# Prints out the process working directory (folder)
+pwd
+
+# Prints out the logged in user
+whoami
+
+# Changes the directory
+cd 
+
+# cd's into /home/$USER directory
+cd ~/
+
+# . is the current directory
+cd ./
+
+# .. is the directory up the tree
+cd ../
+ 
+cd /home/$USER/Downloads
+
+# cd's into the root directory
+cd /
+
+# Lists the contents of the current directory
+ls 
+
+# Lists the contents of the directory up the tree
+ls ../
+
+# Lists the contents of the directory two times up the tree
+ls ../../
+
+# Lists the contents of the root directory
+ls /
+
+# Lists the contents of the current directory, formatted as a list with additional info
+ls -l
+
+# Also includes the hidden files (starting with .)
+ls -a
+
+# Combines -l and -a options
+ls -la
+
+# Prints the directory name, not their contents
+ls -d
+
+# Creates a directory called try
+mkdir try
+
+# Creates all the directories included in path provided
+mkdir -p try/try2/try3
+
+# Creates the file, or updates its 'modified date'
+touch file_try
+
+# Opens the file in vim
+vim file_nvim_try
+
+echo Hello
+
+# Redirects the output to file helloworld, rewriting the contents
+echo Hello > helloworld
+
+echo world > helloworld
+
+# Appends the output to the file
+echo hello_world >> helloworld
+
+# Prints out the contents of the file
+cat helloworld
+
+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week2/index.html b/archive/2020_1/weeks/week2/index.html new file mode 100644 index 0000000..02cc5ea --- /dev/null +++ b/archive/2020_1/weeks/week2/index.html @@ -0,0 +1,415 @@ + + + + + Week 2 Homework + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 2 Homework

+

Example commands

+
    +
  1. Write a program that prints your ip adress.
  2. +
  3. List all installed programs which contain apps or cs or ba case insensitive separated with ->. Example: pr_apps.py->cs2->ba_11. Hint: to list all installed packages use pacman -Q
  4. +
  5. Write a keylogger. As a command line argument it takes a file path where to store logs. If the log file or path do not exist, the program should create them. Each command that user entered should be prefixed with timestamp ([year:month:day|hour:min:sec]). The commands should work as in the usual command line. Prompt of the keylogger can be any symbol or string (e.g. > or $).
  6. +
+

All programs must have a description and usage examples on the very top of the file as a comment or in the README.md file.

+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week4/index.html b/archive/2020_1/weeks/week4/index.html new file mode 100644 index 0000000..bb81226 --- /dev/null +++ b/archive/2020_1/weeks/week4/index.html @@ -0,0 +1,1382 @@ + + + + + Week 4 Vim Tutor + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 4 Vim Tutor

+

You can access this tutorial just by typing vimtutor in your shell!

+
===============================================================================
+=    W e l c o m e   t o   t h e   V I M   T u t o r    -    Version 1.7      =
+===============================================================================
+
+     Vim is a very powerful editor that has many commands, too many to
+     explain in a tutor such as this.  This tutor is designed to describe
+     enough of the commands that you will be able to easily use Vim as
+     an all-purpose editor.
+
+     The approximate time required to complete the tutor is 30 minutes,
+     depending upon how much time is spent with experimentation.
+
+     ATTENTION:
+     The commands in the lessons will modify the text.  Make a copy of this
+     file to practice on (if you started "vimtutor" this is already a copy).
+
+     It is important to remember that this tutor is set up to teach by
+     use.  That means that you need to execute the commands to learn them
+     properly.  If you only read the text, you will forget the commands!
+
+     Now, make sure that your Caps-Lock key is NOT depressed and press
+     the   j   key enough times to move the cursor so that lesson 1.1
+     completely fills the screen.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 1.1:  MOVING THE CURSOR
+
+
+   ** To move the cursor, press the h,j,k,l keys as indicated. **
+	     ^
+	     k		    Hint:  The h key is at the left and moves left.
+       < h	 l >		   The l key is at the right and moves right.
+	     j			   The j key looks like a down arrow.
+	     v
+  1. Move the cursor around the screen until you are comfortable.
+
+  2. Hold down the down key (j) until it repeats.
+     Now you know how to move to the next lesson.
+
+  3. Using the down key, move to lesson 1.2.
+
+NOTE: If you are ever unsure about something you typed, press <ESC> to place
+      you in Normal mode.  Then retype the command you wanted.
+
+NOTE: The cursor keys should also work.  But using hjkl you will be able to
+      move around much faster, once you get used to it.  Really!
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			    Lesson 1.2: EXITING VIM
+
+
+  !! NOTE: Before executing any of the steps below, read this entire lesson!!
+
+  1. Press the <ESC> key (to make sure you are in Normal mode).
+
+  2. Type:	:q! <ENTER>.
+     This exits the editor, DISCARDING any changes you have made.
+
+  3. Get back here by executing the command that got you into this tutor. That
+     might be:  vimtutor <ENTER>
+
+  4. If you have these steps memorized and are confident, execute steps
+     1 through 3 to exit and re-enter the editor.
+
+NOTE:  :q! <ENTER>  discards any changes you made.  In a few lessons you
+       will learn how to save the changes to a file.
+
+  5. Move the cursor down to lesson 1.3.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lesson 1.3: TEXT EDITING - DELETION
+
+
+	   ** Press  x  to delete the character under the cursor. **
+
+  1. Move the cursor to the line below marked --->.
+
+  2. To fix the errors, move the cursor until it is on top of the
+     character to be deleted.
+
+  3. Press the	x  key to delete the unwanted character.
+
+  4. Repeat steps 2 through 4 until the sentence is correct.
+
+---> The ccow jumpedd ovverr thhe mooon.
+
+  5. Now that the line is correct, go on to lesson 1.4.
+
+NOTE: As you go through this tutor, do not try to memorize, learn by usage.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lesson 1.4: TEXT EDITING - INSERTION
+
+
+			** Press  i  to insert text. **
+
+  1. Move the cursor to the first line below marked --->.
+
+  2. To make the first line the same as the second, move the cursor on top
+     of the character BEFORE which the text is to be inserted.
+
+  3. Press  i  and type in the necessary additions.
+
+  4. As each error is fixed press <ESC> to return to Normal mode.
+     Repeat steps 2 through 4 to correct the sentence.
+
+---> There is text misng this .
+---> There is some text missing from this line.
+
+  5. When you are comfortable iserting text move to lesson 1.5.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lesson 1.5: TEXT EDITING - APPENDING
+
+
+			** Press  A  to append text. **
+
+  1. Move the cursor to the first line below marked --->.
+     It does not matter on what character the cursor is in that line.
+
+  2. Press  A  and type in the necessary additions.
+
+  3. As the text has been appended press <ESC> to return to Normal mode.
+
+  4. Move the cursor to the second line marked ---> and repeat
+     steps 2 and 3 to correct this sentence.
+
+---> There is some text missing from th
+     There is some text missing from this line.
+---> There is also some text miss
+     There is also some text missing here.
+
+  5. When you are comfortable appending text move to lesson 1.6.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lesson 1.6: EDITING A FILE
+
+		    ** Use  :wq  to save a file and exit. **
+
+  !! NOTE: Before executing any of the steps below, read this entire lesson!!
+
+  1. Exit this tutor as you did in lesson 1.2:  :q!
+     Or, if you have access to another terminal, do the following there.
+
+  2. At the shell prompt type this command:  vim tutor <ENTER>
+     'vim' is the command to start the Vim editor, 'tutor' is the name of the
+     file you wish to edit.  Use a file that may be changed.
+
+  3. Insert and delete text as you learned in the previous lessons.
+
+  4. Save the file with changes and exit Vim with:  :wq <ENTER>
+
+  5. If you have quit vimtutor in step 1 restart the vimtutor and move down to
+     the following summary.
+
+  6. After reading the above steps and understanding them: do it.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 1 SUMMARY
+
+
+  1. The cursor is moved using either the arrow keys or the hjkl keys.
+	 h (left)	j (down)       k (up)	    l (right)
+
+  2. To start Vim from the shell prompt type:  vim FILENAME <ENTER>
+
+  3. To exit Vim type:	   <ESC>   :q!	 <ENTER>  to trash all changes.
+	     OR type:	   <ESC>   :wq	 <ENTER>  to save the changes.
+
+  4. To delete the character at the cursor type:  x
+
+  5. To insert or append text type:
+	 i   type inserted text   <ESC>		insert before the cursor
+	 A   type appended text   <ESC>         append after the line
+
+NOTE: Pressing <ESC> will place you in Normal mode or will cancel
+      an unwanted and partially completed command.
+
+Now continue with lesson 2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 2.1: DELETION COMMANDS
+
+
+		       ** Type  dw  to delete a word. **
+
+  1. Press  <ESC>  to make sure you are in Normal mode.
+
+  2. Move the cursor to the line below marked --->.
+
+  3. Move the cursor to the beginning of a word that needs to be deleted.
+
+  4. Type   dw	 to make the word disappear.
+
+  NOTE: The letter  d  will appear on the last line of the screen as you type
+	it.  Vim is waiting for you to type  w .  If you see another character
+	than  d  you typed something wrong; press  <ESC>  and start over.
+
+---> There are a some words fun that don't belong paper in this sentence.
+
+  5. Repeat steps 3 and 4 until the sentence is correct and go to lesson 2.2.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lesson 2.2: MORE DELETION COMMANDS
+
+
+	   ** Type  d$	to delete to the end of the line. **
+
+  1. Press  <ESC>  to make sure you are in Normal mode.
+
+  2. Move the cursor to the line below marked --->.
+
+  3. Move the cursor to the end of the correct line (AFTER the first . ).
+
+  4. Type    d$    to delete to the end of the line.
+
+---> Somebody typed the end of this line twice. end of this line twice.
+
+
+  5. Move on to lesson 2.3 to understand what is happening.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lesson 2.3: ON OPERATORS AND MOTIONS
+
+
+  Many commands that change text are made from an operator and a motion.
+  The format for a delete command with the  d  delete operator is as follows:
+
+  	d   motion
+
+  Where:
+    d      - is the delete operator.
+    motion - is what the operator will operate on (listed below).
+
+  A short list of motions:
+    w - until the start of the next word, EXCLUDING its first character.
+    e - to the end of the current word, INCLUDING the last character.
+    $ - to the end of the line, INCLUDING the last character.
+
+  Thus typing  de  will delete from the cursor to the end of the word.
+
+NOTE:  Pressing just the motion while in Normal mode without an operator will
+       move the cursor as specified.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lesson 2.4: USING A COUNT FOR A MOTION
+
+
+   ** Typing a number before a motion repeats it that many times. **
+
+  1. Move the cursor to the start of the line below marked --->.
+
+  2. Type  2w  to move the cursor two words forward.
+
+  3. Type  3e  to move the cursor to the end of the third word forward.
+
+  4. Type  0  (zero) to move to the start of the line.
+
+  5. Repeat steps 2 and 3 with different numbers.
+
+---> This is just a line with words you can move around in.
+
+  6. Move on to lesson 2.5.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Lesson 2.5: USING A COUNT TO DELETE MORE
+
+
+   ** Typing a number with an operator repeats it that many times. **
+
+  In the combination of the delete operator and a motion mentioned above you
+  insert a count before the motion to delete more:
+	 d   number   motion
+
+  1. Move the cursor to the first UPPER CASE word in the line marked --->.
+
+  2. Type  d2w  to delete the two UPPER CASE words.
+
+  3. Repeat steps 1 and 2 with a different count to delete the consecutive
+     UPPER CASE words with one command.
+
+--->  this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lesson 2.6: OPERATING ON LINES
+
+
+		   ** Type  dd   to delete a whole line. **
+
+  Due to the frequency of whole line deletion, the designers of Vi decided
+  it would be easier to simply type two d's to delete a line.
+
+  1. Move the cursor to the second line in the phrase below.
+  2. Type  dd  to delete the line.
+  3. Now move to the fourth line.
+  4. Type   2dd   to delete two lines.
+
+--->  1)  Roses are red,
+--->  2)  Mud is fun,
+--->  3)  Violets are blue,
+--->  4)  I have a car,
+--->  5)  Clocks tell time,
+--->  6)  Sugar is sweet
+--->  7)  And so are you.
+
+Doubling to operate on a line also works for operators mentioned below
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lesson 2.7: THE UNDO COMMAND
+
+
+   ** Press  u	to undo the last commands,   U  to fix a whole line. **
+
+  1. Move the cursor to the line below marked ---> and place it on the
+     first error.
+  2. Type  x  to delete the first unwanted character.
+  3. Now type  u  to undo the last command executed.
+  4. This time fix all the errors on the line using the  x  command.
+  5. Now type a capital  U  to return the line to its original state.
+  6. Now type  u  a few times to undo the  U  and preceding commands.
+  7. Now type CTRL-R (keeping CTRL key pressed while hitting R) a few times
+     to redo the commands (undo the undo's).
+
+---> Fiix the errors oon thhis line and reeplace them witth undo.
+
+  8. These are very useful commands.  Now move on to the lesson 2 Summary.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 2 SUMMARY
+
+
+  1. To delete from the cursor up to the next word type:    dw
+  2. To delete from the cursor to the end of a line type:    d$
+  3. To delete a whole line type:    dd
+
+  4. To repeat a motion prepend it with a number:   2w
+  5. The format for a change command is:
+               operator   [number]   motion
+     where:
+       operator - is what to do, such as  d  for delete
+       [number] - is an optional count to repeat the motion
+       motion   - moves over the text to operate on, such as  w (word),
+		  $ (to the end of line), etc.
+
+  6. To move to the start of the line use a zero:  0
+
+  7. To undo previous actions, type: 	       u  (lowercase u)
+     To undo all the changes on a line, type:  U  (capital U)
+     To undo the undo's, type:		       CTRL-R
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lesson 3.1: THE PUT COMMAND
+
+
+       ** Type	p  to put previously deleted text after the cursor. **
+
+  1. Move the cursor to the first line below marked --->.
+
+  2. Type  dd  to delete the line and store it in a Vim register.
+
+  3. Move the cursor to the c) line, ABOVE where the deleted line should go.
+
+  4. Type   p   to put the line below the cursor.
+
+  5. Repeat steps 2 through 4 to put all the lines in correct order.
+
+---> d) Can you learn too?
+---> b) Violets are blue,
+---> c) Intelligence is learned,
+---> a) Roses are red,
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lesson 3.2: THE REPLACE COMMAND
+
+
+       ** Type  rx  to replace the character at the cursor with  x . **
+
+  1. Move the cursor to the first line below marked --->.
+
+  2. Move the cursor so that it is on top of the first error.
+
+  3. Type   r	and then the character which should be there.
+
+  4. Repeat steps 2 and 3 until the first line is equal to the second one.
+
+--->  Whan this lime was tuoed in, someone presswd some wrojg keys!
+--->  When this line was typed in, someone pressed some wrong keys!
+
+  5. Now move on to lesson 3.3.
+
+NOTE: Remember that you should be learning by doing, not memorization.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 3.3: THE CHANGE OPERATOR
+
+
+	   ** To change until the end of a word, type  ce . **
+
+  1. Move the cursor to the first line below marked --->.
+
+  2. Place the cursor on the  u  in  lubw.
+
+  3. Type  ce  and the correct word (in this case, type  ine ).
+
+  4. Press <ESC> and move to the next character that needs to be changed.
+
+  5. Repeat steps 3 and 4 until the first sentence is the same as the second.
+
+---> This lubw has a few wptfd that mrrf changing usf the change operator.
+---> This line has a few words that need changing using the change operator.
+
+Notice that  ce  deletes the word and places you in Insert mode.
+             cc  does the same for the whole line
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lesson 3.4: MORE CHANGES USING c
+
+
+     ** The change operator is used with the same motions as delete. **
+
+  1. The change operator works in the same way as delete.  The format is:
+
+         c    [number]   motion
+
+  2. The motions are the same, such as   w (word) and  $ (end of line).
+
+  3. Move the cursor to the first line below marked --->.
+
+  4. Move the cursor to the first error.
+
+  5. Type  c$  and type the rest of the line like the second and press <ESC>.
+
+---> The end of this line needs some help to make it like the second.
+---> The end of this line needs to be corrected using the  c$  command.
+
+NOTE:  You can use the Backspace key to correct mistakes while typing.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 3 SUMMARY
+
+
+  1. To put back text that has just been deleted, type   p .  This puts the
+     deleted text AFTER the cursor (if a line was deleted it will go on the
+     line below the cursor).
+
+  2. To replace the character under the cursor, type   r   and then the
+     character you want to have there.
+
+  3. The change operator allows you to change from the cursor to where the
+     motion takes you.  eg. Type  ce  to change from the cursor to the end of
+     the word,  c$  to change to the end of a line.
+
+  4. The format for change is:
+
+	 c   [number]   motion
+
+Now go on to the next lesson.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		  Lesson 4.1: CURSOR LOCATION AND FILE STATUS
+
+  ** Type CTRL-G to show your location in the file and the file status.
+     Type  G  to move to a line in the file. **
+
+  NOTE: Read this entire lesson before executing any of the steps!!
+
+  1. Hold down the Ctrl key and press  g .  We call this CTRL-G.
+     A message will appear at the bottom of the page with the filename and the
+     position in the file.  Remember the line number for Step 3.
+
+NOTE:  You may see the cursor position in the lower right corner of the screen
+       This happens when the 'ruler' option is set (see  :help 'ruler'  )
+
+  2. Press  G  to move you to the bottom of the file.
+     Type  gg  to move you to the start of the file.
+
+  3. Type the number of the line you were on and then  G .  This will
+     return you to the line you were on when you first pressed CTRL-G.
+
+  4. If you feel confident to do this, execute steps 1 through 3.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 4.2: THE SEARCH COMMAND
+
+
+     ** Type  /  followed by a phrase to search for the phrase. **
+
+  1. In Normal mode type the  /  character.  Notice that it and the cursor
+     appear at the bottom of the screen as with the  :	command.
+
+  2. Now type 'errroor' <ENTER>.  This is the word you want to search for.
+
+  3. To search for the same phrase again, simply type  n .
+     To search for the same phrase in the opposite direction, type  N .
+
+  4. To search for a phrase in the backward direction, use  ?  instead of  / .
+
+  5. To go back to where you came from press  CTRL-O  (Keep Ctrl down while
+     pressing the letter o).  Repeat to go back further.  CTRL-I goes forward.
+
+--->  "errroor" is not the way to spell error;  errroor is an error.
+NOTE: When the search reaches the end of the file it will continue at the
+      start, unless the 'wrapscan' option has been reset.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   Lesson 4.3: MATCHING PARENTHESES SEARCH
+
+
+	      ** Type  %  to find a matching ),], or } . **
+
+  1. Place the cursor on any (, [, or { in the line below marked --->.
+
+  2. Now type the  %  character.
+
+  3. The cursor will move to the matching parenthesis or bracket.
+
+  4. Type  %  to move the cursor to the other matching bracket.
+
+  5. Move the cursor to another (,),[,],{ or } and see what  %  does.
+
+---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
+
+
+NOTE: This is very useful in debugging a program with unmatched parentheses!
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lesson 4.4: THE SUBSTITUTE COMMAND
+
+
+	** Type  :s/old/new/g  to substitute 'new' for 'old'. **
+
+  1. Move the cursor to the line below marked --->.
+
+  2. Type  :s/thee/the <ENTER>  .  Note that this command only changes the
+     first occurrence of "thee" in the line.
+
+  3. Now type  :s/thee/the/g .  Adding the  g  flag means to substitute
+     globally in the line, change all occurrences of "thee" in the line.
+
+---> thee best time to see thee flowers is in thee spring.
+
+  4. To change every occurrence of a character string between two lines,
+     type   :#,#s/old/new/g    where #,# are the line numbers of the range
+                               of lines where the substitution is to be done.
+     Type   :%s/old/new/g      to change every occurrence in the whole file.
+     Type   :%s/old/new/gc     to find every occurrence in the whole file,
+     			       with a prompt whether to substitute or not.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 4 SUMMARY
+
+
+  1. CTRL-G  displays your location in the file and the file status.
+             G  moves to the end of the file.
+     number  G  moves to that line number.
+            gg  moves to the first line.
+
+  2. Typing  /	followed by a phrase searches FORWARD for the phrase.
+     Typing  ?	followed by a phrase searches BACKWARD for the phrase.
+     After a search type  n  to find the next occurrence in the same direction
+     or  N  to search in the opposite direction.
+     CTRL-O takes you back to older positions, CTRL-I to newer positions.
+
+  3. Typing  %	while the cursor is on a (,),[,],{, or } goes to its match.
+
+  4. To substitute new for the first old in a line type    :s/old/new
+     To substitute new for all 'old's on a line type	   :s/old/new/g
+     To substitute phrases between two line #'s type	   :#,#s/old/new/g
+     To substitute all occurrences in the file type	   :%s/old/new/g
+     To ask for confirmation each time add 'c'		   :%s/old/new/gc
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Lesson 5.1: HOW TO EXECUTE AN EXTERNAL COMMAND
+
+
+   ** Type  :!	followed by an external command to execute that command. **
+
+  1. Type the familiar command	:  to set the cursor at the bottom of the
+     screen.  This allows you to enter a command-line command.
+
+  2. Now type the  !  (exclamation point) character.  This allows you to
+     execute any external shell command.
+
+  3. As an example type   ls   following the ! and then hit <ENTER>.  This
+     will show you a listing of your directory, just as if you were at the
+     shell prompt.  Or use  :!dir  if ls doesn't work.
+
+NOTE:  It is possible to execute any external command this way, also with
+       arguments.
+
+NOTE:  All  :  commands must be finished by hitting <ENTER>
+       From here on we will not always mention it.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lesson 5.2: MORE ON WRITING FILES
+
+
+     ** To save the changes made to the text, type  :w FILENAME  **
+
+  1. Type  :!dir  or  :!ls  to get a listing of your directory.
+     You already know you must hit <ENTER> after this.
+
+  2. Choose a filename that does not exist yet, such as TEST.
+
+  3. Now type:	 :w TEST   (where TEST is the filename you chose.)
+
+  4. This saves the whole file (the Vim Tutor) under the name TEST.
+     To verify this, type    :!dir  or  :!ls   again to see your directory.
+
+NOTE: If you were to exit Vim and start it again with  vim TEST , the file
+      would be an exact copy of the tutor when you saved it.
+
+  5. Now remove the file by typing (Windows):   :!del TEST
+				or (Unix):	:!rm TEST
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lesson 5.3: SELECTING TEXT TO WRITE
+
+
+	** To save part of the file, type  v  motion  :w FILENAME **
+
+  1. Move the cursor to this line.
+
+  2. Press  v  and move the cursor to the fifth item below.  Notice that the
+     text is highlighted.
+
+  3. Press the  :  character.  At the bottom of the screen  :'<,'> will appear.
+
+  4. Type  w TEST  , where TEST is a filename that does not exist yet.  Verify
+     that you see  :'<,'>w TEST  before you press <ENTER>.
+
+  5. Vim will write the selected lines to the file TEST.  Use  :!dir  or  :!ls
+     to see it.  Do not remove it yet!  We will use it in the next lesson.
+
+NOTE:  Pressing  v  starts Visual selection.  You can move the cursor around
+       to make the selection bigger or smaller.  Then you can use an operator
+       to do something with the text.  For example,  d  deletes the text.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   Lesson 5.4: RETRIEVING AND MERGING FILES
+
+
+       ** To insert the contents of a file, type  :r FILENAME  **
+
+  1. Place the cursor just above this line.
+
+NOTE:  After executing Step 2 you will see text from lesson 5.3.  Then move
+       DOWN to see this lesson again.
+
+  2. Now retrieve your TEST file using the command   :r TEST   where TEST is
+     the name of the file you used.
+     The file you retrieve is placed below the cursor line.
+
+  3. To verify that a file was retrieved, cursor back and notice that there
+     are now two copies of lesson 5.3, the original and the file version.
+
+NOTE:  You can also read the output of an external command.  For example,
+       :r !ls  reads the output of the ls command and puts it below the
+       cursor.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 5 SUMMARY
+
+
+  1.  :!command  executes an external command.
+
+      Some useful examples are:
+	 (Windows)	  (Unix)
+	  :!dir		   :!ls		   -  shows a directory listing.
+	  :!del FILENAME   :!rm FILENAME   -  removes file FILENAME.
+
+  2.  :w FILENAME  writes the current Vim file to disk with name FILENAME.
+
+  3.  v  motion  :w FILENAME  saves the Visually selected lines in file
+      FILENAME.
+
+  4.  :r FILENAME  retrieves disk file FILENAME and puts it below the
+      cursor position.
+
+  5.  :r !dir  reads the output of the dir command and puts it below the
+      cursor position.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Lesson 6.1: THE OPEN COMMAND
+
+
+ ** Type  o  to open a line below the cursor and place you in Insert mode. **
+
+  1. Move the cursor to the first line below marked --->.
+
+  2. Type the lowercase letter  o  to open up a line BELOW the cursor and place
+     you in Insert mode.
+
+  3. Now type some text and press <ESC> to exit Insert mode.
+
+---> After typing  o  the cursor is placed on the open line in Insert mode.
+
+  4. To open up a line ABOVE the cursor, simply type a capital	O , rather
+     than a lowercase  o.  Try this on the line below.
+
+---> Open up a line above this by typing O while the cursor is on this line.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 6.2: THE APPEND COMMAND
+
+
+	     ** Type  a  to insert text AFTER the cursor. **
+
+  1. Move the cursor to the start of the first line below marked --->.
+
+  2. Press  e  until the cursor is on the end of  li .
+
+  3. Type an  a  (lowercase) to append text AFTER the cursor.
+
+  4. Complete the word like the line below it.  Press <ESC> to exit Insert
+     mode.
+
+  5. Use  e  to move to the next incomplete word and repeat steps 3 and 4.
+
+---> This li will allow you to pract appendi text to a line.
+---> This line will allow you to practice appending text to a line.
+
+NOTE:  a, i and A all go to the same Insert mode, the only difference is where
+       the characters are inserted.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Lesson 6.3: ANOTHER WAY TO REPLACE
+
+
+      ** Type a capital  R  to replace more than one character. **
+
+  1. Move the cursor to the first line below marked --->.  Move the cursor to
+     the beginning of the first  xxx .
+
+  2. Now press  R  and type the number below it in the second line, so that it
+     replaces the xxx .
+
+  3. Press <ESC> to leave Replace mode.  Notice that the rest of the line
+     remains unmodified.
+
+  4. Repeat the steps to replace the remaining xxx.
+
+---> Adding 123 to xxx gives you xxx.
+---> Adding 123 to 456 gives you 579.
+
+NOTE:  Replace mode is like Insert mode, but every typed character deletes an
+       existing character.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Lesson 6.4: COPY AND PASTE TEXT
+
+
+	  ** Use the  y  operator to copy text and  p  to paste it **
+
+  1. Move to the line below marked ---> and place the cursor after "a)".
+
+  2. Start Visual mode with  v  and move the cursor to just before "first".
+
+  3. Type  y  to yank (copy) the highlighted text.
+
+  4. Move the cursor to the end of the next line:  j$
+
+  5. Type  p  to put (paste) the text.  Then type:  a second <ESC> .
+
+  6. Use Visual mode to select " item.", yank it with  y , move to the end of
+     the next line with  j$  and put the text there with  p .
+
+--->  a) this is the first item.
+      b)
+
+  NOTE: You can also use  y  as an operator:  yw  yanks one word,
+        yy  yanks the whole line, then  p  puts that line
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			    Lesson 6.5: SET OPTION
+
+
+	  ** Set an option so a search or substitute ignores case **
+
+  1. Search for 'ignore' by entering:  /ignore <ENTER>
+     Repeat several times by pressing  n .
+
+  2. Set the 'ic' (Ignore case) option by entering:   :set ic
+
+  3. Now search for 'ignore' again by pressing  n
+     Notice that Ignore and IGNORE are now also found.
+
+  4. Set the 'hlsearch' and 'incsearch' options:  :set hls is
+
+  5. Now type the search command again and see what happens:  /ignore <ENTER>
+
+  6. To disable ignoring case enter:  :set noic
+
+NOTE:  To remove the highlighting of matches enter:   :nohlsearch
+NOTE:  If you want to ignore case for just one search command, use  \c
+       in the phrase:  /ignore\c <ENTER>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 6 SUMMARY
+
+  1. Type  o  to open a line BELOW the cursor and start Insert mode.
+     Type  O  to open a line ABOVE the cursor.
+
+  2. Type  a  to insert text AFTER the cursor.
+     Type  A  to insert text after the end of the line.
+
+  3. The  e  command moves to the end of a word.
+
+  4. The  y  operator yanks (copies) text,  p  puts (pastes) it.
+
+  5. Typing a capital  R  enters Replace mode until  <ESC>  is pressed.
+
+  6. Typing ":set xxx" sets the option "xxx".  Some options are:
+  	'ic' 'ignorecase'	ignore upper/lower case when searching
+	'is' 'incsearch'	show partial matches for a search phrase
+	'hls' 'hlsearch'	highlight all matching phrases
+     You can either use the long or the short option name.
+
+  7. Prepend "no" to switch an option off:   :set noic
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Lesson 7.1: GETTING HELP
+
+
+		      ** Use the on-line help system **
+
+  Vim has a comprehensive on-line help system.  To get started, try one of
+  these three:
+	- press the <HELP> key (if you have one)
+	- press the <F1> key (if you have one)
+	- type   :help <ENTER>
+
+  Read the text in the help window to find out how the help works.
+  Type  CTRL-W CTRL-W   to jump from one window to another.
+  Type    :q <ENTER>    to close the help window.
+
+  You can find help on just about any subject, by giving an argument to the
+  ":help" command.  Try these (don't forget pressing <ENTER>):
+
+	:help w
+	:help c_CTRL-D
+	:help insert-index
+	:help user-manual
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Lesson 7.2: CREATE A STARTUP SCRIPT
+
+
+			  ** Enable Vim features **
+
+  Vim has many more features than Vi, but most of them are disabled by
+  default.  To start using more features you have to create a "vimrc" file.
+
+  1. Start editing the "vimrc" file.  This depends on your system:
+	:e ~/.vimrc		for Unix
+	:e $VIM/_vimrc		for Windows
+
+  2. Now read the example "vimrc" file contents:
+	:r $VIMRUNTIME/vimrc_example.vim
+
+  3. Write the file with:
+	:w
+
+  The next time you start Vim it will use syntax highlighting.
+  You can add all your preferred settings to this "vimrc" file.
+  For more information type  :help vimrc-intro
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			     Lesson 7.3: COMPLETION
+
+
+	      ** Command line completion with CTRL-D and <TAB> **
+
+  1. Make sure Vim is not in compatible mode:  :set nocp
+
+  2. Look what files exist in the directory:  :!ls   or  :!dir
+
+  3. Type the start of a command:  :e
+
+  4. Press  CTRL-D  and Vim will show a list of commands that start with "e".
+
+  5. Type  d<TAB>  and Vim will complete the command name to ":edit".
+
+  6. Now add a space and the start of an existing file name:  :edit FIL
+
+  7. Press <TAB>.  Vim will complete the name (if it is unique).
+
+NOTE:  Completion works for many commands.  Just try pressing CTRL-D and
+       <TAB>.  It is especially useful for  :help .
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       Lesson 7 SUMMARY
+
+
+  1. Type  :help  or press <F1> or <HELP>  to open a help window.
+
+  2. Type  :help cmd  to find help on  cmd .
+
+  3. Type  CTRL-W CTRL-W  to jump to another window.
+
+  4. Type  :q  to close the help window.
+
+  5. Create a vimrc startup script to keep your preferred settings.
+
+  6. When typing a  :  command, press CTRL-D to see possible completions.
+     Press <TAB> to use one completion.
+
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  This concludes the Vim Tutor.  It was intended to give a brief overview of
+  the Vim editor, just enough to allow you to use the editor fairly easily.
+  It is far from complete as Vim has many many more commands.  Read the user
+  manual next: ":help user-manual".
+
+  For further reading and studying, this book is recommended:
+	Vim - Vi Improved - by Steve Oualline
+	Publisher: New Riders
+  The first book completely dedicated to Vim.  Especially useful for beginners.
+  There are many examples and pictures.
+  See http://iccf-holland.org/click5.html
+
+  This book is older and more about Vi than Vim, but also recommended:
+	Learning the Vi Editor - by Linda Lamb
+	Publisher: O'Reilly & Associates Inc.
+  It is a good book to get to know almost anything you want to do with Vi.
+  The sixth edition also includes information on Vim.
+
+  This tutorial was written by Michael C. Pierce and Robert K. Ware,
+  Colorado School of Mines using ideas supplied by Charles Smith,
+  Colorado State University.  E-mail: bware@mines.colorado.edu.
+
+  Modified for Vim by Bram Moolenaar.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n
+
+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week5/index.html b/archive/2020_1/weeks/week5/index.html new file mode 100644 index 0000000..1dff16f --- /dev/null +++ b/archive/2020_1/weeks/week5/index.html @@ -0,0 +1,441 @@ + + + + + Week 5 Homework + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 5 Homework

+

Week 5 File Systems Homework🔗

+ +

Try to answer these questions yourself, without consulting Google too much. Once you are finished with answering these questions however, read more on all the concepts you do not understand well, and reread our presentation on the topic🔗

+
+
    +
  1. +

    Using only command-line programs (ls, cd) jump around your user directories. What are some of the interesting options for these programs?

    +
  2. +
  3. +

    Consider an i-node that contains 10 direct addresses to disk blocks. Disk Blocks are 1024 kb each. What's the largest file size possible?

    +
  4. +
  5. +

    How are external devices represented in file systems in Unix-like systems?

    +
  6. +
  7. +

    For a given class, the student records are stored in a file. The records are randomly accessed and updated. Assume that each student's record is of fixed size. Which of the three allocation schemes (contiguous, linked and table/indexed) should be used?

    +
  8. +
  9. +

    One way to use contiguous allocation of the disk and not suffer from holes is to compact the disk every time a file is removed. Since all files are contiguous, copying a file requires a seek, a disk hand rotation, followed by the transfer at full speed. Writing the file back requires the same work. Assuming a seek time of 5 msec, a rotational delay of 4 msec, a transfer rate of 80 MB/sec, an average file size of 8 KB, how long does it take to read a file into main memory and then write it back to the disk at a new location? Using these numbers, how long would it take to compact half of a 16-GB disk?

    +
  10. +
  11. +

    Suggest a few real-world examples for devices that would work with contiguous file systems?

    +
  12. +
  13. +

    Is it possible to recover the disk in the case that free space list is damaged?

    +
  14. +
  15. +

    How many disk operations are necessary to get the file at /home/$USER/Documents/history/foucault.txt path? Presume that we are located at the root (/), no i-node is cached and each i-node transition takes 1 disk operation.

    +
  16. +
  17. +

    In many *nix systems, the i-nodes are kept at the start of the disk. An alternative design is to allocate an i-node when a file is created and put the i-node at the start of the first block of the file. What are the tradeoffs of this approach?

    +
  18. +
+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week6-cheatsheet/index.html b/archive/2020_1/weeks/week6-cheatsheet/index.html new file mode 100644 index 0000000..9f6b4e0 --- /dev/null +++ b/archive/2020_1/weeks/week6-cheatsheet/index.html @@ -0,0 +1,477 @@ + + + + + Week 6 Cheatsheet + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 6 Cheatsheet

+

There are more examples and details in the presentations, this is just a short and quick reminder

+

Anchors🔗

+ +

Assertions🔗

+ +

Examples

+ +

Groups and Ranges🔗

+ +

Examples

+ +

Character classes🔗

+ +

Quantifiers🔗

+ +

Escape sequences and common metacharacters🔗

+ +

String replacement🔗

+ +

Examples:

+ + +
+
+ + + + diff --git a/archive/2020_1/weeks/week6/index.html b/archive/2020_1/weeks/week6/index.html new file mode 100644 index 0000000..f9ce08a --- /dev/null +++ b/archive/2020_1/weeks/week6/index.html @@ -0,0 +1,478 @@ + + + + + Week 6 Homework + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 6 Homework

+

Cheatsheet

+

Week 6 Regular Expressions Homework🔗

+

This is a template for the report of 21 problems on this site.🔗

+ +

We recommend you (re)watch our presentation, and use a cheatsheet while working on the following problems.🔗

+

If you are having problems with figuring out the correct solution, skip it for later, and if you are completely lost, use the hints and try to understand them.🔗

+
+

Problem 1: Floating point numbers🔗

+
insert your pattern here
+
+

Problem 2: Years before 1990🔗

+
insert your pattern here
+
+

Problem 3: Hexadecimal colors🔗

+
insert your pattern here
+
+

Problem 4: Grayscale colors🔗

+
insert your pattern here
+
+

Problem 5: Too long lines🔗

+
insert your pattern here
+
+

Problem 6: Remove repeating words🔗

+
insert your pattern here
+
+

Problem 7: Match HTML tags🔗

+
insert your pattern here
+
+

Problem 8: Cut numbers two digits after floating point🔗

+
insert your pattern here
+
+

Problem 9: Digit commas formatting🔗

+
insert your pattern here
+
+

Problem 10: Match lowercase function declarations🔗

+
insert your pattern here
+
+

Problem 11: Change date formats🔗

+
insert your pattern here
+
+

Problem 12: Validate 24h time format🔗

+
insert your pattern here
+
+

Problem 13: Validate AM/PM time format🔗

+
insert your pattern here
+
+

Problem 14: Pascal style to C-style parameters🔗

+
insert your pattern here
+
+

Problem 15: Change variable initialization🔗

+
insert your pattern here
+
+

Problem 16: IPv6 adresses🔗

+
insert your pattern here
+
+

Problem 17: Validate 32 or 24 bit hexadecimal colors🔗

+
insert your pattern here
+
+

Problem 18: Replace operators with function calls🔗

+
insert your pattern here
+
+

Problem 19: Extract query string from URL🔗

+
insert your pattern here
+
+

Problem 20: Extract host from URL🔗

+
insert your pattern here
+
+

Problem 21: Strings not containing word🔗

+
insert your pattern here
+
+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week7-boot/index.html b/archive/2020_1/weeks/week7-boot/index.html new file mode 100644 index 0000000..3c92025 --- /dev/null +++ b/archive/2020_1/weeks/week7-boot/index.html @@ -0,0 +1,466 @@ + + + + + Week 7 Notes + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 7 Notes

+

Bootloader homework🔗

+

This week you had a lecture about booting and bootloaders in particular. Even though they are very small they still can cause a lot of troubles. In this homework, you don't need to submit anything, though it doesn't mean that you should do nothing. You have a few tasks below with the most common problems and just useful things.

+
🔗
+

If you are a happy owner of mac than these tasks aren't for you. But you still have your own homework: as we didn't talk about mac bootloader, please find out more about it.

+

Hello, BIOS!🔗

+

I have heard that some of you still don't know how to access BIOS setup. So your first task will be to boot from it :)

+

🔗

+

BIOS setup is also very small, but have many useful and interesting settings. I do not recommend you to play with them unless you want to crash your computer, but highly recommend you to read more about them.

+

🔗

+

As Linux user, you often will need to boot from USB (flash drive) and you can do this from BIOS, so, this task is MANDATORY! If you won't know how to boot from USB after this homework - shame on you ^^. +(For lazy ones) Hope you will be able to find out how to boot Linux/Windows from it.

+

More space🔗

+

As I have noted boot loaders are really small, so most companies initially put 100 MB on them. But now your bootloader has to deal with two OS (or even more), so they need more space. Firstly, check how much space it already has:

+
lsblk
+
+

This will show you all your partitions, you just need to find one with '/boot' mark.(more commands for partitions). +image

+

🔗

+

As you can see I allocated 900MB for my boot 0_0 I think for you 500MB will be more than enough. If you already have 200MB+ than it isn't so critical for you...maybe... But if you have only 100MB it is mandatory for you to increase it to 500!

+

🔗

+

I know that you are new to Linux, so was I when I faced with a boot memory problem. So you have no excuses for not doing this part!

+

Try something new🔗

+

(Plz, do not hate me for this task)

+

🔗

+

I know that most of you didn't install Linux by themselves(someone did it for you). So you probably don't know how to install and set bootloader. Change your bootloader (systemd-boot <-> GRUB), delete previous one (for users that have already changed something in their boot loaders' config: don't delete files with configs), do some tasks for it and go back to your previous bootloader, or stay on a new one if you like it more. (Some guides below)

+

🔗

+

(If you have another bootloader than it probably will be better if you change it to systemd-boot|GRUB)

+

Systemd-boot (only for UEFI users)🔗

+

Check whether you have UEFI or BIOS.

+

🔗

+

I hate when I have only 5, 4, 3, 2, 1.... ****! seconds to choose the wanted OS. Haven't you changed it yet? If no, then it is a perfect time for it! Make your bootloader more comfortable.

+

🔗

+

Systemd-boot doesn't give you so many configurations as GRUB. But still, try to find out how to autoload another OS (a task with *) Useful site +Useful site

+

🔗

+

Switch to GRUB now (install grub, mount it, remove systemd-boot (REMEMBER THAT SOME COMMANDS YOU CAN EXECUTE ONLY FROM ROOT (sudo su)).

+

GRUB🔗

+

The same task to change your timer :) Remember what GRUB files you can edit and what you don't need to touch?

+

🔗

+

Find where GRUB add your Arch|Manjaro and Windows(another second OS) to the menu (do not change anything). It may help you if GRUB doesn't add all OS automatically and you need to do it by yourself. Big hint:

+
cd /etc/grub.d
+
+

Change your theme (task with *, for ones that will stay with GRUB).

+

🔗

+

If you are familiar with GRUB and want to do something harder then try to put a password on it :)

+

🔗

+

Hints BUT DO NOT USE Grub-customizer!!!

+

🔗

+

Change GRUB to systemd-boot (scroll to the bottom and do exactly like this guy)

+ + + +
+
+ + + + diff --git a/archive/2020_1/weeks/week7-partition-table/index.html b/archive/2020_1/weeks/week7-partition-table/index.html new file mode 100644 index 0000000..888efd3 --- /dev/null +++ b/archive/2020_1/weeks/week7-partition-table/index.html @@ -0,0 +1,434 @@ + + + + + Week 7 Homework + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 7 Homework

+

Partition table homework🔗

+

This homework won't be hard. So, what do you need to do:

+

Task 1 (preparation)🔗

+ +

Task 2🔗

+

All this things you should do on virtual machine, as you may damage your partition table!

+

You need to create a new GTP table and a number of partitions +You can use cfdisk or parted to do it. +Steps to do:

+ +

As result you should write short text about which commands you used, which menu opened etc. +Save this file as report_partitions.txt

+

Also, after your work you should take a screenshot of command fdisk -l that will show your work and save it as report_partitions.jpg

+ +

Cfdisk usage

+

parted documentation

+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week8/index.html b/archive/2020_1/weeks/week8/index.html new file mode 100644 index 0000000..5772dd9 --- /dev/null +++ b/archive/2020_1/weeks/week8/index.html @@ -0,0 +1,444 @@ + + + + + Week 8 Homework + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 8 Homework

+

Week 8: systemd, systemctl, rfkill, kernel options, etc.🔗

+

Presentation🔗

+

Homework🔗

+
    +
  1. Create unit that will get all messages from the last boot with errors/warning/debug to some log file. There should be a config file, where u state, which priority messages to save.
  2. +
+

Hint: Use journalctl and dmesg

+
    +
  1. +

    Rewrite hello_world unit from the lecture using the timer (If systemd refuses to start a unit each second, trigger it each 10 sec)

    +
  2. +
  3. +

    write a timer unit that clears all versions except for the last version of the package in pacman cache.

    +
  4. +
+

Hint: paccache

+

All details, like syntax for the config in 1) are up to you. (But bash for scripting is prefered) Just write good README with explanations. If you want to add some functionality, go ahead!

+

Useful links for the homework:

+ + + +

Questions?🔗

+

My telegram: @pavlohiley

+

think twice before writing -_-

+ +
+
+ + + + diff --git a/archive/2020_1/weeks/week8/materials/good_bye_world.sh b/archive/2020_1/weeks/week8/materials/good_bye_world.sh new file mode 100755 index 0000000..84400fb --- /dev/null +++ b/archive/2020_1/weeks/week8/materials/good_bye_world.sh @@ -0,0 +1,3 @@ +#!/bin/bash +# remember that on your device the path will be different +echo "Finished. Date: $(date)" >> /home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/materials/hello_world.log diff --git a/archive/2020_1/weeks/week8/materials/hello_world.log b/archive/2020_1/weeks/week8/materials/hello_world.log new file mode 100644 index 0000000..6cf294c --- /dev/null +++ b/archive/2020_1/weeks/week8/materials/hello_world.log @@ -0,0 +1,4 @@ +Started. Date: Sat Nov 7 21:21:38 EET 2020 +Finished. Date: Sat Nov 7 21:21:51 EET 2020 +Started. Date: Sat Nov 7 21:29:24 EET 2020 +Started. Date: Sat Nov 7 21:29:49 EET 2020 diff --git a/archive/2020_1/weeks/week8/materials/hello_world.service b/archive/2020_1/weeks/week8/materials/hello_world.service new file mode 100644 index 0000000..8b59f66 --- /dev/null +++ b/archive/2020_1/weeks/week8/materials/hello_world.service @@ -0,0 +1,14 @@ +[Unit] +Description=Stupid hello world unit +After=network.target + +[Service] +Type=simple +ExecStartPre=echo "I was born!" +ExecStart=/home/pasha/Documents/Linux_club/presentation/scripts/hello_world.sh +ExecStop=/home/pasha/Documents/Linux_club/presentation/scripts/good_bye_world.sh +User=pasha +Group=pasha + +[Install] +WantedBy=multi-user.target diff --git a/archive/2020_1/weeks/week8/materials/hello_world.sh b/archive/2020_1/weeks/week8/materials/hello_world.sh new file mode 100755 index 0000000..2466ad5 --- /dev/null +++ b/archive/2020_1/weeks/week8/materials/hello_world.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# remember that on your device path will be another +echo "Started. Date: $(date)" >> /home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/materials/hello_world.log +while true +do + echo "Hello, world" + sleep 1 +done diff --git a/archive/2020_1/weeks/week8/solutions/good_bye_world_1.sh b/archive/2020_1/weeks/week8/solutions/good_bye_world_1.sh new file mode 100755 index 0000000..c47032e --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/good_bye_world_1.sh @@ -0,0 +1,3 @@ +#!/bin/bash +# remember that on your device the path will be different +echo "Finished. Date: $(date)" >> /home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/hello_world.log diff --git a/archive/2020_1/weeks/week8/solutions/hello_world.log b/archive/2020_1/weeks/week8/solutions/hello_world.log new file mode 100644 index 0000000..cf5babb --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/hello_world.log @@ -0,0 +1,53 @@ +Started. Date: Tue Nov 10 10:50:22 EET 2020 +Started. Date: Tue Nov 10 10:55:25 EET 2020 +Finished. Date: Tue Nov 10 10:55:25 EET 2020 +Started. Date: Tue Nov 10 10:55:35 EET 2020 +Finished. Date: Tue Nov 10 10:55:35 EET 2020 +Started. Date: Tue Nov 10 10:55:45 EET 2020 +Finished. Date: Tue Nov 10 10:55:45 EET 2020 +Started. Date: Tue Nov 10 10:55:55 EET 2020 +Finished. Date: Tue Nov 10 10:55:55 EET 2020 +Started. Date: Tue Nov 10 10:56:05 EET 2020 +Finished. Date: Tue Nov 10 10:56:05 EET 2020 +Started. Date: Tue Nov 10 10:56:15 EET 2020 +Finished. Date: Tue Nov 10 10:56:15 EET 2020 +Started. Date: Tue Nov 10 10:56:25 EET 2020 +Finished. Date: Tue Nov 10 10:56:25 EET 2020 +Started. Date: Tue Nov 10 10:56:35 EET 2020 +Finished. Date: Tue Nov 10 10:56:35 EET 2020 +Started. Date: Tue Nov 10 10:56:45 EET 2020 +Finished. Date: Tue Nov 10 10:56:45 EET 2020 +Started. Date: Tue Nov 10 11:00:02 EET 2020 +Finished. Date: Tue Nov 10 11:00:02 EET 2020 +Started. Date: Tue Nov 10 11:00:12 EET 2020 +Finished. Date: Tue Nov 10 11:00:12 EET 2020 +Started. Date: Tue Nov 10 11:00:22 EET 2020 +Finished. Date: Tue Nov 10 11:00:22 EET 2020 +Started. Date: Tue Nov 10 11:00:32 EET 2020 +Finished. Date: Tue Nov 10 11:00:32 EET 2020 +Started. Date: Tue Nov 10 11:00:42 EET 2020 +Finished. Date: Tue Nov 10 11:00:42 EET 2020 +Started. Date: Tue Nov 10 11:00:52 EET 2020 +Finished. Date: Tue Nov 10 11:00:52 EET 2020 +Started. Date: Tue Nov 10 11:01:02 EET 2020 +Finished. Date: Tue Nov 10 11:01:02 EET 2020 +Started. Date: Tue Nov 10 11:01:12 EET 2020 +Finished. Date: Tue Nov 10 11:01:12 EET 2020 +Started. Date: Tue Nov 10 11:01:22 EET 2020 +Finished. Date: Tue Nov 10 11:01:22 EET 2020 +Started. Date: Tue Nov 10 11:01:32 EET 2020 +Finished. Date: Tue Nov 10 11:01:32 EET 2020 +Started. Date: Tue Nov 10 11:01:42 EET 2020 +Finished. Date: Tue Nov 10 11:01:42 EET 2020 +Started. Date: Tue Nov 10 11:01:52 EET 2020 +Finished. Date: Tue Nov 10 11:01:52 EET 2020 +Started. Date: Tue Nov 10 11:02:02 EET 2020 +Finished. Date: Tue Nov 10 11:02:02 EET 2020 +Started. Date: Tue Nov 10 11:02:12 EET 2020 +Finished. Date: Tue Nov 10 11:02:12 EET 2020 +Started. Date: Tue Nov 10 11:02:22 EET 2020 +Finished. Date: Tue Nov 10 11:02:22 EET 2020 +Started. Date: Tue Nov 10 11:02:32 EET 2020 +Finished. Date: Tue Nov 10 11:02:32 EET 2020 +Started. Date: Tue Nov 10 11:02:42 EET 2020 +Finished. Date: Tue Nov 10 11:02:42 EET 2020 diff --git a/archive/2020_1/weeks/week8/solutions/hello_world_1.sh b/archive/2020_1/weeks/week8/solutions/hello_world_1.sh new file mode 100755 index 0000000..2257eb6 --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/hello_world_1.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# remember that on your device the path will be different +echo "Started. Date: $(date)" >> /home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/hello_world.log +echo "Hello, world" diff --git a/archive/2020_1/weeks/week8/solutions/hello_world_with_timer.service b/archive/2020_1/weeks/week8/solutions/hello_world_with_timer.service new file mode 100644 index 0000000..881d132 --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/hello_world_with_timer.service @@ -0,0 +1,10 @@ +[Unit] +Description=Hello world service, that will be trigerred by timer +After=multi-user.target + +[Service] +Type=simple +ExecStart=/home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/hello_world_1.sh +ExecStop=/home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/good_bye_world_1.sh +User=pasha +Group=pasha diff --git a/archive/2020_1/weeks/week8/solutions/hello_world_with_timer.timer b/archive/2020_1/weeks/week8/solutions/hello_world_with_timer.timer new file mode 100644 index 0000000..253072c --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/hello_world_with_timer.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Timer for hello_world service that executes given program each 10 sec + +[Timer] +OnBootSec=1min +OnUnitActiveSec=10s +Persistent=true +AccuracySec=1us + +[Install] +WantedBy=timers.target diff --git a/archive/2020_1/weeks/week8/solutions/my_logs.logs b/archive/2020_1/weeks/week8/solutions/my_logs.logs new file mode 100644 index 0000000..23d5e8c --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/my_logs.logs @@ -0,0 +1,66 @@ +-- Journal begins at Wed 2020-09-16 13:12:17 EEST, ends at Mon 2021-01-18 01:08:55 EET. -- +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.XHC.RHUB.TPLD], AE_ALREADY_EXISTS (20200925/dswload2-326) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS01], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS02], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS03], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS04], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS05], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS06], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS07], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS08], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS09], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS10], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS11], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS12], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.HS13], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.XHC.RHUB.HS14._UPC], AE_ALREADY_EXISTS (20200925/dswload2-326) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.XHC.RHUB.HS14._PLD], AE_ALREADY_EXISTS (20200925/dswload2-326) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.USR1], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.USR2], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS01], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS02], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS03], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS04], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS05], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS06], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS07], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS08], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS09], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.XHC.RHUB.SS10], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.I2C2.TPD0], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.I2C3.TPL1], AE_NOT_FOUND (20200925/dswload2-162) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.PEG0.PEGP._ON], AE_ALREADY_EXISTS (20200925/dswload2-326) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.PEG0.PEGP._OFF], AE_ALREADY_EXISTS (20200925/dswload2-326) +Jan 17 23:48:25 userhost-pavlikgiley kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20200925/psobject-220) +Jan 17 23:48:26 userhost-pavlikgiley kernel: diff --git a/archive/2020_1/weeks/week8/solutions/my_logs.service b/archive/2020_1/weeks/week8/solutions/my_logs.service new file mode 100644 index 0000000..78fbc40 --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/my_logs.service @@ -0,0 +1,11 @@ +[Unit] +Description=Saves all logs from last boot in /home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/my_logs.log. You can specify logs priority in ~/.config/my_logs.conf + +[Service] +Type=simple +ExecStartPre=echo "Saving logs" +ExecStart=/home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/my_logs.sh +User=pasha +Group=pasha +[Install] +WantedBy=graphical.target diff --git a/archive/2020_1/weeks/week8/solutions/my_logs.sh b/archive/2020_1/weeks/week8/solutions/my_logs.sh new file mode 100755 index 0000000..7f74f42 --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/my_logs.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# remember that on your device the path will be different +LOGS_PATH=/home/pasha/Documents/Linux_club/UCU_Linux_Club/weeks/week8/solutions/my_logs.logs +CONF_PATH=~/.config/my_logs.conf +journalctl -b -x -p $(sed '2q;d' $CONF_PATH) > $LOGS_PATH +dmesg -d -l $(sed '3q;d' $CONF_PATH) >> $LOGS_PATH diff --git a/archive/2020_1/weeks/week8/solutions/paccache.service b/archive/2020_1/weeks/week8/solutions/paccache.service new file mode 100644 index 0000000..db28c3f --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/paccache.service @@ -0,0 +1,7 @@ +[Unit] +Description=Unit that will be executed each week. It will clean pacman cache +After=multi-user.target + +[Service] +Type=simple +ExecStart=paccache -r -v diff --git a/archive/2020_1/weeks/week8/solutions/paccache.timer b/archive/2020_1/weeks/week8/solutions/paccache.timer new file mode 100644 index 0000000..ee71f99 --- /dev/null +++ b/archive/2020_1/weeks/week8/solutions/paccache.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Clears cache each week + +[Timer] +OnCalendar=weekly +AccuracySec=1h +RandomizedDelaySec=2000 +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/archive/2020_1/weeks/week9-cheatsheet/index.html b/archive/2020_1/weeks/week9-cheatsheet/index.html new file mode 100644 index 0000000..4779952 --- /dev/null +++ b/archive/2020_1/weeks/week9-cheatsheet/index.html @@ -0,0 +1,489 @@ + + + + + Week 9 Cheatsheet + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 9 Cheatsheet

+

Compilation🔗

+

After setting up your IDE (VS Code, JetBrains CLion, Vim are among many +of the options available) and having your program ready, you have to compile it +(i.e. turn the text of the program into a machine code which your computer will +be able to run later).

+

This can be done like this, in your terminal:

+
gcc programname.c -o outputname
+
+

If there were errors or notes during the compilation process, the compiler +(here we are using the GCC compiler) will notify you. If the program compiled +correctly, you can later run the generated executable:

+
./outputname
+
+

General tutorial🔗

+

Code🔗

+

Code for execution goes into files with “.c” suffix. Shared decl’s +(included using #include “mylib.h”) in “header” files, end in “.h”

+

Comments🔗

+

Characters to the right of // are not interpreted; they’re a comment. +Text between /* and */ (possibly across lines) is commented out as well.

+

Data types🔗

+ +

char, int, and double are most frequently and easily used in small +programs.

+

sizeof(double) computes the size of a double in bytes.

+

Zero values represent logical false, nonzero values are logical true.

+

Functions🔗

+

A function is a pointer to some code, parameterized by formal parameters, +that may be executed by providing actual parameters. Functions must be +declared before they are used, but code may be provided later.

+

A sqrt function for positive n might be declared as:

+
int addNumbers(int a, int b)         // function definition with return type, name and parameters
+{
+    int result;
+    result = a+b;
+    return result;                  // return statement
+}
+Functions that do not return anything return `void`.
+There must always be a main function that returns an int:
+
+
int main() 
+{
+	return 0;
+}
+
+

Statements🔗

+

Angle brackets identify syntactic elements and don’t appear in real +statements

+
<expression> ; //semicolon indicates end of a simple statement  
+break; //quits the tightest loop or switch immediately  
+continue; //jumps to next loop test, skipping rest of loop body  
+return x; //quits this function, returns x as value  
+if (<condition>) <stmt>! //stmt executed if cond true (nonzero)  
+if (<condition>) <stmt> else <stmt> // two-way condition  
+while (<condition>) <stmt>    //repeatedly execute stmt only if condition true  
+do <stmt> while (<condition>); //note the semicolon, executes at least once
+for (<init>; <condition>; <step>) { <statements> }
+
+

Includes🔗

+

The homework requires you to include several header files with the needed functions:

+

I/O (#include <stdio.h>)🔗

+

Default input comes from “stdin”; output goes to “stdout”; errors to “stderr”. +Standard input and output routines are declared in stdio.h: #include <stdio.h>

+ +

Format specifiers: +%c - character +%d - decimal integer +%s - string +%f - float

+

MEMORY (#include <stdlib.h>)🔗

+ + +
+
+ + + + diff --git a/archive/2020_1/weeks/week9/index.html b/archive/2020_1/weeks/week9/index.html new file mode 100644 index 0000000..74640d6 --- /dev/null +++ b/archive/2020_1/weeks/week9/index.html @@ -0,0 +1,549 @@ + + + + + Week 9 Homework + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Week 9 Homework

+

There is a short introduction and cheat sheat available here, which explains +the basics of the C programming language and its compilation process on Linux.

+

Problem 1 (Mario)🔗

+

Let's recreate the pyramids from Super Mario in text:

+
     #
+    ##
+   ###
+  ####
+ #####
+######
+
+

So, the program should prompt the user to input the height of the pyramid +and then output the pyramid of the specified height:

+
$ ./mario
+Height: 6
+     #
+    ##
+   ###
+  ####
+ #####
+######
+
+

Other examples:

+
$ ./mario
+Height: 2
+ #
+##
+
+
$ ./mario
+Height: 1
+#
+
+

Problem 2🔗

+

Create a program that takes two integer numbers as an input from the user +(a ≤ b) and for every number in the interval [a; b] outputs:

+ +
$ ./interval
+Input a: 8
+Input b: 11
+
+eight
+nine
+even 
+odd
+
+

Other examples:

+
$ ./interval
+Input a: 13
+Input b: 15
+
+odd
+even
+odd
+
+
$ ./interval
+Input a: 1
+Input b: 4
+
+one
+two
+three
+four
+
+

Problem 3🔗

+

Develop a program which is going to output English text according to these rules:

+ +

For example, the message capital is an abstract parasite, an insatiable vampire and zombie maker; but the living flesh it converts into dead labor is ours, and the zombies it makes are us has a length of 134 symbols without +the whitespace, we can output it in a table 12 x 12.

+
capitalisan
+abstractpar
+asite,anins
+atiablevamp
+ireandzombi
+emaker;butt
+helivingfle
+shitconvert
+sintodeadla
+borisours,a
+ndthezombie
+sitmakesare
+us
+
+

You have to check whether rows × columns ≥ L and if there are several +possible rectangles choose the one with the smaller area.

+

Other examples:

+
$ ./table
+Input your text: it is time that lived moments replace the dead memory that has stamped acquaintance with the hidden restriction that nothing can ever be experienced.
+
+Characters total: 126
+Rows: 11
+Columns: 12
+
+itistimethat
+livedmoments
+replacethede
+admemorythat
+hasstampedac
+quaintancewi
+ththehiddenr
+estrictionth
+atnothingcan
+everbeexperi
+enced.
+
+

Problem 4🔗

+

Develop a program which, taking two integer arrays as its input will +create a new integer array. The new array consists of the digits of the sum of the original +two arrays' elements.

+

So, for the example if given two arrays {23, 5, 2, 7, 87} and {4, 67, 2, 8}, +the new array will look like this {2, 7, 7, 2, 4, 1, 5, 8, 7}.

+

If the array is empty, just consider the respective elements as zeros. +Then, if given two arrays { } and {4, 67, 3, 8} then the new array will look +like {4, 6, 7, 3, 8}.

+

An example usage:

+
$ ./arrays
+Input the length of the first array: 5
+Input the numbers: 5
+23
+5
+2
+7
+87
+
+Input the length of the second array: 5
+Input the numbers: 4
+4
+67
+2
+8
+
+The output array: 
+2 7 7 2 4 1 5 8 7
+
+ +
+
+ + + + diff --git a/archive/2020_2/index.html b/archive/2020_2/index.html new file mode 100644 index 0000000..c172f9a --- /dev/null +++ b/archive/2020_2/index.html @@ -0,0 +1,432 @@ + + + + + 2020/21 Second Semester + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

2020/21 Second Semester

+ + + + + +
+
+ + + + diff --git a/archive/2020_2/page/1/index.html b/archive/2020_2/page/1/index.html new file mode 100644 index 0000000..3bdba8c --- /dev/null +++ b/archive/2020_2/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/archive/2020_2/readme/index.html b/archive/2020_2/readme/index.html new file mode 100644 index 0000000..53a695f --- /dev/null +++ b/archive/2020_2/readme/index.html @@ -0,0 +1,502 @@ + + + + + LinuxClub@UCU - Second semester 2020/21 + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

LinuxClub@UCU - Second semester 2020/21

+

About us🔗

+

We are just a bunch of students from Ukrainian Catholic University passionate about +computing! We like to know how our system works under the hood, both because we +want to use all the resources we have at our disposal - the computing power, +useful abstractions and tools; and because we like to tinker with stuff. +And what's even better than knowing how to do magical things with your computer? +Letting others know they can do it too, which is why we are organizing this club - +an informal course for Ukrainian computer science students taught by students!

+

We are also huge supporters of the philosophy of open source and free software, +which is why we've chosen to call our club after the Linux operating system +(and why we're going to use it throughout our lectures), +and why we've decided to make this course public.

+

You can join us live - we have lectures each Wednesday 16:30 Kyiv time, or watch +our previous recorded lectures and read through lecture notes.

+

Pre-requirements:🔗

+ +

2020/21 Second Semester Schedule:🔗

+

(Previous semesters' resources are available in the archive)

+

Week 1 - Internet and Network Interfaces - +Zoom | +Lecture notes

+

Week 2.1 - Markup Languages (Latex, XML HTML, JSON, TOML) - +Zoom | +Lecture notes

+

Week 2.2 - Development Lifecycle and Licenses - +Zoom | +Lecture notes

+

Week 3 - Extended Git - +Zoom | +Lecture notes | +Recording

+

Week 4 - Extended Bash - +Zoom | +Lecture notes | +Recording

+

Week 5 - Logs and Debugging the System - +Zoom | +Lecture notes | +Recording

+

Week 6 - Rust #1 - +Zoom | +Lecture notes | +Recording

+

Week 7 - Rust #2 - +Zoom | +Lecture notes | +Recording

+

Week 8.1 - Extended Vim - +Zoom | +Recording

+

Week 8.2 - Ricing (System customization) - +Zoom | +Recording

+

Week 9 - Rust #3 - +Zoom | +Lecture notes | +Recording

+

Week 10 - Rust #4 - +Zoom | +Lecture notes | +Recording

+

Week 11 - SSH - +Zoom | +Lecture notes

+

Week 12 - Docker

+

Other resources:🔗

+ +

Homework🔗

+

Yeah, we don't like homework either, but practicing something yourself +is the best way to learn a new topic! Most of our lectures will provide +some kind of a home task for you to complete - both to remind yourself +what the lecture was about and to learn on your own.

+

You don't need to submit these homeworks, but if you want our feedback on +them to learn even more, here are a few simple steps for you to follow:

+ + +
+
+ + + + diff --git a/archive/index.html b/archive/index.html new file mode 100644 index 0000000..17fbf5f --- /dev/null +++ b/archive/index.html @@ -0,0 +1,432 @@ + + + + + Archive + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Archive

+ + + + + +
+
+ + + + diff --git a/archive/page/1/index.html b/archive/page/1/index.html new file mode 100644 index 0000000..e153bde --- /dev/null +++ b/archive/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/archive/readme/index.html b/archive/readme/index.html new file mode 100644 index 0000000..84be825 --- /dev/null +++ b/archive/readme/index.html @@ -0,0 +1,415 @@ + + + + + Archive + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Archive

+

Our previous semesters' lectures and materials are all available in the archive.

+

Note that first and second semesters are different and generally you have to complete +the first before going over to the second!

+ + +
+
+ + + + diff --git a/articles/arch-manual/bios.jpg b/articles/arch-manual/bios.jpg new file mode 100644 index 0000000..761dab3 Binary files /dev/null and b/articles/arch-manual/bios.jpg differ diff --git a/articles/arch-manual/cfdisk.png b/articles/arch-manual/cfdisk.png new file mode 100644 index 0000000..89ad7ff Binary files /dev/null and b/articles/arch-manual/cfdisk.png differ diff --git a/articles/arch-manual/efibootmgr.png b/articles/arch-manual/efibootmgr.png new file mode 100644 index 0000000..ab3319e Binary files /dev/null and b/articles/arch-manual/efibootmgr.png differ diff --git a/articles/arch-manual/efivar.png b/articles/arch-manual/efivar.png new file mode 100644 index 0000000..f9c1026 Binary files /dev/null and b/articles/arch-manual/efivar.png differ diff --git a/articles/arch-manual/etc_hosts.png b/articles/arch-manual/etc_hosts.png new file mode 100644 index 0000000..462f3a8 Binary files /dev/null and b/articles/arch-manual/etc_hosts.png differ diff --git a/articles/arch-manual/index.html b/articles/arch-manual/index.html new file mode 100644 index 0000000..03fc172 --- /dev/null +++ b/articles/arch-manual/index.html @@ -0,0 +1,633 @@ + + + + + Arch installation manual + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Arch installation manual

+

Installing Arch🔗

+

The basis for this tutorial is this one

+

Always keep tabs on this extended official tutorial.

+

Preparing🔗

+

For Linux users:🔗

+ +
$ sudo dd if=path_to_arch_image.iso of=/dev/sdX bs=4M
+
+

skip windows manual

+

For Windows users:🔗

+

First of all, install arch ISO on your USB stick. Here you can find an official image.

+

I recomend using RUFUS for proper image installation. Choose everything as you see on this photo: +

+

Important! all files from USB-stick will be deleted

+

Now go to the BIOS (press F2 or F8 or smth else on you laptop during booting), and choose UEFI mode and change boot order (make your USB first prior). result should be something like that:

+

+

Save changes and exit

+

Main part of installation🔗

+

Firstly check if you're loaded in EFI mode: efivar -l. The output should be like this: +

+

On some computers Wifi won't work without turning the module on with this command: rfkill unblock all

+

Now let's turn on Wifi. Firstly get name of your interface: ip link (it usually starts with 'w', i.e: 'wlan0') +Then activate the interface: ip link set interface_name up.

+

First method: iwctl

+
iwctl
+station interface_name scan
+station interface_name get-networks
+station interface_name connect network_name
+
+

Example of turning on wifi:

+

+

Check if internet works with ping google.com (should appear messages with '64 bytes' at the beginning, press CTRL+C to finish check)

+

Time synchronization: timedatectl set-ntp true

+

Now let's look at your previous boot records: efibootmgr and delete previous linux or some other stuff: efibootmgr -b X -B, where 'X' is number of stuff's boot

+

Here is how it should look like +

+

Now disk management: cfdisk. Here I delete everything from previous system and

+ +

Here, how it looks on my laptop: + +As you can see I have 64GB root (/dev/sda11), 33GB home (/dev/sda10) 20GB swap (/dev/sda5), and my boot is /dev/sda3. Remeber, that on your laptop/PC, there will be other partition numbers.

+

Now format partition and mount them. Root:

+
mkfs.ext4 /dev/sda{root number} -L "arch"
+mount /dev/sda{root number} /mnt
+
+

Boot:

+
mkdir -p /mnt/boot
+mkfs.fat -F32 /dev/sda{boot number}
+mount /dev/sda{boot number} /mnt/boot
+
+

Or just mount Windows EFI partition, if you didn't create new one

+
mount /dev/sda{windows boot number} /mnt/boot
+
+

Swap:

+
mkswap /dev/sda{swap num}
+swapon /dev/sda{swap num}
+
+

Home:

+
mkdir -p /mnt/home
+mkfs.ext4 /dev/sda{home number} -L "home"
+mount /dev/sda{home number} /mnt/home
+
+

Now let's update pacman: pacman -Syy

+

Install base system and packet for future AUR using: pacstrap /mnt base linux linux-firmware base-devel linux-headers

+

Generate fstab: genfstab -L /mnt >> /mnt/etc/fstab +Check if it is generated: nano /mnt/etc/fstab

+

Example fstab(don't forget to change filesystem UUIDs (you can find them in 'cfdisk')):

+
UUID=8d3f44f4-a017-4c76-9e66-dd5068dc5397	/         	ext4      	rw,relatime,discard	0 1
+
+UUID=2f671175-0fe6-472a-a4b0-1da5345f03e1	/home     	ext4      	rw,relatime,discard	0 2
+
+UUID=1892-CB1C      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro	0 2
+
+

!!IMPORTANT!! If you have SSD, than this is extremely important to automatically activate TRIM each time it's needed. This will save lifetime of your SSD. So please, add 'discard' option to mount points in fstab (as you can see in the example)

+

Now let's go in arch: arch-chroot /mnt

+

It is good idea to download an adequate text editor at the beggining: pacman -S vim

+

super short guide for vim:

+ +

Adjust locals: vim /etc/locale.gen and uncomment

+
en_US.UTF-8 UTF-8
+ru_RU.UTF-8 UTF-8
+uk_UA.UTF-8 UTF-8
+
+

Don't forget to save and actually generate the locales:

+
locale-gen
+
+

Adjust time zone and time:

+
ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
+hwclock --systohc
+
+

Adjust the name of the computer: vim /etc/hostname and write there "YOUR_HOSTNAME"

+

Adjust hosts: vim /etc/hosts and write there -"127.0.0.1 pavlik_giley.localdomain YOUR_USERNAME"- +DONT FORGET TO SAVE EVERYTHING

+

Password for root: passwd

+

Add new user: useradd -G wheel -s /bin/bash -m YOUR_USERNAME, and give him sudo permissions: vim /etc/sudoers +and uncomment %wheel ALL=(ALL) ALL

+

user's password: passwd YOUR_USERNAME

+

Download some potentially useful stuff: pacman -S efibootmgr iw wpa_supplicant dialog netctl dhcpcd iwd. +And more: pacman -S ntfs-3g mtools fuse2

+

Install bootloader: bootctl install

+

Loader config: vim /boot/loader/loader.conf

+

Example loader:

+
default arch
+timeout 2
+editor 0
+
+

(It will wait 2 seconds before running into default choice - arch, editor 0 means you can't change loader parameters during boot(this is for security))

+

Now it is vital to adjust kernel settings:

+
pacman -S intel-ucode
+vim /boot/loader/entries/arch.conf
+
+

Write here something like this (maybe you will need to change them in the future):

+
title Arch Linux
+linux /vmlinuz-linux
+initrd /intel-ucode.img
+initrd /initramfs-linux.img
+options root="LABEL=arch" rw
+
+

Now exit and umount all partition:

+
exit
+umount -R /mnt
+reboot
+
+

GNOME installation🔗

+

Install X: sudo pacman -S xorg-server xorg-xinit xorg-apps mesa-libgl xterm

+

Install graphic drivers:

+
sudo pacman -S xf86-video-intel
+sudo pacman -S nvidia #if you have nvidia GPU
+
+

Now install GNOME itself:

+
sudo pacman -Syu
+sudo pacman -S gnome
+systemctl enable NetworkManager
+systemctl enable gdm
+
+

Lenovo y530 (my laptop) can't render HDMI output with intel GPU, so if you want to use second monitor, read here +Also download prime-run (for running application with nvidia GPU(if you have nvidia): sudo pacman -S prime-run

+

You should be all set! Proceed to programs list, resources and useful links docs.

+

System customization and apps installation🔗

+

First of all set normal wallpalers, change touchpad sensitivity and other settings in GNOME

+

Python:

+
sudo pacman -S python-pip
+sudo pacman -S ipython
+
+

Battery optimization:

+
sudo pacman -S tlp
+sudo tlp start
+sudo systemctl enable tlp.service
+
+

It's a good idea to create new mirrorlist file for Pacman, if you from Ukraine, you can use this: (replace it in /etc/pacman.d/mirrorlist)

+
## Ukraine
+Server = http://archlinux.ip-connect.vn.ua/$repo/os/$arch
+Server = https://archlinux.ip-connect.vn.ua/$repo/os/$arch
+Server = http://mirror.mirohost.net/archlinux/$repo/os/$arch
+Server = https://mirror.mirohost.net/archlinux/$repo/os/$arch
+Server = http://mirrors.nix.org.ua/linux/archlinux/$repo/os/$arch
+Server = https://mirrors.nix.org.ua/linux/archlinux/$repo/os/$arch
+
+

Or use automated tool rankmirrors for ranking mirrors:

+
rankmirrors -n 0 /etc/pacman.d/mirrorlist
+
+

Terminal: sudo pacman -S terminology

+

git: sudo pacman -S git

+

yay: git clone https://aur.archlinux.org/yay.git; cd yay; makepkg -si

+

zsh installation and customization with oh my zsh:

+
cd ~
+sudo pacman -S zsh
+sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
+git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
+echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
+
+

Browser + telegram:

+
yay telegram-desktop
+yay firefox
+
+

Don't forget to sign in gmail, youtube, CMS, etc.

+

CUSTOMIZATION

+
sps gnome-tweaks
+
+

Download all extension and setup tweask as you like

+

Install VScode: yay visual-studio-code-insiders

+

Cion yay clion #chose just clion. Don't forget to activate licension and type path to compilers and debugger

+

Pycharm yay pycharm #choose community version Don't forget to install material theme and set 18's font

+

STM32. Install eveything except eclipse from this tutorial +After this download STM32CubeMX itself from official site +Then unzip script, give permissions to run it (chmod +x scriptname.sh) and run it with sudo

+

Then if you will have problems with debuggger run those commands:

+
cd /usr/lib
+sudo ln -s libncursesw.so.6.1 libncurses.so.5
+sudo ln -s libncursesw.so.6.1 libtinfo.so.5
+
+

Follow this tutorial to work with STM32 through CLion:

+

List of other apps I use:

+
    +
  1. Slack
  2. +
  3. IntellijIDEA (don't forget to get jdk)
  4. +
  5. AndroidStudio (+sdk +ndk)
  6. +
  7. zoom
  8. +
  9. Microsoft Teams ('teams' package in local repository)
  10. +
  11. clion-gui
  12. +
  13. LibreOffice
  14. +
+

Also it's quite useful to configurate your touchpad gestures with this application, if you're using xorg on gnome

+

Looks like that's it. Happy archlinux experience!

+ +
+
+ + + + diff --git a/articles/arch-manual/iwctl.jpg b/articles/arch-manual/iwctl.jpg new file mode 100644 index 0000000..d7d149a Binary files /dev/null and b/articles/arch-manual/iwctl.jpg differ diff --git a/articles/arch-manual/rufus.png b/articles/arch-manual/rufus.png new file mode 100644 index 0000000..db13809 Binary files /dev/null and b/articles/arch-manual/rufus.png differ diff --git a/articles/index.html b/articles/index.html new file mode 100644 index 0000000..8536153 --- /dev/null +++ b/articles/index.html @@ -0,0 +1,492 @@ + + + + + Our documents, manuals and articles: + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Our documents, manuals and articles:

+ + + + + +
+
+ + + + diff --git a/articles/manjaro-manual/index.html b/articles/manjaro-manual/index.html new file mode 100644 index 0000000..db3a5af --- /dev/null +++ b/articles/manjaro-manual/index.html @@ -0,0 +1,496 @@ + + + + + Manjaro installation manual + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Manjaro installation manual

+

Manjaro Installation Guide🔗

+

You'll need an Internet connection, laptop with some spare disk space, and a USB flash drive.

+
    +
  1. +

    Download Manjaro .iso file with desktop manager of your choosing (XFCE, KDE Plasma, GNOME)

    +
  2. +
  3. +

    Burn an .iso file to a USB drive:

    +
      +
    1. Windows +
        +
      1. Using rufus +
          +
        1. Download and install rufus.
        2. +
        3. Choose an .iso file and a USB drive, burn it and accept the 'format' dialog.
        4. +
        +
      2. +
      +
    2. +
    3. Linux +
        +
      1. CLI using dd +
          +
        1. Check the list of your drives using lsblk before inserting your USB and after, remember its name.
        2. +
        3. Run sudo dd bs=4M if=<iso_file> of=<device_name> conv=fdatasync status="progress". dd is a utility that allows to copy and move files, with if representing input file, and of - output file. bs represents the number of bytes to write at a time, and conv allows for safe finished file transfer.
        4. +
        +
      2. +
      3. Using etcher +
          +
        1. Choose the file to burn, choose the drive and let it do its job.
        2. +
        +
      4. +
      +
    4. +
    5. MacOS +
        +
      1. Have no idea. Is anyone using it anyway?
      2. +
      +
    6. +
    +
  4. +
  5. +

    Free up some space (can skip this step if you have an empty drive)

    +
  6. +
  7. +

    Create a new partition with all the free space (if you want to have a dual-boot)

    +
      +
    1. Shrink your Windows partition with the native 'Partition' app
    2. +
    +
  8. +
  9. +

    Install the operating system on the new partition

    +
      +
    1. +

      Turn your laptop off and insert the USB drive, enter BIOS mode (by repeatedly tapping esc or f1-f5 keys) and boot from the USB drive.

      +
    2. +
    3. +

      Press enter and wait for the system to load, open the install manager, select all the settings you require.

      +
    4. +
    5. +

      On the partitioning stage, choose manual partitioning and create a new GPT partition table, if needed. Afterwards, split the free space into:

      +
        +
      1. Create a boot/efi partition. File system: FAT32, Mount point: /boot/efi, Flags: boot, Size: 512mib
      2. +
      3. Create a root partition, all your main programs are going to be located here. File system: ext4, Mount point: /, Flags: none, Size: 20-30gb
      4. +
      5. Create a swap partition. File system: linuxswap, Flags: swap, Size: the same size as your RAM
      6. +
      7. Create a home partition. File system: ext4, Mount point: /home, Flags: none, Size: all the rest of the space, for a minimum of 20gb
      8. +
      +
    6. +
    7. +

      Choose next and proceed with the installation. After it asks to restart, accept and pull the USB drive out once your laptop turns off.

      +
    8. +
    9. +

      Install necessary packages for AUR usage

      +
    10. +
    +
    sudo pacman -Syy
    +sudo pacman -S fakeroot binutils patch
    +
    +
      +
    1. Update the system (we recommend you do that at least once a week)
    2. +
    +
    sudo pacman -Syu
    +
    +
      +
    1. You should be all set! Proceed to programs list, resources and useful links docs.
    2. +
    +
  10. +
+ +
+
+ + + + diff --git a/articles/manual/index.html b/articles/manual/index.html new file mode 100644 index 0000000..a697876 --- /dev/null +++ b/articles/manual/index.html @@ -0,0 +1,433 @@ + + + + + Linux installation manual + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Linux installation manual

+

If you want to know why we require you to have an Arch Linux-based system installed, read below. You can also skip right to our pages on Manjaro installation and Arch installation.

+

(Some of the terms below might be relatively new, we've emphasized them with italics, and we encourage you to read more about them! We will explain much more during the club itself, so don't fret)

+
    +
  1. +

    What's Linux?

    +

    Linux is a popular operating system (Windows or MacOS are some of the other OSs you might have heard about).

    +
  2. +
  3. +

    Why Linux?

    +

    Linux is open-source: all of its code is not only freely available for you to use and compile, but everyone is allowed to modify the source code and submit their changes! Linux allows for easy extension and customization, and is irreplaceable for developers that need any reasonable level of control over their system.

    +

    Windows and MacOS are not open-source, and are not at all easy to obtain and modify! They are mostly targeted at mass-market users and not experienced developers.

    +

    Over the course of the year you will gain familiarity with your operating system and will, little by little, understand what's actually happening under the hood of your computer, and be able to set it up just the way you want (and fix it, too)!

    +
  4. +
  5. +

    Why did we choose Arch Linux?

    +

    Linux is the kernel of the operating system (the kernel includes the most important things that are required for your computer to be able to boot and function correctly), but most people use various Linux distributions that are targeted at actual users: they also include some pre-installed software, graphical interfaces, package managers etc.

    +

    Arch Linux is one of the most popular Linux distributions that tries to Keep It Simple. It's extremely lightweight and flexible, and we believe that it allows for a great level of exposure to all the underlying operating system mechanisms and interfaces. It can be fairly difficult to install it the first time around though, so you might prefer Manjaro Linux - another distribution that is based on Arch.

    +
  6. +
  7. +

    What's the difference between Manjaro and Arch?

    +

    Manjaro comes with more pre-installed software and a graphical interface of your choosing (base Arch Linux is just a dark command line!), and will be easier to use if this is your first experience with Linux. Manjaro is based on Arch Linux, meaning it still has its package manager system, a minimal setup and easy configuration.

    +

    There are downsides, of course, a minimal Manjaro installation will require about 30Gb of disk space (Arch takes up around 7Gb) and might include some software you do not actually need. You will also not be able to see the naked and real process of the installation, instead prompted with simple questions on a GUI.

    +
  8. +
+

If this is your first time with Linux, we recommend you proceed to our Manjaro installation guide. If you already have some experience with it, or want to be challenged, see our Arch installation guide.

+ +
+
+ + + + diff --git a/articles/page/1/index.html b/articles/page/1/index.html new file mode 100644 index 0000000..fb0e490 --- /dev/null +++ b/articles/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/articles/programs/index.html b/articles/programs/index.html new file mode 100644 index 0000000..43bdf2f --- /dev/null +++ b/articles/programs/index.html @@ -0,0 +1,604 @@ + + + + + Useful programs list + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Useful programs list

+

Almost every program you'll ever need is available in AUR (using yay)

+

AUR package manager🔗

+ +
How to install Yay🔗
+

In the terminal emulator

+
sudo pacman -S git
+cd ~/Downloads
+git clone https://aur.archlinux.org/yay-bin.git
+cd yay-bin
+makepkg -si
+
+

Also, you need to add this to the end of pacman.conf file

+
sudo nvim /etc/pacman.conf
+
+
[archlinuxfr] </br>
+SigLevel = Never </br>
+Server = http://repo.archlinux.fr/$arch </br>
+
+
Install programs using yay🔗
+
yay 'program_name'
+
+

Install zsh instead of bash and make it default🔗

+
yay zsh
+chsh -s $(which zsh)
+
+

CLI programs (Command Line Interface)🔗

+

For zsh🔗

+ +

Terminal multiplexor🔗

+ +

Text editor🔗

+ +

File manager🔗

+ +

Video editors🔗

+ +

Browser🔗

+ +

File listers🔗

+ +

Changing directory🔗

+ +

System monitoring🔗

+ +

Image viewer🔗

+ +

Python interpreter🔗

+

Basic Python interpreter, called Cython (python3 in the terminal), +is good enough, but it is not very fast and does not have a lot of features

+ +

For git management🔗

+ +

For fun🔗

+ + +

Gnome Extensions🔗

+

Bluetoorh manager🔗

+ +

For photos view🔗

+ +

Video player🔗

+ +

Terminal emulator🔗

+ +

Browsers🔗

+ +

Torrent🔗

+ +

Notepad🔗

+ +

Markdown editor🔗

+ +

Document viewer🔗

+ +

Screenshot utility🔗

+ +

Graphical yay alternative🔗

+ +

3d modeler🔗

+ +

Photo editors🔗

+ +

File manager🔗

+ +

System monitoring🔗

+ +

Instead of Microsoft Word packet🔗

+ +

FTP cliente🔗

+ +

For astronomy🔗

+ +

For disks management🔗

+ + +
+
+ + + + diff --git a/articles/resources/index.html b/articles/resources/index.html new file mode 100644 index 0000000..4c00c68 --- /dev/null +++ b/articles/resources/index.html @@ -0,0 +1,436 @@ + + + + + Useful resources list + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Useful resources list

+

Useful resources🔗

+

GitHub🔗

+

Git is an open-source version control system that +was started by Linus Torvalds — the same person who created Linux. +GitHub.com — allows developers to store their git projects and +network with like-minded people.

+

Stack Overflow🔗

+

If you have some issues during the first year of writing the +code in any language, the solution is probably here. If there is +no solution, you are doing something wrong.

+

Arch wiki🔗

+

Arch wiki is a user portal for Arch-based systems with +a lot of manuals and documentation for every application.

+

Reddit🔗

+

The most popular forum where you can find +a lot of helpful stuff and discuss topics with other geeks.

+

Youtube🔗

+

Yes, you can find a lot of basic and intermediate tutorials +on Linux, Bash and other stuff on Youtube, it's not only for +casual stupid videos.

+

Vimgenius🔗

+

The course that I passed to learn Vim.

+

Unverified🔗

+

It's Foss🔗

+

Linuxjorney🔗

+

I don`t know, if it is good or bad resource, but it seems okay.

+

Linux-training🔗

+

Doesn't look great, but is useful anyway.

+ +
+
+ + + + diff --git a/articles/useful-links/index.html b/articles/useful-links/index.html new file mode 100644 index 0000000..7096bf4 --- /dev/null +++ b/articles/useful-links/index.html @@ -0,0 +1,430 @@ + + + + + Useful links + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

Useful links

+ +

Arch Linux installation🔗

+

Arch Linux itself is not very simple for beginners, but amazing +if you want to know the system better. Here are a few links where +you can read more about Arch Linux installation.

+

The most difficult stuff for the beginner is Arch installation and graphics. +The best manual for that is located on +Arch Wiki.

+

Graphincs installation and dual boot with Windows are covered in our Arch Installation tutorial

+

Articles & books🔗

+

How to find anything on the Internet🔗

+

What is GitHub🔗

+

What I learned from an old GitHub project that won 3,000 Stars in a Week🔗

+

Basic writing and formatting syntax🔗

+

How to write a great README🔗

+

Linux file system structure🔗

+

Python re(gex)?🔗

+

23 advanced commands for Bash🔗

+

Git Everyday🔗

+

Essays on programming I think about a lot🔗

+

Why or why do these nutheads use vi🔗

+

Everyone Who Tried to Convince Me to use Vim was Wrong🔗

+ +
+
+ + + + diff --git a/browserconfig.xml b/browserconfig.xml new file mode 100644 index 0000000..8316e6d --- /dev/null +++ b/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000..a0372c4 Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000..8537070 Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..84b8f0d Binary files /dev/null and b/favicon.ico differ diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..435a8bf Binary files /dev/null and b/icon.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..51df779 --- /dev/null +++ b/index.html @@ -0,0 +1,497 @@ + + + + + LinuxClub@UCU + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +

About Us

+

We are just a bunch of students from Ukrainian Catholic University passionate about +computing! We like to know how our system works under the hood, both because we +want to use all the resources we have at our disposal - the computing power, +useful abstractions and tools; and because we like to tinker with stuff. +And what's even better than knowing how to do magical things with your computer? +Letting others know they can do it too, which is why we are organizing this club - +an informal course for Ukrainian computer science students taught by students!

+

We are also huge supporters of the philosophy of open source and free software, +which is why we've chosen to call our club after the Linux operating system +(and why we're going to use it throughout our lectures), +and why we've decided to make this course public.

+

Join us live on Wednesday 16:50 Kyiv time at UCU Lectorium (K-016)!

+

Pre-requirements:

+ +

2023 Fall Semester Schedule:

+

(Previous semesters' resources are available in the archive)

+ +

Other resources:

+ +

Homework

+

Yeah, we don't like homework either, but practicing something yourself +is the best way to learn a new topic! Most of our lectures will provide +some kind of a home task for you to complete - both to remind yourself +what the lecture was about and to learn on your own.

+

You don't need to submit these homeworks, but if you want our feedback on +them to learn even more, here are a few simple steps for you to follow:

+ + + + +
+
+ + + + diff --git a/mstile-150x150.png b/mstile-150x150.png new file mode 100644 index 0000000..c7e31a4 Binary files /dev/null and b/mstile-150x150.png differ diff --git a/page/1/index.html b/page/1/index.html new file mode 100644 index 0000000..6d5f947 --- /dev/null +++ b/page/1/index.html @@ -0,0 +1,6 @@ + + + + +Redirect +

Click here to be redirected.

diff --git a/readme/index.html b/readme/index.html new file mode 100644 index 0000000..1d08b2c --- /dev/null +++ b/readme/index.html @@ -0,0 +1,511 @@ + + + + + About + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +
+

About

+

About Us

+

We are just a bunch of students from Ukrainian Catholic University passionate about +computing! We like to know how our system works under the hood, both because we +want to use all the resources we have at our disposal - the computing power, +useful abstractions and tools; and because we like to tinker with stuff. +And what's even better than knowing how to do magical things with your computer? +Letting others know they can do it too, which is why we are organizing this club - +an informal course for Ukrainian computer science students taught by students!

+

We are also huge supporters of the philosophy of open source and free software, +which is why we've chosen to call our club after the Linux operating system +(and why we're going to use it throughout our lectures), +and why we've decided to make this course public.

+

Join us live on Wednesday 16:50 Kyiv time at UCU Lectorium (K-016)!

+

Pre-requirements:

+
    +
  • An OK English level. If you've gotten this far, you're good to go!
  • +
  • Computer with an Internet connection.
  • +
  • If you want to follow our later lectures, you need to have an Arch Linux-based system installed - see a manual on how to set one up yourself.
  • +
  • Desire to learn!
  • +
+

2023 Fall Semester Schedule:

+

(Previous semesters' resources are available in the archive)

+
    +
  • +

    Week 0 - Intro and Club Presentation - Teodor Muzychuk

    +
  • +
  • +

    Week 1.1 (20.09) - Intro to Open Source - Teodor Muzychuk

    +
  • +
  • +

    Week 1.2 (20.09) - Package managers - Bohdan Ruban

    +
  • +
  • +

    Week 1.3 (sat 23.09 14:00 at Lectorium|IT space) - С++ Crash Course (recommended for 2nd year students) - Ostap Trush and Mykhailo Sobko

    +
  • +
  • +

    Week 2 (27.09) - CLI and Bash - Teodor Muzychuk

    +
  • +
  • +

    Week 3 (04.10) - Git and Github Workshop - Dmytro Shumshkyi

    +
  • +
  • +

    Week 4 (11.10) - Vim + tmux - Teodor Muzychuk

    +
  • +
  • +

    Week 5.1 (18.10) - Linux Filesystem Hierarchy - Ostap Trush

    +
  • +
  • +

    Week 5.2 (18.10) - Regular Expressions - Dmytro Shumskyi

    +
  • +
  • +

    Week 6 (25.10) - Partition Tables and Bootloaders - Roman Mutel

    +
  • +
  • +

    Week 7 (01.11) - Filesystems - Oleksii Hoyev

    +
  • +
  • +

    Week 8 (08.11) - SSH - Roman Mutel

    +
  • +
  • +

    Week 9 (15.11) - Kernel, Systemd, Utilities - Ostap Seryvko

    +
  • +
  • +

    Week 10 (22.11) - Graphics: DM, DE, WM, X.org, rice - Ostap Seryvko

    +
  • +
  • +

    Week 11 (29.11) - Internet Utilities and Features - Oleksii Hoyev

    +
  • +
+

Other resources:

+ +

Homework

+

Yeah, we don't like homework either, but practicing something yourself +is the best way to learn a new topic! Most of our lectures will provide +some kind of a home task for you to complete - both to remind yourself +what the lecture was about and to learn on your own.

+

You don't need to submit these homeworks, but if you want our feedback on +them to learn even more, here are a few simple steps for you to follow:

+
    +
  • Fork our repository
  • +
  • Watch the respective lecture on the topic
  • +
  • Work on this week's homework in ./homework
  • +
  • Submit a pull request into our original repository
  • +
  • Wait for us to check your homework and give you feedback
  • +
  • Done, congrats!
  • +
+ +
+ + +
+
+ + + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..a347d38 --- /dev/null +++ b/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Disallow: +Allow: / +Sitemap: https://ucu-computer-science.github.io/UCU_Linux_Club/sitemap.xml diff --git a/safari-pinned-tab.svg b/safari-pinned-tab.svg new file mode 100644 index 0000000..717222e --- /dev/null +++ b/safari-pinned-tab.svg @@ -0,0 +1,68 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + diff --git a/site.webmanifest b/site.webmanifest new file mode 100644 index 0000000..1edcfef --- /dev/null +++ b/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..aff4597 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,144 @@ + + + + https://ucu-computer-science.github.io/UCU_Linux_Club/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/page/1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/readme/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/page/1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/page/2/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week2-example-commands/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week2/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week4/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week5/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week6-cheatsheet/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week6/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week7-boot/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week7-partition-table/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week8/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week9-cheatsheet/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_1/weeks/week9/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_2/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_2/page/1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/2020_2/readme/ + 2021-08-06 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/page/1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/archive/readme/ + 2021-04-05 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/arch-manual/ + 2019-11-27 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/manjaro-manual/ + 2019-11-27 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/manual/ + 2021-04-24 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/page/1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/programs/ + 2019-11-27 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/resources/ + 2019-11-27 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/articles/useful-links/ + 2021-09-20 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/page/1/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/readme/ + 2023-09-20 + + + https://ucu-computer-science.github.io/UCU_Linux_Club/tags/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/tags/arch-linux/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/tags/installation/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/tags/list/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/tags/manjaro-linux/ + + + https://ucu-computer-science.github.io/UCU_Linux_Club/tags/manual/ + + diff --git a/tags/arch-linux/index.html b/tags/arch-linux/index.html new file mode 100644 index 0000000..cc2cfa7 --- /dev/null +++ b/tags/arch-linux/index.html @@ -0,0 +1,414 @@ + + + + + Arch Linux + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +

Тег: #Arch Linux

+ + +
+

+ 2019-11-27 - Arch installation manual +

+
+ + + +
+
+ + + + diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..dd293b9 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,426 @@ + + + + + Tags + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +
+
+ + + + diff --git a/tags/installation/index.html b/tags/installation/index.html new file mode 100644 index 0000000..84d9c28 --- /dev/null +++ b/tags/installation/index.html @@ -0,0 +1,426 @@ + + + + + Installation + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +

Тег: #Installation

+ + +
+

+ 2021-04-24 - Linux installation manual +

+
+ +
+

+ 2019-11-27 - Arch installation manual +

+
+ +
+

+ 2019-11-27 - Manjaro installation manual +

+
+ + + +
+
+ + + + diff --git a/tags/list/index.html b/tags/list/index.html new file mode 100644 index 0000000..61d91e1 --- /dev/null +++ b/tags/list/index.html @@ -0,0 +1,426 @@ + + + + + List + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +

Тег: #List

+ + +
+

+ 2021-09-20 - Useful links +

+
+ +
+

+ 2019-11-27 - Useful programs list +

+
+ +
+

+ 2019-11-27 - Useful resources list +

+
+ + + +
+
+ + + + diff --git a/tags/manjaro-linux/index.html b/tags/manjaro-linux/index.html new file mode 100644 index 0000000..366a38b --- /dev/null +++ b/tags/manjaro-linux/index.html @@ -0,0 +1,414 @@ + + + + + Manjaro Linux + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +

Тег: #Manjaro Linux

+ + +
+

+ 2019-11-27 - Manjaro installation manual +

+
+ + + +
+
+ + + + diff --git a/tags/manual/index.html b/tags/manual/index.html new file mode 100644 index 0000000..253bd99 --- /dev/null +++ b/tags/manual/index.html @@ -0,0 +1,432 @@ + + + + + Manual + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +

Тег: #Manual

+ + +
+

+ 2021-04-24 - Linux installation manual +

+
+ +
+

+ 2019-11-27 - Arch installation manual +

+
+ +
+

+ 2019-11-27 - Manjaro installation manual +

+
+ +
+

+ 2019-11-27 - Useful programs list +

+
+ + + +
+
+ + + +