When provisioning for a cruise, many cooks take on a new culinary personality. Let the rule be to bring on board, as closely as possible, the items you use in normal cooking ashore.
Basic items such as flour, oats, rice, and pasta can be bought in bulk. I've successfully stored and used these up to one year after purchase. I froze them for 24 hours before packing them on our boat, and packed them into HTH (chlorine) containers, well-washed, of course.
Vegetables that last a long time include butternut squash, potatoes, sweet potatoes, and onions. Be sure to remove them from plastic packets, and store them in an airy place onboard. Keep potatoes in a dark place to prevent sprouting.
Experiment with easy replacements for fresh bread, such as fritters (recipe follows), vetkoek (from our native South Africa) and scones. In South Africa, whenever you've run out of bread, vetkoeks are the answer (recipe follows). These are deep- or shallow-fried, drained, then split and filled with a mixture such as savory mince. For sweet vetkoek, you can add raisins, sugar, and spices.
Keep a supply of poppy, sesame, and sunflower seeds on hand. Add these to bread and fritter mixtures, salads, toppings, and use them as garnishes.
Too much fish? Dry some and make "fishtong." In South Africa we have a delicacy called "biltong" -- strips of seasoned and dried meat. We've found that "fishtong" comes pretty close in texture and flavor to beef biltong. The secret is to use red-fleshed fish such as tuna, skipjack, or bonito. We rig a line and use clothespins to attach the fish, putting a newspaper underneath to catch any drips. It's ready for savoring in two to three days (recipe follows).