<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux on Firas Sadiyah</title>
    <link>https://firas.phd/tags/linux/</link>
    <description>Recent content in Linux on Firas Sadiyah</description>
    <image>
      <title>Firas Sadiyah</title>
      <url>https://firas.phd/favicon.png</url>
      <link>https://firas.phd/favicon.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 11 Feb 2024 06:20:30 +0000</lastBuildDate>
    <atom:link href="https://firas.phd/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Running PyEnsembl on CentOS HPC</title>
      <link>https://firas.phd/posts/pyensembl_centos_setup/</link>
      <pubDate>Sun, 11 Feb 2024 12:00:00 +0000</pubDate>
      <guid>https://firas.phd/posts/pyensembl_centos_setup/</guid>
      <description>&lt;p&gt;Today, I am installing a Python package on one of the high-performance computing (HPC) systems that I work with. This CentOS 7 setup resembles a fortress, with its stringent security protocols, understandable due to hosting clinical data, but making it quite a challenge to install essential Python packages from public repositories.&lt;/p&gt;
&lt;p&gt;The package I&amp;rsquo;m attempting to install is &lt;code&gt;PyEnsembl&lt;/code&gt;, a handy tool for accessing Ensembl&amp;rsquo;s genetic information.&lt;/p&gt;
&lt;h2 id=&#34;pyensembl-setup&#34;&gt;PyEnsembl Setup&lt;/h2&gt;
&lt;p&gt;I started by creating a new conda environment:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu setup for data science</title>
      <link>https://firas.phd/posts/ubuntu_setup/</link>
      <pubDate>Sat, 16 Sep 2017 12:00:00 +0000</pubDate>
      <guid>https://firas.phd/posts/ubuntu_setup/</guid>
      <description>&lt;p&gt;This posts shows how I setup a new Ubuntu for Data Science.&lt;/p&gt;
&lt;h3 id=&#34;update-ubuntu&#34;&gt;Update Ubuntu&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;configure-apt&#34;&gt;Configure apt&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s always a good idea to check the baseline setup. So, let&amp;rsquo;s check the current apt keys.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-key list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then, let&amp;rsquo;s check the sources.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;cat /etc/apt/sources.list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /etc/apt/sources.list.d/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And finally, let&amp;rsquo;s check the users and group.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;cut -d: -f1 /etc/passwd &lt;span class=&#34;c1&#34;&gt;# will list all local users&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;cat /etc/passwd &lt;span class=&#34;c1&#34;&gt;# will list all local users with groups and other properties&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;getent passwd &lt;span class=&#34;c1&#34;&gt;# same as above&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;cut -d: -f1 /etc/group &lt;span class=&#34;c1&#34;&gt;# will list all local groups&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;cat /etc/group &lt;span class=&#34;c1&#34;&gt;# will list all local groups&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;id -Gn
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 8&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;groups
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 9&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;getent group groupname &lt;span class=&#34;c1&#34;&gt;# will list all members of groupaname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;id username &lt;span class=&#34;c1&#34;&gt;# will list all the groups a particular username belongs to&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;configure-unity&#34;&gt;Configure Unity&lt;/h3&gt;
&lt;p&gt;To get minimise window on clicking its icon:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mounting remote drives locally using sshfs</title>
      <link>https://firas.phd/posts/macos_sshfs/</link>
      <pubDate>Tue, 29 Aug 2017 12:00:00 +0000</pubDate>
      <guid>https://firas.phd/posts/macos_sshfs/</guid>
      <description>&lt;p&gt;To mount a network drive as a local one, you can use sshfs.&lt;/p&gt;
&lt;h3 id=&#34;generate-ssh-key&#34;&gt;Generate SSH key&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ mkdir ~/.ssh &lt;span class=&#34;c1&#34;&gt;#if it does not already exist&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ chmod &lt;span class=&#34;m&#34;&gt;700&lt;/span&gt; ~/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ ssh-keygen -t rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ enter a keyname
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ enter a passphrase
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;$ ssh-copy-id -i &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;path to rsa file&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; USER@SERVER
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where &lt;code&gt;-i&lt;/code&gt; indicates where the rsa file is located. The .pub key is the one needed to be copied.&lt;/p&gt;
&lt;p&gt;[Optional] Start a SSH agent, and add the key to the SSH agent:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
