Skip to main content

Resizing /root partition in Debian 7 (Wheezy)

I've usually been afraid to do anything drastic with the underlying filesystem because of how many times I've messed up the filesystem to begin with, and also because of how much time it takes to reinstall everything. This time, I decided that it was ok to go ahead and take a little risk here. My Linux machine is an old X61s, and its purpose is for me to experiment and learn more about Linux.

I started getting a message that I was running low on space on root. Sure enough, the 300MB was all used up. I was hoping that GPartEd could help me with resizing the partitions. I couldn't see the partitions because it was all under an lvm.

My plan was to shrink /opt slightly, then grow root. Thankfully, the formula isn't too bad, but there are a few steps.

The first link I resorted to was this one: http://blog.shadypixel.com/how-to-shrink-an-lvm-volume-safely/. I didn't reboot to resize /opt; I just resized it after unmounting it.

Unmount /opt:
  # umount /dev/chrono/opt

Check the file system consistency:
  # e2fsck -f /dev/chrono/opt

Resize the filesystem to less than my target volume size:
  # resize2fs /dev/chrono/opt 100G

Reduce the logical volume size:
  # lvreduce -L 120G /dev/chrono/opt

Grow the /opt filesystem to fill the volume:
  # resize2fs -p /dev/chrono/opt

So, that wasn't too bad... The next part was to extend the root volume. I rebooted using a live cd and then followed instructions from this link: http://www.radioprosciutto.com/node/7

Make sure we can access the volumes:
  # vgchange -a y

Grow the root logical volume:
  # lvextend -L +5G /dev/chrono/root

Check the file system consistency:
  # e2fsck -f /dev/chrono/root

Grow the filesystem to fill the volume:
  # resize2fs -p /dev/chrono/root

I rebooted and voila! My partitions were correctly resized. :)

Comments

Popular posts from this blog

Compiling pgmodeler on Yosemite (with Homebrew)

Refer to  pgmodeler installation . Steps: Clone the pgmodeler git repo. Use Homebrew to install qt5 (5.4.2, see here ), libxml2, and postgresql. Edit the pgmodeler.pri (not .pro) file and change these variables: PGSQL_LIB = /usr/local/opt/postgresql/lib/libpq.dylib PGSQL_INC = /usr/local/opt/postgresql/include XML_INC = /usr/local/opt/libxml2/include/libxml2 XML_LIB = /usr/local/opt/libxml2/lib/libxml2.dylib Follow instructions to compile pgmodeler (you might need to put Qt's binaries in your PATH. I was lazy and didn't). $ /usr/local/opt/qt5/bin/qmake pgmodeler.pro $ make $ make install $ cd /Applications $ /usr/local/opt/qt5/bin/macdeployqt pgmodeler.app -executable=pgmodeler.app/Contents/MacOS/pgmodeler-ch -executable=pgmodeler.app/Contents/MacOS/pgmodeler-cli Then I was able to do $ open pgmodeler.app

pgmodeler build in Debian Jessie

This is my qmake version: $ qmake -v QMake version 3.0 Using Qt version 5.3.2 in /usr/lib/x86_64-linux-gnu I had to edit linuxdeploy.sh: 1. Add "-makefile" to the QMAKE_ARGS variable: $ qmake -h Usage: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake [mode] [options] [files] where mode is either "-makefile" (default) or "-project" QMAKE_ARGS="-makefile -r -spec linux-clang" 2. Right before "Running qmake...", I added another line to include pgmodeler.pro in the qmake invocation: QMAKE_ARGS="$QMAKE_ARGS pgmodeler.pro" Then I ran ./linuxdeploy.sh -no-qt-libs (https://github.com/pgmodeler/pgmodeler/issues/674)

The end of summer

It's been a wild year. Gains and losses. COVID-19 and the shelter in place. Lately, fires. Today was a very dark day, literally. For about half the daylight hours, there was so much ash in the air that it looked like it was close to sunset, but it was definitely not anywhere near as beautiful. Red sun following us everywhere. Bubonic plague found on fleas in Lake Tahoe. The list goes on and on. Everyone is tired. Exhausted. Burnt out. There is no respite, just a new normal that seems like an even steeper climb than before. Sleep gives way to another day with no refreshment. Yes, that's how things seem. But there have also been bright moments. Time spent with family, especially with the little one. Growing and nurturing plants, building things, trying new recipes, going to the store to shop for dinner, reading books, coloring with crayons... We grow closer together, weaving together a blanket of love and memories that we wrap ourselves in.